* * 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 DoctrineCouchDBHandlerTest extends TestCase { protected function setup() { if (!class_exists('Doctrine\CouchDB\CouchDBClient')) { $this->markTestSkipped('The "doctrine/couchdb" package is not installed'); } } public function testHandle() { $client = $this->getMockBuilder('Doctrine\\CouchDB\\CouchDBClient') ->setMethods(array('postDocument')) ->disableOriginalConstructor() ->getMock(); $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(), ); $client->expects($this->once()) ->method('postDocument') ->with($expected); $handler = new DoctrineCouchDBHandler($client); $handler->handle($record); } }