forked from apoloz/alfa-bank-sdk
refactor(core): enhance SDK structure and documentation
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
37
tests/Feature/Utils/UuidTest.php
Normal file
37
tests/Feature/Utils/UuidTest.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
use Apoloz\AlfaBank\Utils\Uuid;
|
||||
use Apoloz\AlfaBank\Http\Middleware\RequestIdMiddleware;
|
||||
use Saloon\Http\PendingRequest;
|
||||
use Saloon\Http\Request;
|
||||
use Saloon\Enums\Method;
|
||||
|
||||
test('it generates valid uuid v4', function () {
|
||||
$uuid = Uuid::v4();
|
||||
|
||||
expect($uuid)->toBeString()
|
||||
->and(strlen($uuid))->toBe(36)
|
||||
->and(preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $uuid))->toBe(1);
|
||||
});
|
||||
|
||||
test('middleware adds uuid to request', function () {
|
||||
$middleware = new RequestIdMiddleware();
|
||||
|
||||
$request = new class extends Request {
|
||||
protected Method $method = Method::GET;
|
||||
public function resolveEndpoint(): string { return '/'; }
|
||||
};
|
||||
|
||||
$connector = new class extends \Saloon\Http\Connector {
|
||||
public function resolveBaseUrl(): string { return 'https://test'; }
|
||||
};
|
||||
|
||||
$pendingRequest = new PendingRequest($connector, $request);
|
||||
|
||||
$middleware($pendingRequest);
|
||||
|
||||
$header = $pendingRequest->headers()->get('X-Request-ID');
|
||||
|
||||
expect($header)->toBeString()
|
||||
->and(preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $header))->toBe(1);
|
||||
});
|
||||
Reference in New Issue
Block a user