Enable read timeout test for some http clients (#4702)
* Enable read timeout test for some http clients * remove unused import * use separate client for read timeout request
This commit is contained in:
parent
0aa888a014
commit
b287c8d1d0
|
@ -12,6 +12,7 @@ import org.apache.http.HttpHost
|
|||
import org.apache.http.HttpResponse
|
||||
import org.apache.http.client.config.RequestConfig
|
||||
import org.apache.http.concurrent.FutureCallback
|
||||
import org.apache.http.impl.nio.client.CloseableHttpAsyncClient
|
||||
import org.apache.http.impl.nio.client.HttpAsyncClients
|
||||
import org.apache.http.message.BasicHeader
|
||||
import spock.lang.AutoCleanup
|
||||
|
@ -26,12 +27,29 @@ abstract class ApacheHttpAsyncClientTest extends HttpClientTest<HttpUriRequest>
|
|||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
|
||||
@Shared
|
||||
RequestConfig requestWithReadTimeoutConfig = RequestConfig.copy(requestConfig)
|
||||
.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
.build()
|
||||
|
||||
@AutoCleanup
|
||||
@Shared
|
||||
def client = HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig).build()
|
||||
|
||||
@AutoCleanup
|
||||
@Shared
|
||||
def clientWithReadTimeout = HttpAsyncClients.custom().setDefaultRequestConfig(requestWithReadTimeoutConfig).build()
|
||||
|
||||
def setupSpec() {
|
||||
client.start()
|
||||
clientWithReadTimeout.start()
|
||||
}
|
||||
|
||||
CloseableHttpAsyncClient getClient(URI uri) {
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
return clientWithReadTimeout
|
||||
}
|
||||
return client
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -44,6 +62,11 @@ abstract class ApacheHttpAsyncClientTest extends HttpClientTest<HttpUriRequest>
|
|||
return 302
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
|
||||
@Override
|
||||
HttpUriRequest buildRequest(String method, URI uri, Map<String, String> headers) {
|
||||
def request = createRequest(method, uri)
|
||||
|
@ -128,12 +151,12 @@ class ApacheClientUriRequest extends ApacheHttpAsyncClientTest {
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(request, null).get()
|
||||
return getClient(uri).execute(request, null).get()
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, FutureCallback<HttpResponse> callback) {
|
||||
client.execute(request, callback)
|
||||
getClient(uri).execute(request, callback)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -146,12 +169,12 @@ class ApacheClientHostRequest extends ApacheHttpAsyncClientTest {
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, null).get()
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, null).get()
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, FutureCallback<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, callback)
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, callback)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,11 +187,11 @@ class ApacheClientHostAbsoluteUriRequest extends ApacheHttpAsyncClientTest {
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, null).get()
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, null).get()
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, FutureCallback<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, callback)
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, callback)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import io.opentelemetry.instrumentation.test.AgentTestTrait
|
|||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||
import org.apache.commons.httpclient.HttpClient
|
||||
import org.apache.commons.httpclient.HttpConnectionManager
|
||||
import org.apache.commons.httpclient.HttpMethod
|
||||
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
|
||||
import org.apache.commons.httpclient.methods.DeleteMethod
|
||||
|
@ -21,10 +22,26 @@ import spock.lang.Shared
|
|||
|
||||
class CommonsHttpClientTest extends HttpClientTest<HttpMethod> implements AgentTestTrait {
|
||||
@Shared
|
||||
HttpClient client = new HttpClient(new MultiThreadedHttpConnectionManager())
|
||||
HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager()
|
||||
@Shared
|
||||
HttpClient client = buildClient(false)
|
||||
@Shared
|
||||
HttpClient clientWithReadTimeout = buildClient(true)
|
||||
|
||||
def setupSpec() {
|
||||
def buildClient(boolean readTimeout) {
|
||||
HttpClient client = new HttpClient(connectionManager)
|
||||
client.setConnectionTimeout(CONNECT_TIMEOUT_MS)
|
||||
if (readTimeout) {
|
||||
client.setTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
return client
|
||||
}
|
||||
|
||||
HttpClient getClient(URI uri) {
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
return clientWithReadTimeout
|
||||
}
|
||||
return client
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -62,7 +79,7 @@ class CommonsHttpClientTest extends HttpClientTest<HttpMethod> implements AgentT
|
|||
@Override
|
||||
int sendRequest(HttpMethod request, String method, URI uri, Map<String, String> headers) {
|
||||
try {
|
||||
client.executeMethod(request)
|
||||
getClient(uri).executeMethod(request)
|
||||
return request.getStatusCode()
|
||||
} finally {
|
||||
request.releaseConnection()
|
||||
|
@ -86,6 +103,11 @@ class CommonsHttpClientTest extends HttpClientTest<HttpMethod> implements AgentT
|
|||
false
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
|
||||
@Override
|
||||
Set<AttributeKey<?>> httpAttributes(URI uri) {
|
||||
Set<AttributeKey<?>> extra = [
|
||||
|
|
|
@ -29,15 +29,28 @@ import java.util.function.Consumer
|
|||
|
||||
abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest<T> implements AgentTestTrait {
|
||||
@Shared
|
||||
DefaultHttpClient client
|
||||
DefaultHttpClient client = buildClient(false)
|
||||
|
||||
def setupSpec() {
|
||||
@Shared
|
||||
DefaultHttpClient clientWithReadTimeout = buildClient(true)
|
||||
|
||||
DefaultHttpClient buildClient(boolean readTimeout) {
|
||||
HttpParams httpParams = new BasicHttpParams()
|
||||
HttpConnectionParams.setConnectionTimeout(httpParams, CONNECT_TIMEOUT_MS)
|
||||
if (readTimeout) {
|
||||
HttpConnectionParams.setSoTimeout(httpParams, READ_TIMEOUT_MS)
|
||||
}
|
||||
httpParams.setParameter(ClientPNames.CONNECTION_MANAGER_FACTORY_CLASS_NAME, ThreadSafeClientConnManagerFactory.getName())
|
||||
client = new DefaultHttpClient(httpParams)
|
||||
}
|
||||
|
||||
DefaultHttpClient getClient(URI uri) {
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
return clientWithReadTimeout
|
||||
}
|
||||
return client
|
||||
}
|
||||
|
||||
static class ThreadSafeClientConnManagerFactory implements ClientConnectionManagerFactory {
|
||||
@Override
|
||||
ClientConnectionManager newInstance(HttpParams httpParams, SchemeRegistry schemeRegistry) {
|
||||
|
@ -47,6 +60,7 @@ abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTes
|
|||
|
||||
def cleanupSpec() {
|
||||
client.getConnectionManager().shutdown()
|
||||
clientWithReadTimeout.getConnectionManager().shutdown()
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -54,6 +68,11 @@ abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTes
|
|||
return "apachehttpclient"
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
|
||||
@Override
|
||||
T buildRequest(String method, URI uri, Map<String, String> headers) {
|
||||
def request = createRequest(method, uri)
|
||||
|
@ -126,12 +145,12 @@ class ApacheClientHostRequest extends ApacheHttpClientTest<BasicHttpRequest> {
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
callback.accept(it)
|
||||
}
|
||||
}
|
||||
|
@ -145,12 +164,12 @@ class ApacheClientHostAbsoluteUriRequest extends ApacheHttpClientTest<BasicHttpR
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
callback.accept(it)
|
||||
}
|
||||
}
|
||||
|
@ -165,12 +184,12 @@ class ApacheClientHostRequestContext extends ApacheHttpClientTest<BasicHttpReque
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
callback.accept(it)
|
||||
}, new BasicHttpContext())
|
||||
}
|
||||
|
@ -184,12 +203,12 @@ class ApacheClientHostAbsoluteUriRequestContext extends ApacheHttpClientTest<Bas
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
callback.accept(it)
|
||||
}, new BasicHttpContext())
|
||||
}
|
||||
|
@ -203,12 +222,12 @@ class ApacheClientUriRequest extends ApacheHttpClientTest<HttpUriRequest> {
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(request)
|
||||
return getClient(uri).execute(request)
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(request) {
|
||||
getClient(uri).execute(request) {
|
||||
callback.accept(it)
|
||||
}
|
||||
}
|
||||
|
@ -222,12 +241,12 @@ class ApacheClientUriRequestContext extends ApacheHttpClientTest<HttpUriRequest>
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(request, new BasicHttpContext())
|
||||
return getClient(uri).execute(request, new BasicHttpContext())
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(request, {
|
||||
getClient(uri).execute(request, {
|
||||
callback.accept(it)
|
||||
}, new BasicHttpContext())
|
||||
}
|
||||
|
|
|
@ -11,12 +11,15 @@ import org.apache.http.impl.client.CloseableHttpClient
|
|||
|
||||
class ApacheClientHostAbsoluteUriRequestContextTest extends AbstractApacheClientHostAbsoluteUriRequestContextTest implements LibraryTestTrait {
|
||||
@Override
|
||||
protected CloseableHttpClient createClient() {
|
||||
protected CloseableHttpClient createClient(boolean readTimeout) {
|
||||
def builder = ApacheHttpClientTracing.create(openTelemetry).newHttpClientBuilder()
|
||||
builder.defaultRequestConfig = RequestConfig.custom()
|
||||
def requestConfigBuilder = RequestConfig.custom()
|
||||
.setMaxRedirects(maxRedirects())
|
||||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
if (readTimeout) {
|
||||
requestConfigBuilder.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
builder.defaultRequestConfig = requestConfigBuilder.build()
|
||||
return builder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,12 +11,15 @@ import org.apache.http.impl.client.CloseableHttpClient
|
|||
|
||||
class ApacheClientHostAbsoluteUriRequestTest extends AbstractApacheClientHostAbsoluteUriRequestTest implements LibraryTestTrait {
|
||||
@Override
|
||||
protected CloseableHttpClient createClient() {
|
||||
protected CloseableHttpClient createClient(boolean readTimeout) {
|
||||
def builder = ApacheHttpClientTracing.create(openTelemetry).newHttpClientBuilder()
|
||||
builder.defaultRequestConfig = RequestConfig.custom()
|
||||
def requestConfigBuilder = RequestConfig.custom()
|
||||
.setMaxRedirects(maxRedirects())
|
||||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
if (readTimeout) {
|
||||
requestConfigBuilder.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
builder.defaultRequestConfig = requestConfigBuilder.build()
|
||||
return builder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,12 +11,15 @@ import org.apache.http.impl.client.CloseableHttpClient
|
|||
|
||||
class ApacheClientHostRequestContextTest extends AbstractApacheClientHostRequestContextTest implements LibraryTestTrait {
|
||||
@Override
|
||||
protected CloseableHttpClient createClient() {
|
||||
protected CloseableHttpClient createClient(boolean readTimeout) {
|
||||
def builder = ApacheHttpClientTracing.create(openTelemetry).newHttpClientBuilder()
|
||||
builder.defaultRequestConfig = RequestConfig.custom()
|
||||
def requestConfigBuilder = RequestConfig.custom()
|
||||
.setMaxRedirects(maxRedirects())
|
||||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
if (readTimeout) {
|
||||
requestConfigBuilder.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
builder.defaultRequestConfig = requestConfigBuilder.build()
|
||||
return builder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,12 +11,15 @@ import org.apache.http.impl.client.CloseableHttpClient
|
|||
|
||||
class ApacheClientHostRequestTest extends AbstractApacheClientHostRequestTest implements LibraryTestTrait {
|
||||
@Override
|
||||
protected CloseableHttpClient createClient() {
|
||||
protected CloseableHttpClient createClient(boolean readTimeout) {
|
||||
def builder = ApacheHttpClientTracing.create(openTelemetry).newHttpClientBuilder()
|
||||
builder.defaultRequestConfig = RequestConfig.custom()
|
||||
def requestConfigBuilder = RequestConfig.custom()
|
||||
.setMaxRedirects(maxRedirects())
|
||||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
if (readTimeout) {
|
||||
requestConfigBuilder.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
builder.defaultRequestConfig = requestConfigBuilder.build()
|
||||
return builder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,12 +11,15 @@ import org.apache.http.impl.client.CloseableHttpClient
|
|||
|
||||
class ApacheClientUriRequestContextTest extends AbstractApacheClientUriRequestContextTest implements LibraryTestTrait {
|
||||
@Override
|
||||
protected CloseableHttpClient createClient() {
|
||||
protected CloseableHttpClient createClient(boolean readTimeout) {
|
||||
def builder = ApacheHttpClientTracing.create(openTelemetry).newHttpClientBuilder()
|
||||
builder.defaultRequestConfig = RequestConfig.custom()
|
||||
def requestConfigBuilder = RequestConfig.custom()
|
||||
.setMaxRedirects(maxRedirects())
|
||||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
if (readTimeout) {
|
||||
requestConfigBuilder.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
builder.defaultRequestConfig = requestConfigBuilder.build()
|
||||
return builder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,12 +11,15 @@ import org.apache.http.impl.client.CloseableHttpClient
|
|||
|
||||
class ApacheClientUriRequestTest extends AbstractApacheClientUriRequestTest implements LibraryTestTrait {
|
||||
@Override
|
||||
protected CloseableHttpClient createClient() {
|
||||
protected CloseableHttpClient createClient(boolean readTimeout) {
|
||||
def builder = ApacheHttpClientTracing.create(openTelemetry).newHttpClientBuilder()
|
||||
builder.defaultRequestConfig = RequestConfig.custom()
|
||||
def requestConfigBuilder = RequestConfig.custom()
|
||||
.setMaxRedirects(maxRedirects())
|
||||
.setConnectTimeout(CONNECT_TIMEOUT_MS)
|
||||
.build()
|
||||
if (readTimeout) {
|
||||
requestConfigBuilder.setSocketTimeout(READ_TIMEOUT_MS)
|
||||
}
|
||||
builder.defaultRequestConfig = requestConfigBuilder.build()
|
||||
return builder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.util.function.Consumer
|
|||
|
||||
abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest<T> {
|
||||
|
||||
abstract protected CloseableHttpClient createClient()
|
||||
abstract protected CloseableHttpClient createClient(boolean readTimeout)
|
||||
|
||||
@Override
|
||||
String userAgent() {
|
||||
|
@ -34,8 +34,23 @@ abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTes
|
|||
return 302
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
|
||||
@Shared
|
||||
CloseableHttpClient client = createClient()
|
||||
CloseableHttpClient client = createClient(false)
|
||||
|
||||
@Shared
|
||||
CloseableHttpClient clientWithReadTimeout = createClient(true)
|
||||
|
||||
CloseableHttpClient getClient(URI uri) {
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
return clientWithReadTimeout
|
||||
}
|
||||
return client
|
||||
}
|
||||
|
||||
@Override
|
||||
T buildRequest(String method, URI uri, Map<String, String> headers) {
|
||||
|
@ -109,12 +124,12 @@ abstract class AbstractApacheClientHostRequestTest extends ApacheHttpClientTest<
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
callback.accept(it)
|
||||
}
|
||||
}
|
||||
|
@ -128,12 +143,12 @@ abstract class AbstractApacheClientHostAbsoluteUriRequestTest extends ApacheHttp
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request)
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request) {
|
||||
callback.accept(it)
|
||||
}
|
||||
}
|
||||
|
@ -148,12 +163,12 @@ abstract class AbstractApacheClientHostRequestContextTest extends ApacheHttpClie
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
callback.accept(it)
|
||||
}, new BasicHttpContext())
|
||||
}
|
||||
|
@ -167,12 +182,12 @@ abstract class AbstractApacheClientHostAbsoluteUriRequestContextTest extends Apa
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(BasicHttpRequest request, URI uri) {
|
||||
return client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
return getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, new BasicHttpContext())
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(BasicHttpRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
getClient(uri).execute(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), request, {
|
||||
callback.accept(it)
|
||||
}, new BasicHttpContext())
|
||||
}
|
||||
|
@ -186,12 +201,12 @@ abstract class AbstractApacheClientUriRequestTest extends ApacheHttpClientTest<H
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(request)
|
||||
return getClient(uri).execute(request)
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(request) {
|
||||
getClient(uri).execute(request) {
|
||||
callback.accept(it)
|
||||
}
|
||||
}
|
||||
|
@ -205,12 +220,12 @@ abstract class AbstractApacheClientUriRequestContextTest extends ApacheHttpClien
|
|||
|
||||
@Override
|
||||
HttpResponse executeRequest(HttpUriRequest request, URI uri) {
|
||||
return client.execute(request, new BasicHttpContext())
|
||||
return getClient(uri).execute(request, new BasicHttpContext())
|
||||
}
|
||||
|
||||
@Override
|
||||
void executeRequestWithCallback(HttpUriRequest request, URI uri, Consumer<HttpResponse> callback) {
|
||||
client.execute(request, {
|
||||
getClient(uri).execute(request, {
|
||||
callback.accept(it)
|
||||
}, new BasicHttpContext())
|
||||
}
|
||||
|
|
|
@ -30,12 +30,20 @@ abstract class AbstractGoogleHttpClientTest extends HttpClientTest<HttpRequest>
|
|||
return false
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
|
||||
@Override
|
||||
HttpRequest buildRequest(String method, URI uri, Map<String, String> headers) {
|
||||
def genericUrl = new GenericUrl(uri)
|
||||
|
||||
def request = requestFactory.buildRequest(method, genericUrl, null)
|
||||
request.connectTimeout = CONNECT_TIMEOUT_MS
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
request.readTimeout = READ_TIMEOUT_MS
|
||||
}
|
||||
|
||||
// GenericData::putAll method converts all known http headers to List<String>
|
||||
// and lowercase all other headers
|
||||
|
|
|
@ -18,6 +18,9 @@ class HttpUrlConnectionResponseCodeOnlyTest extends HttpClientTest<HttpURLConnec
|
|||
try {
|
||||
connection.setRequestMethod(method)
|
||||
connection.connectTimeout = CONNECT_TIMEOUT_MS
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
connection.readTimeout = READ_TIMEOUT_MS
|
||||
}
|
||||
headers.each { connection.setRequestProperty(it.key, it.value) }
|
||||
connection.setRequestProperty("Connection", "close")
|
||||
return connection.getResponseCode()
|
||||
|
@ -46,4 +49,9 @@ class HttpUrlConnectionResponseCodeOnlyTest extends HttpClientTest<HttpURLConnec
|
|||
boolean testCallback() {
|
||||
return false
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,9 @@ class HttpUrlConnectionUseCachesFalseTest extends HttpClientTest<HttpURLConnecti
|
|||
connection.setRequestProperty("Connection", "close")
|
||||
connection.useCaches = false
|
||||
connection.connectTimeout = CONNECT_TIMEOUT_MS
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
connection.readTimeout = READ_TIMEOUT_MS
|
||||
}
|
||||
def parentSpan = Span.current()
|
||||
def stream = connection.inputStream
|
||||
assert Span.current() == parentSpan
|
||||
|
@ -53,4 +56,9 @@ class HttpUrlConnectionUseCachesFalseTest extends HttpClientTest<HttpURLConnecti
|
|||
boolean testCallback() {
|
||||
return false
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,9 @@ class JdkHttpClientTest extends HttpClientTest<HttpRequest> implements AgentTest
|
|||
headers.entrySet().each {
|
||||
requestBuilder.header(it.key, it.value)
|
||||
}
|
||||
if (uri.toString().contains("/read-timeout")) {
|
||||
requestBuilder.timeout(Duration.of(READ_TIMEOUT_MS, ChronoUnit.MILLIS))
|
||||
}
|
||||
return requestBuilder.build()
|
||||
}
|
||||
|
||||
|
@ -58,4 +61,9 @@ class JdkHttpClientTest extends HttpClientTest<HttpRequest> implements AgentTest
|
|||
boolean testWithClientParent() {
|
||||
false
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean testReadTimeout() {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue