LoggerTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Payment\Test\Unit\Model\Method;
  7. use Magento\Payment\Model\Method\Logger;
  8. use Psr\Log\LoggerInterface;
  9. class LoggerTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /** @var Logger | \PHPUnit_Framework_MockObject_MockObject */
  12. private $logger;
  13. /** @var LoggerInterface | \PHPUnit_Framework_MockObject_MockObject */
  14. private $loggerMock;
  15. protected function setUp()
  16. {
  17. $this->loggerMock = $this->getMockForAbstractClass(\Psr\Log\LoggerInterface::class);
  18. $this->logger = new Logger($this->loggerMock);
  19. }
  20. public function testDebugOn()
  21. {
  22. $debugData =
  23. [
  24. 'request' => ['masked' => '123', 'unmasked' => '123']
  25. ];
  26. $expectedDebugData =
  27. [
  28. 'request' => ['masked' => Logger::DEBUG_KEYS_MASK, 'unmasked' => '123']
  29. ];
  30. $debugReplaceKeys =
  31. [
  32. 'masked'
  33. ];
  34. $this->loggerMock->expects($this->once())
  35. ->method('debug')
  36. ->with(var_export($expectedDebugData, true));
  37. $this->logger->debug($debugData, $debugReplaceKeys, true);
  38. }
  39. public function testDebugOnNoReplaceKeys()
  40. {
  41. $debugData =
  42. [
  43. 'request' => ['data1' => '123', 'data2' => '123']
  44. ];
  45. $this->loggerMock->expects(static::once())
  46. ->method('debug')
  47. ->with(var_export($debugData, true));
  48. $this->logger->debug($debugData, [], true);
  49. }
  50. public function testDebugOff()
  51. {
  52. $debugData =
  53. [
  54. 'request' => ['masked' => '123', 'unmasked' => '123']
  55. ];
  56. $debugReplaceKeys =
  57. [
  58. 'masked'
  59. ];
  60. $this->loggerMock->expects($this->never())
  61. ->method('debug');
  62. $this->logger->debug($debugData, $debugReplaceKeys, false);
  63. }
  64. }