feat: shortened and filename-safe request ids

This commit is contained in:
Björn Fromme
2026-03-04 11:25:23 +01:00
parent 370bc9fc5f
commit 5cf4b0f9ea
6 changed files with 70 additions and 4 deletions
+34
View File
@@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
namespace App\Tests\Service;
use App\Service\RequestIdGenerator;
use PHPUnit\Framework\TestCase;
class RequestIdGeneratorTest extends TestCase
{
public function testGeneratesFilenameSafeRequestId(): void
{
$generator = new RequestIdGenerator();
$requestId = $generator->generateBaseId();
self::assertMatchesRegularExpression('/^r-[0-9a-z]{10}-[0-9a-z]{8}$/', $requestId);
}
public function testGeneratedIdsAreSortableByTime(): void
{
$generator = new RequestIdGenerator();
$first = $generator->generateBaseId();
usleep(2_000);
$second = $generator->generateBaseId();
usleep(2_000);
$third = $generator->generateBaseId();
self::assertTrue($first < $second);
self::assertTrue($second < $third);
}
}