Merge remote-tracking branch 'upstream/develop' into 4.5

Conflicts:
	tests/_support/Log/Handlers/TestHandler.php
This commit is contained in:
kenjis 2024-03-05 09:28:34 +09:00
commit 8b0752a140
No known key found for this signature in database
GPG Key ID: BD254878922AF198
4 changed files with 79 additions and 22 deletions

View File

@ -32,7 +32,7 @@
"phpunit/phpcov": "^8.2",
"phpunit/phpunit": "^9.1",
"predis/predis": "^1.1 || ^2.0",
"rector/rector": "1.0.1",
"rector/rector": "1.0.2",
"vimeo/psalm": "^5.0"
},
"replace": {

View File

@ -13,6 +13,7 @@ declare(strict_types=1);
namespace Tests\Support\Log\Handlers;
use CodeIgniter\I18n\Time;
use CodeIgniter\Log\Handlers\FileHandler;
/**
@ -40,7 +41,7 @@ class TestHandler extends FileHandler
parent::__construct($config);
$this->handles = $config['handles'] ?? [];
$this->destination = $this->path . 'log-' . date('Y-m-d') . '.' . $this->fileExtension;
$this->destination = $this->path . 'log-' . Time::now()->format('Y-m-d') . '.' . $this->fileExtension;
self::$logs = [];
}
@ -56,7 +57,7 @@ class TestHandler extends FileHandler
*/
public function handle($level, $message): bool
{
$date = date($this->dateFormat);
$date = Time::now()->format($this->dateFormat);
self::$logs[] = strtoupper($level) . ' - ' . $date . ' --> ' . $message;

View File

@ -14,6 +14,7 @@ declare(strict_types=1);
namespace CodeIgniter\HTTP;
use CodeIgniter\HTTP\Exceptions\RedirectException;
use CodeIgniter\I18n\Time;
use CodeIgniter\Log\Logger;
use CodeIgniter\Test\Mock\MockLogger as LoggerConfig;
use Config\Services;
@ -34,6 +35,14 @@ final class RedirectExceptionTest extends TestCase
Services::injectMock('logger', new Logger(new LoggerConfig()));
}
protected function tearDown(): void
{
parent::tearDown();
// Reset the current time.
Time::setTestNow();
}
public function testResponse(): void
{
$response = (new RedirectException(
@ -69,8 +78,10 @@ final class RedirectExceptionTest extends TestCase
public function testLoggingLocationHeader(): void
{
Time::setTestNow('2023-11-25 12:00:00');
$uri = 'http://location';
$expected = 'INFO - ' . date('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri;
$expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri;
$response = (new RedirectException(Services::response()->redirect($uri)))->getResponse();
$logs = TestHandler::getLogs();
@ -82,8 +93,10 @@ final class RedirectExceptionTest extends TestCase
public function testLoggingRefreshHeader(): void
{
Time::setTestNow('2023-11-25 12:00:00');
$uri = 'http://location';
$expected = 'INFO - ' . date('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri;
$expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> REDIRECTED ROUTE at ' . $uri;
$response = (new RedirectException(Services::response()->redirect($uri, 'refresh')))->getResponse();
$logs = TestHandler::getLogs();

View File

@ -14,6 +14,7 @@ declare(strict_types=1);
namespace CodeIgniter\Log;
use CodeIgniter\Exceptions\FrameworkException;
use CodeIgniter\I18n\Time;
use CodeIgniter\Log\Exceptions\LogException;
use CodeIgniter\Test\CIUnitTestCase;
use CodeIgniter\Test\Mock\MockLogger as LoggerConfig;
@ -28,6 +29,14 @@ use TypeError;
*/
final class LoggerTest extends CIUnitTestCase
{
protected function tearDown(): void
{
parent::tearDown();
// Reset the current time.
Time::setTestNow();
}
public function testThrowsExceptionWithBadHandlerSettings(): void
{
$config = new LoggerConfig();
@ -66,7 +75,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->log('debug', 'Test message');
$logs = TestHandler::getLogs();
@ -96,7 +107,9 @@ final class LoggerTest extends CIUnitTestCase
$logger = new Logger($config);
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message bar baz';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message bar baz';
$logger->log('debug', 'Test message {foo} {bar}', ['foo' => 'bar', 'bar' => 'baz']);
@ -112,8 +125,10 @@ final class LoggerTest extends CIUnitTestCase
$logger = new Logger($config);
Time::setTestNow('2023-11-25 12:00:00');
$_POST = ['foo' => 'bar'];
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message $_POST: ' . print_r($_POST, true);
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_POST: ' . print_r($_POST, true);
$logger->log('debug', 'Test message {post_vars}');
@ -129,8 +144,10 @@ final class LoggerTest extends CIUnitTestCase
$logger = new Logger($config);
Time::setTestNow('2023-11-25 12:00:00');
$_GET = ['bar' => 'baz'];
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message $_GET: ' . print_r($_GET, true);
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_GET: ' . print_r($_GET, true);
$logger->log('debug', 'Test message {get_vars}');
@ -146,8 +163,10 @@ final class LoggerTest extends CIUnitTestCase
$logger = new Logger($config);
Time::setTestNow('2023-11-25 12:00:00');
$_SESSION = ['xxx' => 'yyy'];
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message $_SESSION: ' . print_r($_SESSION, true);
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_SESSION: ' . print_r($_SESSION, true);
$logger->log('debug', 'Test message {session_vars}');
@ -163,7 +182,9 @@ final class LoggerTest extends CIUnitTestCase
$logger = new Logger($config);
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message ' . ENVIRONMENT;
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message ' . ENVIRONMENT;
$logger->log('debug', 'Test message {env}');
@ -179,9 +200,11 @@ final class LoggerTest extends CIUnitTestCase
$logger = new Logger($config);
Time::setTestNow('2023-11-25 12:00:00');
$_ENV['foo'] = 'bar';
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message bar';
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message bar';
$logger->log('debug', 'Test message {env:foo}');
@ -213,7 +236,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'ERROR - ' . date('Y-m-d') . ' --> [ERROR] These are not the droids you are looking for';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'ERROR - ' . Time::now()->format('Y-m-d') . ' --> [ERROR] These are not the droids you are looking for';
try {
throw new Exception('These are not the droids you are looking for');
@ -232,7 +257,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'EMERGENCY - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'EMERGENCY - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->emergency('Test message');
@ -247,7 +274,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'ALERT - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'ALERT - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->alert('Test message');
@ -262,7 +291,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'CRITICAL - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'CRITICAL - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->critical('Test message');
@ -277,7 +308,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'ERROR - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'ERROR - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->error('Test message');
@ -292,7 +325,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'WARNING - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'WARNING - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->warning('Test message');
@ -307,7 +342,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'NOTICE - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'NOTICE - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->notice('Test message');
@ -322,7 +359,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'INFO - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->info('Test message');
@ -337,7 +376,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'DEBUG - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->debug('Test message');
@ -352,7 +393,9 @@ final class LoggerTest extends CIUnitTestCase
$config = new LoggerConfig();
$logger = new Logger($config);
$expected = 'WARNING - ' . date('Y-m-d') . ' --> Test message';
Time::setTestNow('2023-11-25 12:00:00');
$expected = 'WARNING - ' . Time::now()->format('Y-m-d') . ' --> Test message';
$logger->log(5, 'Test message');