ZendMonitorHandlerTest.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  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\Logger;
  12. use Monolog\TestCase;
  13. class ZendMonitorHandlerTest extends TestCase
  14. {
  15. protected $zendMonitorHandler;
  16. public function setUp()
  17. {
  18. if (!function_exists('zend_monitor_custom_event')) {
  19. $this->markTestSkipped('ZendServer is not installed');
  20. }
  21. }
  22. /**
  23. * @covers \Monolog\Handler\ZendMonitor::__construct
  24. * @covers \Monolog\Handler\ZendMonitor::isZendServer
  25. */
  26. public function testIsZendServerReturnsTrue()
  27. {
  28. $zendMonitor = new ZendMonitorHandler();
  29. $this->assertTrue($zendMonitor->isZendServer());
  30. }
  31. /**
  32. * @covers \Monolog\Handler\ZendMonitor::write
  33. */
  34. public function testWrite()
  35. {
  36. $record = $this->getRecord();
  37. $formatterResult = array(
  38. 'message' => $record['message']
  39. );
  40. $zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler')
  41. ->setMethods(array('writeZendMonitorCustomEvent', 'getDefaultFormatter'))
  42. ->getMock();
  43. $formatterMock = $this->getMockBuilder('Monolog\Formatter\NormalizerFormatter')
  44. ->disableOriginalConstructor()
  45. ->getMock();
  46. $formatterMock->expects($this->once())
  47. ->method('format')
  48. ->will($this->returnValue($formatterResult));
  49. $zendMonitor->expects($this->once())
  50. ->method('getDefaultFormatter')
  51. ->will($this->returnValue($formatterMock));
  52. $levelMap = $zendMonitor->getLevelMap();
  53. $zendMonitor->expects($this->once())
  54. ->method('writeZendMonitorCustomEvent')
  55. ->with($levelMap[$record['level']], $record['message'], $formatterResult);
  56. $zendMonitor->handle($record);
  57. }
  58. public function testGetDefaultFormatterReturnsNormalizerFormatter()
  59. {
  60. $zendMonitor = new ZendMonitorHandler();
  61. $this->assertInstanceOf('Monolog\Formatter\NormalizerFormatter', $zendMonitor->getDefaultFormatter());
  62. }
  63. }