forked from apoloz/alfa-bank-sdk
52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?php
|
|
|
|
use Apoloz\AlfaBank\Core\AlfaBankConnector;
|
|
use Apoloz\AlfaBank\Core\AlfaConfig;
|
|
use Apoloz\AlfaBank\Requests\FileExchange\DownloadFileRequest;
|
|
use Apoloz\AlfaBank\Requests\FileExchange\UploadFileRequest;
|
|
use Saloon\Http\Faking\MockResponse;
|
|
|
|
test('can upload a file', function (): void {
|
|
$mockClient = new \Saloon\Http\Faking\MockClient([
|
|
'*' => MockResponse::make([], 200),
|
|
]);
|
|
|
|
$config = new AlfaConfig(
|
|
baseUrl: 'https://test.com',
|
|
certificatePath: __DIR__ . '/../test_key.pem',
|
|
privateKeyPath: __DIR__ . '/../test_key.pem'
|
|
);
|
|
$connector = new AlfaBankConnector($config);
|
|
$connector->withMockClient($mockClient);
|
|
|
|
$stream = fopen('php://memory', 'r+');
|
|
fwrite($stream, 'test content');
|
|
rewind($stream);
|
|
|
|
$request = new UploadFileRequest('https://upload.url', $stream, 12);
|
|
$response = $connector->send($request);
|
|
|
|
expect($response->status())->toBe(200);
|
|
fclose($stream);
|
|
});
|
|
|
|
test('can download a file', function (): void {
|
|
$mockClient = new \Saloon\Http\Faking\MockClient([
|
|
'*' => MockResponse::make('file content', 200),
|
|
]);
|
|
|
|
$config = new AlfaConfig(
|
|
baseUrl: 'https://test.com',
|
|
certificatePath: __DIR__ . '/../test_key.pem',
|
|
privateKeyPath: __DIR__ . '/../test_key.pem'
|
|
);
|
|
$connector = new AlfaBankConnector($config);
|
|
$connector->withMockClient($mockClient);
|
|
|
|
$request = new DownloadFileRequest('https://download.url');
|
|
$response = $connector->send($request);
|
|
|
|
expect($response->status())->toBe(200)
|
|
->and($response->body())->toBe('file content');
|
|
});
|