1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-03 19:57:41 +02:00

Test using a MockMessagePublisher

This commit is contained in:
Marc Abramowitz
2012-04-06 08:30:26 -07:00
parent 14ac76a0ae
commit bd28443b73

View File

@@ -14,6 +14,16 @@ namespace Monolog\Handler;
use Monolog\TestCase; use Monolog\TestCase;
use Monolog\Logger; use Monolog\Logger;
use Gelf\MessagePublisher; use Gelf\MessagePublisher;
use Gelf\Message;
class MockMessagePublisher extends MessagePublisher
{
public function publish(Message $message) {
$this->lastMessage = $message;
}
public $lastMessage = null;
}
class GelfHandlerTest extends TestCase class GelfHandlerTest extends TestCase
{ {
@@ -34,16 +44,43 @@ class GelfHandlerTest extends TestCase
$this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler); $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler);
} }
protected function getMessagePublisher() protected function getHandler($messagePublisher)
{ {
return new MessagePublisher('localhost'); $handler = new GelfHandler($messagePublisher);
$handler->setFormatter($this->getIdentityFormatter());
return $handler;
} }
public function testStuff() protected function getMessagePublisher()
{ {
$handler = new GelfHandler($this->getMessagePublisher()); return new MockMessagePublisher('localhost');
$handler->setFormatter($this->getIdentityFormatter()); }
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::WARNING)); public function testDebug()
{
$messagePublisher = $this->getMessagePublisher();
$handler = $this->getHandler($messagePublisher);
$record = $this->getRecord(Logger::DEBUG, "A test debug message");
$handler->handle($record);
$this->assertEquals(7, $messagePublisher->lastMessage->getLevel());
$this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
$this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
$this->assertEquals($record['message'], $messagePublisher->lastMessage->getFullMessage());
}
public function testWarning()
{
$messagePublisher = $this->getMessagePublisher();
$handler = $this->getHandler($messagePublisher);
$record = $this->getRecord(Logger::WARNING, "A test warning message");
$handler->handle($record);
$this->assertEquals(4, $messagePublisher->lastMessage->getLevel());
$this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
$this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
$this->assertEquals($record['message'], $messagePublisher->lastMessage->getFullMessage());
} }
} }