luck-draw/vendor/casbin/psr3-bridge/tests/LoggerBrdgeTest.php

68 lines
2.0 KiB
PHP

<?php
namespace Casbin\Bridge\Logger\Tests;
use Mockery;
use Casbin\Bridge\Logger\LoggerBridge;
use PHPUnit\Framework\TestCase;
class LoggerTest extends TestCase
{
public function testEnableLogger()
{
$testLog = Mockery::mock(TestLogger::class);
$defaultLevel = 'info';
$logger = new LoggerBridge($testLog, $defaultLevel);
$this->assertFalse($logger->isEnabled());
$logger->enableLog(true);
$this->assertTrue($logger->isEnabled());
$testLog->shouldReceive('log')->once()->with($defaultLevel, 'foo');
$logger->write('foo');
$testLog->shouldReceive('log')->once()->with($defaultLevel, 'foo1foo2');
$logger->write('foo1', 'foo2');
$testLog->shouldReceive('log')->once()->with($defaultLevel, json_encode(['foo1', 'foo2']));
$logger->write(['foo1', 'foo2']);
$testLog->shouldReceive('log')->once()->with($defaultLevel, sprintf('There are %u million cars in %s.', 2, 'Shanghai'));
$logger->writef('There are %u million cars in %s.', 2, 'Shanghai');
$testLog = Mockery::mock(TestLogger::class);
$logger = new LoggerBridge($testLog);
$logger->enableLog(false);
$testLog->shouldNotHaveReceived('log');
$logger->write(['foo1', 'foo2']);
$testLog->shouldNotHaveReceived('log');
$logger->writef('There are %u million cars in %s.', 2, 'Shanghai');
}
public function testDisableLogger()
{
$testLog = Mockery::mock(TestLogger::class);
$defaultLevel = 'info';
$logger = new LoggerBridge($testLog, $defaultLevel);
$logger->enableLog(false);
$this->assertFalse($logger->isEnabled());
$logger->enableLog(false);
$testLog->shouldNotHaveReceived('log');
$logger->write(['foo1', 'foo2']);
$testLog->shouldNotHaveReceived('log');
$logger->writef('There are %u million cars in %s.', 2, 'Shanghai');
}
}