scratch – Blame information for rev

Subversion Repositories:
Rev:
Rev Author Line No. Line
115 office 1 <?php
2  
3 /*
4 * This file is part of the Monolog package.
5 *
6 * (c) Jordi Boggiano <j.boggiano@seld.be>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11  
12 namespace Monolog\Formatter;
13  
14 use Monolog\Logger;
15  
16 class ElasticaFormatterTest extends \PHPUnit_Framework_TestCase
17 {
18 public function setUp()
19 {
20 if (!class_exists("Elastica\Document")) {
21 $this->markTestSkipped("ruflin/elastica not installed");
22 }
23 }
24  
25 /**
26 * @covers Monolog\Formatter\ElasticaFormatter::__construct
27 * @covers Monolog\Formatter\ElasticaFormatter::format
28 * @covers Monolog\Formatter\ElasticaFormatter::getDocument
29 */
30 public function testFormat()
31 {
32 // test log message
33 $msg = array(
34 'level' => Logger::ERROR,
35 'level_name' => 'ERROR',
36 'channel' => 'meh',
37 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
38 'datetime' => new \DateTime("@0"),
39 'extra' => array(),
40 'message' => 'log',
41 );
42  
43 // expected values
44 $expected = $msg;
45 $expected['datetime'] = '1970-01-01T00:00:00.000000+00:00';
46 $expected['context'] = array(
47 'class' => '[object] (stdClass: {})',
48 'foo' => 7,
49  
50 );
51  
52 // format log message
53 $formatter = new ElasticaFormatter('my_index', 'doc_type');
54 $doc = $formatter->format($msg);
55 $this->assertInstanceOf('Elastica\Document', $doc);
56  
57 // Document parameters
58 $params = $doc->getParams();
59 $this->assertEquals('my_index', $params['_index']);
60 $this->assertEquals('doc_type', $params['_type']);
61  
62 // Document data values
63 $data = $doc->getData();
64 foreach (array_keys($expected) as $key) {
65 $this->assertEquals($expected[$key], $data[$key]);
66 }
67 }
68  
69 /**
70 * @covers Monolog\Formatter\ElasticaFormatter::getIndex
71 * @covers Monolog\Formatter\ElasticaFormatter::getType
72 */
73 public function testGetters()
74 {
75 $formatter = new ElasticaFormatter('my_index', 'doc_type');
76 $this->assertEquals('my_index', $formatter->getIndex());
77 $this->assertEquals('doc_type', $formatter->getType());
78 }
79 }