Вход Регистрация
Файл: gapps/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php
Строк: 51
<?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 MonologFormatter;

use 
MonologLogger;

class 
ElasticaFormatterTest extends PHPUnit_Framework_TestCase
{
    public function 
setUp()
    {
        if (!
class_exists("ElasticaDocument")) {
            
$this->markTestSkipped("ruflin/elastica not installed");
        }
    }

    
/**
     * @covers MonologFormatterElasticaFormatter::__construct
     * @covers MonologFormatterElasticaFormatter::format
     * @covers MonologFormatterElasticaFormatter::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,
            
=> 'bar',
        );

        
// format log message
        
$formatter = new ElasticaFormatter('my_index''doc_type');
        
$doc $formatter->format($msg);
        
$this->assertInstanceOf('ElasticaDocument'$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 MonologFormatterElasticaFormatter::getIndex
     * @covers MonologFormatterElasticaFormatter::getType
     */
    
public function testGetters()
    {
        
$formatter = new ElasticaFormatter('my_index''doc_type');
        
$this->assertEquals('my_index'$formatter->getIndex());
        
$this->assertEquals('doc_type'$formatter->getType());
    }
}
Онлайн: 2
Реклама