diff --git a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientTest.java b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientTest.java index b76ed21d7f..f1ad548536 100644 --- a/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientTest.java +++ b/instrumentation/async-http-client/async-http-client-1.9/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/v1_9/AsyncHttpClientTest.java @@ -35,12 +35,24 @@ class AsyncHttpClientTest extends AbstractHttpClientTest { 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 AsyncHttpClient client = - new AsyncHttpClient( - new AsyncHttpClientConfig.Builder() - .setConnectTimeout(CONNECTION_TIMEOUT_MS) - .setReadTimeout(READ_TIMEOUT_MS) - .build()); + private static final AsyncHttpClient client = buildClient(false); + private static final AsyncHttpClient clientWithReadTimeout = buildClient(true); + + private static AsyncHttpClient buildClient(boolean readTimeout) { + AsyncHttpClientConfig.Builder builder = + 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 public Request buildRequest(String method, URI uri, Map headers) { @@ -54,7 +66,7 @@ class AsyncHttpClientTest extends AbstractHttpClientTest { @Override public int sendRequest(Request request, String method, URI uri, Map headers) throws ExecutionException, InterruptedException { - return client.executeRequest(request).get().getStatusCode(); + return getClient(uri).executeRequest(request).get().getStatusCode(); } @Override @@ -64,20 +76,21 @@ class AsyncHttpClientTest extends AbstractHttpClientTest { URI uri, Map headers, HttpClientResult requestResult) { - client.executeRequest( - request, - new AsyncCompletionHandler() { - @Override - public Void onCompleted(Response response) { - requestResult.complete(response.getStatusCode()); - return null; - } + getClient(uri) + .executeRequest( + request, + new AsyncCompletionHandler() { + @Override + public Void onCompleted(Response response) { + requestResult.complete(response.getStatusCode()); + return null; + } - @Override - public void onThrowable(Throwable throwable) { - requestResult.complete(throwable); - } - }); + @Override + public void onThrowable(Throwable throwable) { + requestResult.complete(throwable); + } + }); } @Override