opentelemetry-java-instrume.../instrumentation/http-url-connection/javaagent/src/test/groovy/HttpUrlConnectionResponseCo...

58 lines
1.4 KiB
Groovy

/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
import io.opentelemetry.instrumentation.test.AgentTestTrait
import io.opentelemetry.instrumentation.test.base.HttpClientTest
class HttpUrlConnectionResponseCodeOnlyTest extends HttpClientTest<HttpURLConnection> implements AgentTestTrait {
@Override
HttpURLConnection buildRequest(String method, URI uri, Map<String, String> headers) {
return uri.toURL().openConnection() as HttpURLConnection
}
@Override
int sendRequest(HttpURLConnection connection, String method, URI uri, Map<String, String> headers) {
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()
} finally {
connection.disconnect()
}
}
@Override
int maxRedirects() {
20
}
@Override
Integer responseCodeOnRedirectError() {
return 302
}
@Override
boolean testReusedRequest() {
// HttpURLConnection can't be reused
return false
}
@Override
boolean testCallback() {
return false
}
@Override
boolean testReadTimeout() {
true
}
}