1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-07-31 18:30:15 +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\Logger;
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
{
@@ -34,16 +44,43 @@ class GelfHandlerTest extends TestCase
$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());
$handler->setFormatter($this->getIdentityFormatter());
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::WARNING));
return new MockMessagePublisher('localhost');
}
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());
}
}