2
0

ZendMonitorHandlerTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php declare(strict_types=1);
  2. /*
  3. * This file is part of the Monolog package.
  4. *
  5. * (c) Jordi Boggiano <j.boggiano@seld.be>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Monolog\Handler;
  11. use Monolog\Test\TestCase;
  12. use Monolog\Logger;
  13. class ZendMonitorHandlerTest extends TestCase
  14. {
  15. protected $zendMonitorHandler;
  16. public function setUp(): void
  17. {
  18. if (!function_exists('zend_monitor_custom_event')) {
  19. $this->markTestSkipped('ZendServer is not installed');
  20. }
  21. }
  22. public function tearDown(): void
  23. {
  24. parent::tearDown();
  25. unset($this->zendMonitorHandler);
  26. }
  27. /**
  28. * @covers Monolog\Handler\ZendMonitorHandler::write
  29. */
  30. public function testWrite()
  31. {
  32. $record = $this->getRecord();
  33. $formatterResult = [
  34. 'message' => $record['message'],
  35. ];
  36. $zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler')
  37. ->onlyMethods(['writeZendMonitorCustomEvent', 'getDefaultFormatter'])
  38. ->getMock();
  39. $formatterMock = $this->getMockBuilder('Monolog\Formatter\NormalizerFormatter')
  40. ->disableOriginalConstructor()
  41. ->getMock();
  42. $formatterMock->expects($this->once())
  43. ->method('format')
  44. ->will($this->returnValue($formatterResult));
  45. $zendMonitor->expects($this->once())
  46. ->method('getDefaultFormatter')
  47. ->will($this->returnValue($formatterMock));
  48. $levelMap = $zendMonitor->getLevelMap();
  49. $zendMonitor->expects($this->once())
  50. ->method('writeZendMonitorCustomEvent')
  51. ->with(
  52. Logger::getLevelName($record['level']),
  53. $record['message'],
  54. $formatterResult,
  55. $levelMap[$record['level']]
  56. );
  57. $zendMonitor->handle($record);
  58. }
  59. /**
  60. * @covers Monolog\Handler\ZendMonitorHandler::getDefaultFormatter
  61. */
  62. public function testGetDefaultFormatterReturnsNormalizerFormatter()
  63. {
  64. $zendMonitor = new ZendMonitorHandler();
  65. $this->assertInstanceOf('Monolog\Formatter\NormalizerFormatter', $zendMonitor->getDefaultFormatter());
  66. }
  67. }