scratch – Blame information for rev

Subversion Repositories:
Rev:
Rev Author Line No. Line
115 office 1 <?php
2  
3 /*
4 * This file is part of the Monolog package.
5 *
6 * (c) Jordi Boggiano <j.boggiano@seld.be>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11  
12 namespace Monolog\Handler;
13  
14 use Gelf\Message;
15 use Monolog\TestCase;
16 use Monolog\Logger;
17 use Monolog\Formatter\GelfMessageFormatter;
18  
19 class GelfHandlerLegacyTest extends TestCase
20 {
21 public function setUp()
22 {
23 if (!class_exists('Gelf\MessagePublisher') || !class_exists('Gelf\Message')) {
24 $this->markTestSkipped("mlehner/gelf-php not installed");
25 }
26  
27 require_once __DIR__ . '/GelfMockMessagePublisher.php';
28 }
29  
30 /**
31 * @covers Monolog\Handler\GelfHandler::__construct
32 */
33 public function testConstruct()
34 {
35 $handler = new GelfHandler($this->getMessagePublisher());
36 $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler);
37 }
38  
39 protected function getHandler($messagePublisher)
40 {
41 $handler = new GelfHandler($messagePublisher);
42  
43 return $handler;
44 }
45  
46 protected function getMessagePublisher()
47 {
48 return new GelfMockMessagePublisher('localhost');
49 }
50  
51 public function testDebug()
52 {
53 $messagePublisher = $this->getMessagePublisher();
54 $handler = $this->getHandler($messagePublisher);
55  
56 $record = $this->getRecord(Logger::DEBUG, "A test debug message");
57 $handler->handle($record);
58  
59 $this->assertEquals(7, $messagePublisher->lastMessage->getLevel());
60 $this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
61 $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
62 $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage());
63 }
64  
65 public function testWarning()
66 {
67 $messagePublisher = $this->getMessagePublisher();
68 $handler = $this->getHandler($messagePublisher);
69  
70 $record = $this->getRecord(Logger::WARNING, "A test warning message");
71 $handler->handle($record);
72  
73 $this->assertEquals(4, $messagePublisher->lastMessage->getLevel());
74 $this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
75 $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
76 $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage());
77 }
78  
79 public function testInjectedGelfMessageFormatter()
80 {
81 $messagePublisher = $this->getMessagePublisher();
82 $handler = $this->getHandler($messagePublisher);
83  
84 $handler->setFormatter(new GelfMessageFormatter('mysystem', 'EXT', 'CTX'));
85  
86 $record = $this->getRecord(Logger::WARNING, "A test warning message");
87 $record['extra']['blarg'] = 'yep';
88 $record['context']['from'] = 'logger';
89 $handler->handle($record);
90  
91 $this->assertEquals('mysystem', $messagePublisher->lastMessage->getHost());
92 $this->assertArrayHasKey('_EXTblarg', $messagePublisher->lastMessage->toArray());
93 $this->assertArrayHasKey('_CTXfrom', $messagePublisher->lastMessage->toArray());
94 }
95 }