mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-14 00:54:01 +02:00
Fix up mongo db handler and add tests
This commit is contained in:
54
tests/Monolog/Handler/MongoDBHandlerTest.php
Normal file
54
tests/Monolog/Handler/MongoDBHandlerTest.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Monolog package.
|
||||
*
|
||||
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Monolog\Handler;
|
||||
|
||||
use Monolog\TestCase;
|
||||
use Monolog\Logger;
|
||||
|
||||
class MongoDBHandlerTest extends TestCase
|
||||
{
|
||||
public function testHandle()
|
||||
{
|
||||
$mongo = $this->getMock('Mongo', array('selectCollection'));
|
||||
$collection = $this->getMock('stdClass', array('save'));
|
||||
|
||||
$mongo->expects($this->once())
|
||||
->method('selectCollection')
|
||||
->with('DB', 'Collection')
|
||||
->will($this->returnValue($collection));
|
||||
|
||||
$record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
|
||||
|
||||
$expected = array(
|
||||
'message' => 'test',
|
||||
'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34),
|
||||
'level' => Logger::WARNING,
|
||||
'level_name' => 'WARNING',
|
||||
'channel' => 'test',
|
||||
'datetime' => $record['datetime']->format('Y-m-d H:i:s'),
|
||||
'extra' => array(),
|
||||
);
|
||||
|
||||
$collection->expects($this->once())
|
||||
->method('save')
|
||||
->with($expected);
|
||||
|
||||
$handler = new MongoDBHandler($mongo, 'DB', 'Collection');
|
||||
$handler->handle($record);
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Mongo')) {
|
||||
class Mongo {
|
||||
public function selectCollection() {}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user