Set read timeout only when testing read-timeout endpoint (#11417)

This commit is contained in:
Lauri Tulmin 2024-05-21 17:40:35 +03:00 committed by GitHub
parent 80b3ee934c
commit cac8d1f497
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 33 additions and 20 deletions

View File

@ -35,12 +35,24 @@ class AsyncHttpClientTest extends AbstractHttpClientTest<Request> {
private static final int CONNECTION_TIMEOUT_MS = (int) CONNECTION_TIMEOUT.toMillis(); private static final int CONNECTION_TIMEOUT_MS = (int) CONNECTION_TIMEOUT.toMillis();
private static final int READ_TIMEOUT_MS = (int) READ_TIMEOUT.toMillis(); private static final int READ_TIMEOUT_MS = (int) READ_TIMEOUT.toMillis();
private static final AsyncHttpClient client = private static final AsyncHttpClient client = buildClient(false);
new AsyncHttpClient( private static final AsyncHttpClient clientWithReadTimeout = buildClient(true);
new AsyncHttpClientConfig.Builder()
.setConnectTimeout(CONNECTION_TIMEOUT_MS) private static AsyncHttpClient buildClient(boolean readTimeout) {
.setReadTimeout(READ_TIMEOUT_MS) AsyncHttpClientConfig.Builder builder =
.build()); new AsyncHttpClientConfig.Builder().setConnectTimeout(CONNECTION_TIMEOUT_MS);
if (readTimeout) {
builder.setReadTimeout(READ_TIMEOUT_MS);
}
return new AsyncHttpClient(builder.build());
}
private static AsyncHttpClient getClient(URI uri) {
if (uri.toString().contains("/read-timeout")) {
return clientWithReadTimeout;
}
return client;
}
@Override @Override
public Request buildRequest(String method, URI uri, Map<String, String> headers) { public Request buildRequest(String method, URI uri, Map<String, String> headers) {
@ -54,7 +66,7 @@ class AsyncHttpClientTest extends AbstractHttpClientTest<Request> {
@Override @Override
public int sendRequest(Request request, String method, URI uri, Map<String, String> headers) public int sendRequest(Request request, String method, URI uri, Map<String, String> headers)
throws ExecutionException, InterruptedException { throws ExecutionException, InterruptedException {
return client.executeRequest(request).get().getStatusCode(); return getClient(uri).executeRequest(request).get().getStatusCode();
} }
@Override @Override
@ -64,7 +76,8 @@ class AsyncHttpClientTest extends AbstractHttpClientTest<Request> {
URI uri, URI uri,
Map<String, String> headers, Map<String, String> headers,
HttpClientResult requestResult) { HttpClientResult requestResult) {
client.executeRequest( getClient(uri)
.executeRequest(
request, request,
new AsyncCompletionHandler<Void>() { new AsyncCompletionHandler<Void>() {
@Override @Override