Skip to content

Commit 9da0f4f

Browse files
committed
test: remove the time depandency.
1 parent 54a83ba commit 9da0f4f

2 files changed

Lines changed: 67 additions & 19 deletions

File tree

tests/_support/Log/Handlers/TestHandler.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
namespace Tests\Support\Log\Handlers;
1313

14+
use CodeIgniter\I18n\Time;
15+
1416
/**
1517
* Class TestHandler
1618
*
@@ -35,8 +37,10 @@ public function __construct(array $config)
3537
{
3638
parent::__construct($config);
3739

40+
Time::setTestNow('2023-11-25 12:00:00');
41+
3842
$this->handles = $config['handles'] ?? [];
39-
$this->destination = $this->path . 'log-' . date('Y-m-d') . '.' . $this->fileExtension;
43+
$this->destination = $this->path . 'log-' . Time::now()->format('Y-m-d') . '.' . $this->fileExtension;
4044

4145
self::$logs = [];
4246
}
@@ -52,7 +56,9 @@ public function __construct(array $config)
5256
*/
5357
public function handle($level, $message): bool
5458
{
55-
$date = date($this->dateFormat);
59+
Time::setTestNow('2023-11-25 12:00:00');
60+
61+
$date = Time::now()->format('Y-m-d');
5662

5763
self::$logs[] = strtoupper($level) . ' - ' . $date . ' --> ' . $message;
5864

tests/system/Log/LoggerTest.php

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@
2626
*/
2727
final class LoggerTest extends CIUnitTestCase
2828
{
29+
protected function tearDown(): void
30+
{
31+
parent::tearDown();
32+
33+
// Reset the current time.
34+
Time::setTestNow();
35+
}
36+
2937
public function testThrowsExceptionWithBadHandlerSettings(): void
3038
{
3139
$config = new LoggerConfig();
@@ -64,7 +72,9 @@ public function testLogActuallyLogs(): void
6472
$config = new LoggerConfig();
6573
$logger = new Logger($config);
6674

67-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message';
75+
Time::setTestNow('2023-11-25 12:00:00');
76+
77+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message';
6878
$logger->log('debug', 'Test message');
6979

7080
$logs = TestHandler::getLogs();
@@ -94,7 +104,9 @@ public function testLogInterpolatesMessage(): void
94104

95105
$logger = new Logger($config);
96106

97-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message bar baz';
107+
Time::setTestNow('2023-11-25 12:00:00');
108+
109+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message bar baz';
98110

99111
$logger->log('debug', 'Test message {foo} {bar}', ['foo' => 'bar', 'bar' => 'baz']);
100112

@@ -110,8 +122,10 @@ public function testLogInterpolatesPost(): void
110122

111123
$logger = new Logger($config);
112124

125+
Time::setTestNow('2023-11-25 12:00:00');
126+
113127
$_POST = ['foo' => 'bar'];
114-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_POST: ' . print_r($_POST, true);
128+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_POST: ' . print_r($_POST, true);
115129

116130
$logger->log('debug', 'Test message {post_vars}');
117131

@@ -127,8 +141,10 @@ public function testLogInterpolatesGet(): void
127141

128142
$logger = new Logger($config);
129143

144+
Time::setTestNow('2023-11-25 12:00:00');
145+
130146
$_GET = ['bar' => 'baz'];
131-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_GET: ' . print_r($_GET, true);
147+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_GET: ' . print_r($_GET, true);
132148

133149
$logger->log('debug', 'Test message {get_vars}');
134150

@@ -144,8 +160,10 @@ public function testLogInterpolatesSession(): void
144160

145161
$logger = new Logger($config);
146162

163+
Time::setTestNow('2023-11-25 12:00:00');
164+
147165
$_SESSION = ['xxx' => 'yyy'];
148-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message $_SESSION: ' . print_r($_SESSION, true);
166+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message $_SESSION: ' . print_r($_SESSION, true);
149167

150168
$logger->log('debug', 'Test message {session_vars}');
151169

@@ -161,7 +179,9 @@ public function testLogInterpolatesCurrentEnvironment(): void
161179

162180
$logger = new Logger($config);
163181

164-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message ' . ENVIRONMENT;
182+
Time::setTestNow('2023-11-25 12:00:00');
183+
184+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message ' . ENVIRONMENT;
165185

166186
$logger->log('debug', 'Test message {env}');
167187

@@ -177,9 +197,11 @@ public function testLogInterpolatesEnvironmentVars(): void
177197

178198
$logger = new Logger($config);
179199

200+
Time::setTestNow('2023-11-25 12:00:00');
201+
180202
$_ENV['foo'] = 'bar';
181203

182-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message bar';
204+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message bar';
183205

184206
$logger->log('debug', 'Test message {env:foo}');
185207

@@ -211,7 +233,9 @@ public function testLogInterpolatesExceptions(): void
211233
$config = new LoggerConfig();
212234
$logger = new Logger($config);
213235

214-
$expected = 'ERROR - ' . Time::now()->toDateString() . ' --> [ERROR] These are not the droids you are looking for';
236+
Time::setTestNow('2023-11-25 12:00:00');
237+
238+
$expected = 'ERROR - ' . Time::now()->format('Y-m-d') . ' --> [ERROR] These are not the droids you are looking for';
215239

216240
try {
217241
throw new Exception('These are not the droids you are looking for');
@@ -230,7 +254,9 @@ public function testEmergencyLogsCorrectly(): void
230254
$config = new LoggerConfig();
231255
$logger = new Logger($config);
232256

233-
$expected = 'EMERGENCY - ' . Time::now()->toDateString() . ' --> Test message';
257+
Time::setTestNow('2023-11-25 12:00:00');
258+
259+
$expected = 'EMERGENCY - ' . Time::now()->format('Y-m-d') . ' --> Test message';
234260

235261
$logger->emergency('Test message');
236262

@@ -245,7 +271,9 @@ public function testAlertLogsCorrectly(): void
245271
$config = new LoggerConfig();
246272
$logger = new Logger($config);
247273

248-
$expected = 'ALERT - ' . Time::now()->toDateString() . ' --> Test message';
274+
Time::setTestNow('2023-11-25 12:00:00');
275+
276+
$expected = 'ALERT - ' . Time::now()->format('Y-m-d') . ' --> Test message';
249277

250278
$logger->alert('Test message');
251279

@@ -260,7 +288,9 @@ public function testCriticalLogsCorrectly(): void
260288
$config = new LoggerConfig();
261289
$logger = new Logger($config);
262290

263-
$expected = 'CRITICAL - ' . Time::now()->toDateString() . ' --> Test message';
291+
Time::setTestNow('2023-11-25 12:00:00');
292+
293+
$expected = 'CRITICAL - ' . Time::now()->format('Y-m-d') . ' --> Test message';
264294

265295
$logger->critical('Test message');
266296

@@ -275,7 +305,9 @@ public function testErrorLogsCorrectly(): void
275305
$config = new LoggerConfig();
276306
$logger = new Logger($config);
277307

278-
$expected = 'ERROR - ' . Time::now()->toDateString() . ' --> Test message';
308+
Time::setTestNow('2023-11-25 12:00:00');
309+
310+
$expected = 'ERROR - ' . Time::now()->format('Y-m-d') . ' --> Test message';
279311

280312
$logger->error('Test message');
281313

@@ -290,7 +322,9 @@ public function testWarningLogsCorrectly(): void
290322
$config = new LoggerConfig();
291323
$logger = new Logger($config);
292324

293-
$expected = 'WARNING - ' . Time::now()->toDateString() . ' --> Test message';
325+
Time::setTestNow('2023-11-25 12:00:00');
326+
327+
$expected = 'WARNING - ' . Time::now()->format('Y-m-d') . ' --> Test message';
294328

295329
$logger->warning('Test message');
296330

@@ -305,7 +339,9 @@ public function testNoticeLogsCorrectly(): void
305339
$config = new LoggerConfig();
306340
$logger = new Logger($config);
307341

308-
$expected = 'NOTICE - ' . Time::now()->toDateString() . ' --> Test message';
342+
Time::setTestNow('2023-11-25 12:00:00');
343+
344+
$expected = 'NOTICE - ' . Time::now()->format('Y-m-d') . ' --> Test message';
309345

310346
$logger->notice('Test message');
311347

@@ -320,7 +356,9 @@ public function testInfoLogsCorrectly(): void
320356
$config = new LoggerConfig();
321357
$logger = new Logger($config);
322358

323-
$expected = 'INFO - ' . Time::now()->toDateString() . ' --> Test message';
359+
Time::setTestNow('2023-11-25 12:00:00');
360+
361+
$expected = 'INFO - ' . Time::now()->format('Y-m-d') . ' --> Test message';
324362

325363
$logger->info('Test message');
326364

@@ -335,7 +373,9 @@ public function testDebugLogsCorrectly(): void
335373
$config = new LoggerConfig();
336374
$logger = new Logger($config);
337375

338-
$expected = 'DEBUG - ' . Time::now()->toDateString() . ' --> Test message';
376+
Time::setTestNow('2023-11-25 12:00:00');
377+
378+
$expected = 'DEBUG - ' . Time::now()->format('Y-m-d') . ' --> Test message';
339379

340380
$logger->debug('Test message');
341381

@@ -350,7 +390,9 @@ public function testLogLevels(): void
350390
$config = new LoggerConfig();
351391
$logger = new Logger($config);
352392

353-
$expected = 'WARNING - ' . Time::now()->toDateString() . ' --> Test message';
393+
Time::setTestNow('2023-11-25 12:00:00');
394+
395+
$expected = 'WARNING - ' . Time::now()->format('Y-m-d') . ' --> Test message';
354396

355397
$logger->log(5, 'Test message');
356398

0 commit comments

Comments
 (0)