-
Notifications
You must be signed in to change notification settings - Fork 65
Expand file tree
/
Copy pathAkeneoPimClientBuilderTest.php
More file actions
50 lines (42 loc) · 1.4 KB
/
AkeneoPimClientBuilderTest.php
File metadata and controls
50 lines (42 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
declare(strict_types=1);
namespace Akeneo\Pim\ApiClient\tests\Api;
use Akeneo\Pim\ApiClient\AkeneoPimClientBuilder;
use Akeneo\Pim\ApiClient\AkeneoPimClientInterface;
use Akeneo\Pim\ApiClient\Api\ProductApi;
use donatj\MockWebServer\Response;
use donatj\MockWebServer\ResponseStack;
use ECSPrefix202306\Symfony\Component\VarDumper\VarDumper;
use PHPUnit\Framework\Assert;
final class AkeneoPimClientBuilderTest extends ApiTestCase
{
public function test_retry_http_request()
{
$this->server->setResponseOfPath(
'/' . ProductApi::PRODUCTS_URI,
new ResponseStack(
new Response('', [], 429),
new Response('', [], 429),
new Response('', [], 429),
new Response('', [], 429),
new Response('', [], 201),
)
);
$api = $this->createClientByPassword()->getProductApi();
$response = $api->create('new_shoes', []);
Assert::assertSame(201, $response);
}
protected function createClientByPassword(): AkeneoPimClientInterface
{
$clientBuilder = new AkeneoPimClientBuilder($this->server->getServerRoot(), [
'retry' => true,
'max-retry' => 5,
]);
return $clientBuilder->buildAuthenticatedByPassword(
'client_id',
'secret',
'username',
'password'
);
}
}