/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php |
@@ -0,0 +1,79 @@ |
<?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\Formatter; |
|
use Monolog\Logger; |
|
class ElasticaFormatterTest extends \PHPUnit_Framework_TestCase |
{ |
public function setUp() |
{ |
if (!class_exists("Elastica\Document")) { |
$this->markTestSkipped("ruflin/elastica not installed"); |
} |
} |
|
/** |
* @covers Monolog\Formatter\ElasticaFormatter::__construct |
* @covers Monolog\Formatter\ElasticaFormatter::format |
* @covers Monolog\Formatter\ElasticaFormatter::getDocument |
*/ |
public function testFormat() |
{ |
// test log message |
$msg = array( |
'level' => Logger::ERROR, |
'level_name' => 'ERROR', |
'channel' => 'meh', |
'context' => array('foo' => 7, 'bar', 'class' => new \stdClass), |
'datetime' => new \DateTime("@0"), |
'extra' => array(), |
'message' => 'log', |
); |
|
// expected values |
$expected = $msg; |
$expected['datetime'] = '1970-01-01T00:00:00.000000+00:00'; |
$expected['context'] = array( |
'class' => '[object] (stdClass: {})', |
'foo' => 7, |
0 => 'bar', |
); |
|
// format log message |
$formatter = new ElasticaFormatter('my_index', 'doc_type'); |
$doc = $formatter->format($msg); |
$this->assertInstanceOf('Elastica\Document', $doc); |
|
// Document parameters |
$params = $doc->getParams(); |
$this->assertEquals('my_index', $params['_index']); |
$this->assertEquals('doc_type', $params['_type']); |
|
// Document data values |
$data = $doc->getData(); |
foreach (array_keys($expected) as $key) { |
$this->assertEquals($expected[$key], $data[$key]); |
} |
} |
|
/** |
* @covers Monolog\Formatter\ElasticaFormatter::getIndex |
* @covers Monolog\Formatter\ElasticaFormatter::getType |
*/ |
public function testGetters() |
{ |
$formatter = new ElasticaFormatter('my_index', 'doc_type'); |
$this->assertEquals('my_index', $formatter->getIndex()); |
$this->assertEquals('doc_type', $formatter->getType()); |
} |
} |