Skip to content

Commit

Permalink
[phalcon#13438] - More logger tests
Browse files Browse the repository at this point in the history
  • Loading branch information
niden authored and CameronHall committed Dec 8, 2018
1 parent cac13c0 commit 2f1d938
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 8 deletions.
48 changes: 48 additions & 0 deletions tests/unit/Logger/ConstructCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
namespace Phalcon\Test\Unit\Logger;

use Phalcon\Logger;
use Phalcon\Logger\Adapter\File;
use Phalcon\Logger\Formatter\Json;
use Phalcon\Test\Fixtures\Traits\LoggerTrait;
use Psr\Log\LoggerInterface;
use UnitTester;
Expand Down Expand Up @@ -62,4 +64,50 @@ public function loggerConstructConstants(UnitTester $I)
$I->assertEquals(4, Logger::WARNING);
$I->assertEquals(8, Logger::CUSTOM);
}

/**
* Tests Phalcon\Logger :: __construct() - file with json formatter
*
* @param UnitTester $I
*
* @issue https://github.com/phalcon/cphalcon/issues/2262
*
* @author Phalcon Team <team@phalconphp.com>
* @since 2016-01-28
*/
public function loggerConstructFileWithJsonConstants(UnitTester $I)
{
$I->wantToTest('Logger :: __construct() - file with json formatter');
$fileName = $I->getNewFileName('log', 'log');
$outputPath = outputFolder('tests/logs/');
$adapter = new File($outputPath . $fileName);
$adapter->setFormatter(new Json());

$logger = new Logger(
'my-logger',
[
'one' => $adapter,
]
);

$time = time();
$logger->debug('This is a message');
$logger->log(Logger::ERROR, "This is an error");
$logger->error("This is another error");

$I->amInPath($outputPath);
$I->openFile($fileName);

$expected = sprintf(
'{"type":"debug","message":"This is a message","timestamp":"%s"}' . PHP_EOL .
'{"type":"error","message":"This is an error","timestamp":"%s"}' . PHP_EOL .
'{"type":"error","message":"This is another error","timestamp":"%s"}',
date('D, d M y H:i:s O', $time),
date('D, d M y H:i:s O', $time),
date('D, d M y H:i:s O', $time)
);

$I->seeInThisFile($expected);
$I->safeDeleteFile($outputPath . $fileName);
}
}
11 changes: 7 additions & 4 deletions tests/unit/Logger/Formatter/Json/FormatCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Phalcon\Logger;
use Phalcon\Logger\Formatter\Json;
use Phalcon\Logger\Item;
use const PHP_EOL;
use UnitTester;

/**
Expand All @@ -41,8 +42,9 @@ public function loggerFormatterJsonFormat(UnitTester $I)
$item = new Item('log message', 'debug', Logger::DEBUG, $time);

$expected = sprintf(
'{"type":"debug","message":"log message","timestamp":"%s"}',
date('D, d M y H:i:s O', $time)
'{"type":"debug","message":"log message","timestamp":"%s"}%s',
date('D, d M y H:i:s O', $time),
PHP_EOL
);
$actual = $formatter->format($item);
$I->assertEquals($expected, $actual);
Expand All @@ -65,8 +67,9 @@ public function loggerFormatterJsonFormatCustom(UnitTester $I)
$item = new Item('log message', 'debug', Logger::DEBUG, $time);

$expected = sprintf(
'{"type":"debug","message":"log message","timestamp":"%s"}',
date('YmdHis', $time)
'{"type":"debug","message":"log message","timestamp":"%s"}%s',
date('YmdHis', $time),
PHP_EOL
);
$actual = $formatter->format($item);
$I->assertEquals($expected, $actual);
Expand Down
5 changes: 3 additions & 2 deletions tests/unit/Logger/Formatter/Json/InterpolateCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,9 @@ public function loggerFormatterJsonInterpolateFormat(UnitTester $I)
$item = new Item($message, 'debug', Logger::DEBUG, $time, $context);

$expected = sprintf(
'{"type":"debug","message":"The sky is blue","timestamp":"%s"}',
date('D, d M y H:i:s O', $time)
'{"type":"debug","message":"The sky is blue","timestamp":"%s"}%s',
date('D, d M y H:i:s O', $time),
PHP_EOL
);
$actual = $formatter->format($item);
$I->assertEquals($expected, $actual);
Expand Down
42 changes: 41 additions & 1 deletion tests/unit/Logger/GetAdapterCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

namespace Phalcon\Test\Unit\Logger;

use Phalcon\Logger;
use Phalcon\Logger\Exception;
use Phalcon\Logger\Adapter\File;
use UnitTester;

/**
Expand All @@ -32,6 +35,43 @@ class GetAdapterCest
public function loggerGetAdapter(UnitTester $I)
{
$I->wantToTest('Logger - getAdapter()');
$I->skipTest('Need implementation');
$fileName1 = $I->getNewFileName('log', 'log');
$outputPath = outputFolder('tests/logs/');
$adapter1 = new File($outputPath . $fileName1);

$logger = new Logger(
'my-logger',
[
'one' => $adapter1,
]
);


$class = File::class;
$actual = $logger->getAdapter('one');
$I->assertInstanceOf($class, $actual);

$I->safeDeleteFile($outputPath . $fileName1);
}

/**
* Tests Phalcon\Logger :: getAdapter() - unknown
*
* @param UnitTester $I
*
* @author Phalcon Team <team@phalconphp.com>
* @since 2018-11-13
*/
public function loggerGetAdapterUnknown(UnitTester $I)
{
$I->wantToTest('Logger - getAdapter() - unknown');

$I->expectThrowable(
new Exception('Adapter does not exist for this logger'),
function () {
$logger = new Logger('my-logger');
$logger->getAdapter('unknown');
}
);
}
}
27 changes: 26 additions & 1 deletion tests/unit/Logger/GetAdaptersCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

namespace Phalcon\Test\Unit\Logger;

use Phalcon\Logger;
use Phalcon\Logger\Adapter\File;
use UnitTester;

/**
Expand All @@ -32,6 +34,29 @@ class GetAdaptersCest
public function loggerGetAdapters(UnitTester $I)
{
$I->wantToTest('Logger - getAdapters()');
$I->skipTest('Need implementation');
$fileName1 = $I->getNewFileName('log', 'log');
$fileName2 = $I->getNewFileName('log', 'log');
$outputPath = outputFolder('tests/logs/');
$adapter1 = new File($outputPath . $fileName1);
$adapter2 = new File($outputPath . $fileName2);

$logger = new Logger(
'my-logger',
[
'one' => $adapter1,
'two' => $adapter2,
]
);

$expected = 2;
$adapters = $logger->getAdapters();
$I->assertCount($expected, $adapters);

$class = File::class;
$I->assertInstanceOf($class, $adapters['one']);
$I->assertInstanceOf($class, $adapters['two']);

$I->safeDeleteFile($outputPath . $fileName1);
$I->safeDeleteFile($outputPath . $fileName2);
}
}

0 comments on commit 2f1d938

Please sign in to comment.