ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ElasticaFormatterTest.php
Go to the documentation of this file.
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 
17 {
18  public function setUp()
19  {
20  if (!class_exists("Elastica\Document")) {
21  $this->markTestSkipped("ruflin/elastica not installed");
22  }
23  }
24 
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  0 => 'bar',
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 
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 }
const ERROR
Runtime errors.
Definition: Logger.php:57
testFormat()
Monolog::__construct Monologformat Monolog::getDocument
Create styles array
The data for the language used.
Format a log message into an Elastica Document.
testGetters()
Monolog::getIndex Monolog::getType
$params
Definition: example_049.php:96