Skip to content

Commit

Permalink
Changed DummyLogger in favor of ArrayLogger
Browse files Browse the repository at this point in the history
  • Loading branch information
ezimuel committed Sep 19, 2019
1 parent 98c336b commit f22755b
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 60 deletions.
57 changes: 57 additions & 0 deletions tests/Elasticsearch/Tests/ClientBuilder/ArrayLogger.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?php
declare(strict_types = 1);

namespace Elasticsearch\Tests\ClientBuilder;

use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;

class ArrayLogger implements LoggerInterface
{
public $output = [];

public function emergency($message, array $context = array())
{
$this->log(LogLevel::EMERGENCY, $message, $context);
}

public function alert($message, array $context = array())
{
$this->log(LogLevel::ALERT, $message, $context);
}

public function critical($message, array $context = array())
{
$this->log(LogLevel::CRITICAL, $message, $context);
}

public function error($message, array $context = array())
{
$this->log(LogLevel::ERROR, $message, $context);
}

public function warning($message, array $context = array())
{
$this->log(LogLevel::WARNING, $message, $context);
}

public function notice($message, array $context = array())
{
$this->log(LogLevel::NOTICE, $message, $context);
}

public function info($message, array $context = array())
{
$this->log(LogLevel::INFO, $message, $context);
}

public function debug($message, array $context = array())
{
$this->log(LogLevel::DEBUG, $message, $context);
}

public function log($level, $message, array $context = array())
{
$this->output[] = sprintf("%s: %s %s", $level, $message, json_encode($context));
}
}
52 changes: 2 additions & 50 deletions tests/Elasticsearch/Tests/ClientBuilder/DummyLogger.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,55 +3,7 @@

namespace Elasticsearch\Tests\ClientBuilder;

use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;

class DummyLogger implements LoggerInterface
class DummyLogger
{
public $output = [];

public function emergency($message, array $context = array())
{
$this->log(LogLevel::EMERGENCY, $message, $context);
}

public function alert($message, array $context = array())
{
$this->log(LogLevel::ALERT, $message, $context);
}

public function critical($message, array $context = array())
{
$this->log(LogLevel::CRITICAL, $message, $context);
}

public function error($message, array $context = array())
{
$this->log(LogLevel::ERROR, $message, $context);
}

public function warning($message, array $context = array())
{
$this->log(LogLevel::WARNING, $message, $context);
}

public function notice($message, array $context = array())
{
$this->log(LogLevel::NOTICE, $message, $context);
}

public function info($message, array $context = array())
{
$this->log(LogLevel::INFO, $message, $context);
}

public function debug($message, array $context = array())
{
$this->log(LogLevel::DEBUG, $message, $context);
}

public function log($level, $message, array $context = array())
{
$this->output[] = sprintf("%s: %s %s", $level, $message, json_encode($context));
}

}
18 changes: 8 additions & 10 deletions tests/Elasticsearch/Tests/ClientIntegrationTests.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Elasticsearch\ClientBuilder;
use Elasticsearch\Common\Exceptions\Missing404Exception;
use Elasticsearch\Tests\ClientBuilder\DummyLogger;
use Elasticsearch\Tests\ClientBuilder\ArrayLogger;
use Psr\Log\LogLevel;

/**
Expand All @@ -26,40 +26,38 @@ public function setUp()
if (empty(getenv('ES_TEST_HOST'))) {
$this->markTestSkipped('I cannot execute integration test without ES_TEST_HOST env');
}
$this->logger = new ArrayLogger();
}

public function testLogRequestSuccessHasInfoNotEmpty()
{
$logger = new DummyLogger();
$client = ClientBuilder::create()
->setHosts([getenv('ES_TEST_HOST')])
->setLogger($logger)
->setLogger($this->logger)
->build();

$result = $client->info();

$this->assertNotEmpty($this->getLevelOutput(LogLevel::INFO, $logger->output));
$this->assertNotEmpty($this->getLevelOutput(LogLevel::INFO, $this->logger->output));
}

public function testLogRequestSuccessHasPortInInfo()
{
$logger = new DummyLogger();
$client = ClientBuilder::create()
->setHosts([getenv('ES_TEST_HOST')])
->setLogger($logger)
->setLogger($this->logger)
->build();

$result = $client->info();

$this->assertContains('"port"', $this->getLevelOutput(LogLevel::INFO, $logger->output));
$this->assertContains('"port"', $this->getLevelOutput(LogLevel::INFO, $this->logger->output));
}

public function testLogRequestFailHasWarning()
{
$logger = new DummyLogger();
$client = ClientBuilder::create()
->setHosts([getenv('ES_TEST_HOST')])
->setLogger($logger)
->setLogger($this->logger)
->build();

try {
Expand All @@ -68,7 +66,7 @@ public function testLogRequestFailHasWarning()
'id' => 'bar'
]);
} catch (Missing404Exception $e) {
$this->assertNotEmpty($this->getLevelOutput(LogLevel::WARNING, $logger->output));
$this->assertNotEmpty($this->getLevelOutput(LogLevel::WARNING, $this->logger->output));
}
}

Expand Down

0 comments on commit f22755b

Please sign in to comment.