use Symfony\Component\HttpClient\NativeHttpClient;
use Symfony\Component\HttpClient\Response\AsyncContext;
use Symfony\Component\HttpClient\Response\MockResponse;
use Symfony\Component\HttpClient\Retry\GenericRetryStrategy;
use Symfony\Component\HttpClient\RetryableHttpClient;
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
class RetryableHttpClientTest extends TestCase
{ public function testRetryOnError() { $client =
new RetryableHttpClient( new MockHttpClient([ new MockResponse('',
['http_code' => 500
]),
new MockResponse('',
['http_code' => 200
]),
]),
new GenericRetryStrategy([500
], 0
),
1
);
$response =
$client->
request('GET', 'http://example.com/foo-bar'
);
self::
assertSame(200,
$response->
getStatusCode());
}