Support library instrumentations with HttpServerTest & HttpClientTest (#2299)
This commit is contained in:
parent
33195bde8b
commit
ee090aee1e
|
@ -11,12 +11,13 @@ import akka.http.javadsl.model.HttpMethods
|
||||||
import akka.http.javadsl.model.HttpRequest
|
import akka.http.javadsl.model.HttpRequest
|
||||||
import akka.http.javadsl.model.headers.RawHeader
|
import akka.http.javadsl.model.headers.RawHeader
|
||||||
import akka.stream.ActorMaterializer
|
import akka.stream.ActorMaterializer
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class AkkaHttpClientInstrumentationTest extends HttpClientTest {
|
class AkkaHttpClientInstrumentationTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
ActorSystem system = ActorSystem.create()
|
ActorSystem system = ActorSystem.create()
|
||||||
|
|
|
@ -3,9 +3,10 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
|
|
||||||
abstract class AkkaHttpServerInstrumentationTest extends HttpServerTest<Object> {
|
abstract class AkkaHttpServerInstrumentationTest extends HttpServerTest<Object> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
boolean testExceptionBody() {
|
boolean testExceptionBody() {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
import org.apache.http.HttpResponse
|
import org.apache.http.HttpResponse
|
||||||
|
@ -15,7 +16,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class ApacheHttpAsyncClientCallbackTest extends HttpClientTest {
|
class ApacheHttpAsyncClientCallbackTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
RequestConfig requestConfig = RequestConfig.custom()
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.Future
|
import java.util.concurrent.Future
|
||||||
import org.apache.http.client.config.RequestConfig
|
import org.apache.http.client.config.RequestConfig
|
||||||
|
@ -13,7 +14,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class ApacheHttpAsyncClientNullCallbackTest extends HttpClientTest {
|
class ApacheHttpAsyncClientNullCallbackTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
RequestConfig requestConfig = RequestConfig.custom()
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.CountDownLatch
|
import java.util.concurrent.CountDownLatch
|
||||||
import org.apache.http.HttpResponse
|
import org.apache.http.HttpResponse
|
||||||
|
@ -15,7 +16,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class ApacheHttpAsyncClientTest extends HttpClientTest {
|
class ApacheHttpAsyncClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
RequestConfig requestConfig = RequestConfig.custom()
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import org.apache.commons.httpclient.HttpClient
|
import org.apache.commons.httpclient.HttpClient
|
||||||
import org.apache.commons.httpclient.HttpMethod
|
import org.apache.commons.httpclient.HttpMethod
|
||||||
|
@ -17,7 +18,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class CommonsHttpClientTest extends HttpClientTest {
|
class CommonsHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
@Shared
|
@Shared
|
||||||
HttpClient client = new HttpClient()
|
HttpClient client = new HttpClient()
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import org.apache.http.HttpResponse
|
import org.apache.http.HttpResponse
|
||||||
import org.apache.http.client.ResponseHandler
|
import org.apache.http.client.ResponseHandler
|
||||||
|
@ -14,7 +15,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class ApacheHttpClientResponseHandlerTest extends HttpClientTest {
|
class ApacheHttpClientResponseHandlerTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def client = new DefaultHttpClient()
|
def client = new DefaultHttpClient()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import org.apache.http.HttpHost
|
import org.apache.http.HttpHost
|
||||||
import org.apache.http.HttpRequest
|
import org.apache.http.HttpRequest
|
||||||
|
@ -16,7 +17,7 @@ import org.apache.http.protocol.BasicHttpContext
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest {
|
abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest implements AgentTestTrait {
|
||||||
@Shared
|
@Shared
|
||||||
def client = new DefaultHttpClient()
|
def client = new DefaultHttpClient()
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,12 @@ import com.ning.http.client.Request
|
||||||
import com.ning.http.client.RequestBuilder
|
import com.ning.http.client.RequestBuilder
|
||||||
import com.ning.http.client.Response
|
import com.ning.http.client.Response
|
||||||
import com.ning.http.client.uri.Uri
|
import com.ning.http.client.uri.Uri
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import spock.lang.AutoCleanup
|
import spock.lang.AutoCleanup
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
class AsyncHttpClientTest extends HttpClientTest {
|
class AsyncHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@AutoCleanup
|
@AutoCleanup
|
||||||
@Shared
|
@Shared
|
||||||
|
|
|
@ -18,18 +18,19 @@ import io.dropwizard.setup.Bootstrap
|
||||||
import io.dropwizard.setup.Environment
|
import io.dropwizard.setup.Environment
|
||||||
import io.dropwizard.testing.ConfigOverride
|
import io.dropwizard.testing.ConfigOverride
|
||||||
import io.dropwizard.testing.DropwizardTestSupport
|
import io.dropwizard.testing.DropwizardTestSupport
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.instrumentation.test.utils.PortUtils
|
import io.opentelemetry.instrumentation.test.utils.PortUtils
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
import javax.ws.rs.GET
|
import javax.ws.rs.GET
|
||||||
import javax.ws.rs.Path
|
import javax.ws.rs.Path
|
||||||
import javax.ws.rs.PathParam
|
import javax.ws.rs.PathParam
|
||||||
import javax.ws.rs.QueryParam
|
import javax.ws.rs.QueryParam
|
||||||
import javax.ws.rs.core.Response
|
import javax.ws.rs.core.Response
|
||||||
|
|
||||||
class DropwizardTest extends HttpServerTest<DropwizardTestSupport> {
|
class DropwizardTest extends HttpServerTest<DropwizardTestSupport> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
DropwizardTestSupport startServer(int port) {
|
DropwizardTestSupport startServer(int port) {
|
||||||
|
|
|
@ -13,11 +13,12 @@ import com.twitter.util.Await
|
||||||
import com.twitter.util.Closable
|
import com.twitter.util.Closable
|
||||||
import com.twitter.util.Duration
|
import com.twitter.util.Duration
|
||||||
import com.twitter.util.Promise
|
import com.twitter.util.Promise
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
|
||||||
class FinatraServerLatestTest extends HttpServerTest<HttpServer> {
|
class FinatraServerLatestTest extends HttpServerTest<HttpServer> implements AgentTestTrait {
|
||||||
private static final Duration TIMEOUT = Duration.fromSeconds(5)
|
private static final Duration TIMEOUT = Duration.fromSeconds(5)
|
||||||
private static final Duration STARTUP_TIMEOUT = Duration.fromSeconds(20)
|
private static final Duration STARTUP_TIMEOUT = Duration.fromSeconds(20)
|
||||||
|
|
||||||
|
|
|
@ -10,12 +10,13 @@ import com.twitter.finatra.http.HttpServer
|
||||||
import com.twitter.util.Await
|
import com.twitter.util.Await
|
||||||
import com.twitter.util.Closable
|
import com.twitter.util.Closable
|
||||||
import com.twitter.util.Duration
|
import com.twitter.util.Duration
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
import java.util.concurrent.TimeoutException
|
import java.util.concurrent.TimeoutException
|
||||||
|
|
||||||
class FinatraServerTest extends HttpServerTest<HttpServer> {
|
class FinatraServerTest extends HttpServerTest<HttpServer> implements AgentTestTrait {
|
||||||
private static final Duration TIMEOUT = Duration.fromSeconds(5)
|
private static final Duration TIMEOUT = Duration.fromSeconds(5)
|
||||||
private static final long STARTUP_TIMEOUT = 40 * 1000
|
private static final long STARTUP_TIMEOUT = 40 * 1000
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,12 @@ import com.google.api.client.http.GenericUrl
|
||||||
import com.google.api.client.http.HttpRequest
|
import com.google.api.client.http.HttpRequest
|
||||||
import com.google.api.client.http.HttpResponse
|
import com.google.api.client.http.HttpResponse
|
||||||
import com.google.api.client.http.javanet.NetHttpTransport
|
import com.google.api.client.http.javanet.NetHttpTransport
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
abstract class AbstractGoogleHttpClientTest extends HttpClientTest {
|
abstract class AbstractGoogleHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def requestFactory = new NetHttpTransport().createRequestFactory()
|
def requestFactory = new NetHttpTransport().createRequestFactory()
|
||||||
|
|
|
@ -16,6 +16,7 @@ import static java.nio.charset.Charset.defaultCharset
|
||||||
import static java.util.concurrent.TimeUnit.MILLISECONDS
|
import static java.util.concurrent.TimeUnit.MILLISECONDS
|
||||||
import static org.glassfish.grizzly.memory.Buffers.wrap
|
import static org.glassfish.grizzly.memory.Buffers.wrap
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import java.util.concurrent.Executors
|
import java.util.concurrent.Executors
|
||||||
import org.glassfish.grizzly.filterchain.BaseFilter
|
import org.glassfish.grizzly.filterchain.BaseFilter
|
||||||
|
@ -36,7 +37,7 @@ import org.glassfish.grizzly.nio.transport.TCPNIOTransportBuilder
|
||||||
import org.glassfish.grizzly.utils.DelayedExecutor
|
import org.glassfish.grizzly.utils.DelayedExecutor
|
||||||
import org.glassfish.grizzly.utils.IdleTimeoutFilter
|
import org.glassfish.grizzly.utils.IdleTimeoutFilter
|
||||||
|
|
||||||
class GrizzlyFilterchainServerTest extends HttpServerTest<HttpServer> {
|
class GrizzlyFilterchainServerTest extends HttpServerTest<HttpServer> implements AgentTestTrait {
|
||||||
|
|
||||||
private TCPNIOTransport transport
|
private TCPNIOTransport transport
|
||||||
private TCPNIOServerConnection serverConnection
|
private TCPNIOServerConnection serverConnection
|
||||||
|
|
|
@ -9,6 +9,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import javax.ws.rs.GET
|
import javax.ws.rs.GET
|
||||||
import javax.ws.rs.NotFoundException
|
import javax.ws.rs.NotFoundException
|
||||||
|
@ -22,7 +23,7 @@ import org.glassfish.grizzly.http.server.Request
|
||||||
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory
|
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory
|
||||||
import org.glassfish.jersey.server.ResourceConfig
|
import org.glassfish.jersey.server.ResourceConfig
|
||||||
|
|
||||||
class GrizzlyTest extends HttpServerTest<HttpServer> {
|
class GrizzlyTest extends HttpServerTest<HttpServer> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
HttpServer startServer(int port) {
|
HttpServer startServer(int port) {
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class HttpUrlConnectionResponseCodeOnlyTest extends HttpClientTest {
|
class HttpUrlConnectionResponseCodeOnlyTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
|
|
|
@ -7,15 +7,16 @@ import static io.opentelemetry.api.trace.SpanKind.CLIENT
|
||||||
import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace
|
import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.Span
|
import io.opentelemetry.api.trace.Span
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
import spock.lang.Ignore
|
import spock.lang.Ignore
|
||||||
import spock.lang.Requires
|
import spock.lang.Requires
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
import sun.net.www.protocol.https.HttpsURLConnectionImpl
|
import sun.net.www.protocol.https.HttpsURLConnectionImpl
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class HttpUrlConnectionTest extends HttpClientTest {
|
class HttpUrlConnectionTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
static final RESPONSE = "Hello."
|
static final RESPONSE = "Hello."
|
||||||
static final STATUS = 200
|
static final STATUS = 200
|
||||||
|
|
|
@ -4,11 +4,12 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.Span
|
import io.opentelemetry.api.trace.Span
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class HttpUrlConnectionUseCachesFalseTest extends HttpClientTest {
|
class HttpUrlConnectionUseCachesFalseTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import org.springframework.http.HttpEntity
|
import org.springframework.http.HttpEntity
|
||||||
import org.springframework.http.HttpHeaders
|
import org.springframework.http.HttpHeaders
|
||||||
|
@ -15,7 +16,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class SpringRestTemplateTest extends HttpClientTest {
|
class SpringRestTemplateTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
ClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory()
|
ClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory()
|
||||||
|
|
|
@ -5,8 +5,9 @@
|
||||||
|
|
||||||
import static io.opentelemetry.api.trace.SpanKind.CLIENT
|
import static io.opentelemetry.api.trace.SpanKind.CLIENT
|
||||||
|
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
import java.net.http.HttpClient
|
import java.net.http.HttpClient
|
||||||
import java.net.http.HttpRequest
|
import java.net.http.HttpRequest
|
||||||
import java.net.http.HttpResponse
|
import java.net.http.HttpResponse
|
||||||
|
@ -17,7 +18,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
abstract class JdkHttpClientTest extends HttpClientTest {
|
abstract class JdkHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def client = HttpClient.newBuilder().connectTimeout(Duration.of(CONNECT_TIMEOUT_MS,
|
def client = HttpClient.newBuilder().connectTimeout(Duration.of(CONNECT_TIMEOUT_MS,
|
||||||
|
|
|
@ -7,12 +7,13 @@ import com.sun.jersey.api.client.Client
|
||||||
import com.sun.jersey.api.client.ClientResponse
|
import com.sun.jersey.api.client.ClientResponse
|
||||||
import com.sun.jersey.api.client.filter.GZIPContentEncodingFilter
|
import com.sun.jersey.api.client.filter.GZIPContentEncodingFilter
|
||||||
import com.sun.jersey.api.client.filter.LoggingFilter
|
import com.sun.jersey.api.client.filter.LoggingFilter
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class JaxRsClientV1Test extends HttpClientTest {
|
class JaxRsClientV1Test extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
Client client = Client.create()
|
Client client = Client.create()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.CountDownLatch
|
import java.util.concurrent.CountDownLatch
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
@ -21,7 +22,7 @@ import org.glassfish.jersey.client.JerseyClientBuilder
|
||||||
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
|
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
abstract class JaxRsClientAsyncTest extends HttpClientTest {
|
abstract class JaxRsClientAsyncTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
|
|
|
@ -5,8 +5,9 @@
|
||||||
|
|
||||||
import static io.opentelemetry.api.trace.SpanKind.CLIENT
|
import static io.opentelemetry.api.trace.SpanKind.CLIENT
|
||||||
|
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import javax.ws.rs.client.Client
|
import javax.ws.rs.client.Client
|
||||||
import javax.ws.rs.client.ClientBuilder
|
import javax.ws.rs.client.ClientBuilder
|
||||||
|
@ -23,7 +24,7 @@ import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
import spock.lang.Unroll
|
import spock.lang.Unroll
|
||||||
|
|
||||||
abstract class JaxRsClientTest extends HttpClientTest {
|
abstract class JaxRsClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.nio.charset.StandardCharsets
|
import java.nio.charset.StandardCharsets
|
||||||
import javax.ws.rs.GET
|
import javax.ws.rs.GET
|
||||||
|
@ -16,7 +17,7 @@ import org.apache.http.client.utils.URLEncodedUtils
|
||||||
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
|
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
|
||||||
import org.jboss.resteasy.specimpl.ResteasyUriBuilder
|
import org.jboss.resteasy.specimpl.ResteasyUriBuilder
|
||||||
|
|
||||||
class ResteasyProxyClientTest extends HttpClientTest {
|
class ResteasyProxyClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
def proxyMethodName = "${method}_${uri.path}".toLowerCase()
|
def proxyMethodName = "${method}_${uri.path}".toLowerCase()
|
||||||
|
|
|
@ -11,10 +11,11 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static java.util.concurrent.TimeUnit.SECONDS
|
import static java.util.concurrent.TimeUnit.SECONDS
|
||||||
import static org.junit.Assume.assumeTrue
|
import static org.junit.Assume.assumeTrue
|
||||||
|
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
import okhttp3.Call
|
import okhttp3.Call
|
||||||
import okhttp3.Callback
|
import okhttp3.Callback
|
||||||
|
@ -24,7 +25,7 @@ import okhttp3.Response
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
import spock.lang.Unroll
|
import spock.lang.Unroll
|
||||||
|
|
||||||
abstract class JaxRsHttpServerTest<S> extends HttpServerTest<S> {
|
abstract class JaxRsHttpServerTest<S> extends HttpServerTest<S> implements AgentTestTrait {
|
||||||
@Timeout(10)
|
@Timeout(10)
|
||||||
@Unroll
|
@Unroll
|
||||||
def "should handle #desc AsyncResponse"() {
|
def "should handle #desc AsyncResponse"() {
|
||||||
|
|
|
@ -10,6 +10,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import javax.servlet.DispatcherType
|
import javax.servlet.DispatcherType
|
||||||
|
@ -23,7 +24,7 @@ import org.eclipse.jetty.server.handler.AbstractHandler
|
||||||
import org.eclipse.jetty.server.handler.ErrorHandler
|
import org.eclipse.jetty.server.handler.ErrorHandler
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
class JettyHandlerTest extends HttpServerTest<Server> {
|
class JettyHandlerTest extends HttpServerTest<Server> implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
ErrorHandler errorHandler = new ErrorHandler() {
|
ErrorHandler errorHandler = new ErrorHandler() {
|
||||||
|
|
|
@ -3,10 +3,11 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import khttp.KHttp
|
import khttp.KHttp
|
||||||
|
|
||||||
class KHttpClientTest extends HttpClientTest {
|
class KHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
|
|
|
@ -11,13 +11,14 @@ import com.ning.http.client.AsyncCompletionHandler
|
||||||
import com.ning.http.client.AsyncHttpClient
|
import com.ning.http.client.AsyncHttpClient
|
||||||
import com.ning.http.client.AsyncHttpClientConfig
|
import com.ning.http.client.AsyncHttpClientConfig
|
||||||
import com.ning.http.client.Response
|
import com.ning.http.client.Response
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.ExecutionException
|
import java.util.concurrent.ExecutionException
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import spock.lang.AutoCleanup
|
import spock.lang.AutoCleanup
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
class Netty38ClientTest extends HttpClientTest {
|
class Netty38ClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def clientConfig = new AsyncHttpClientConfig.Builder()
|
def clientConfig = new AsyncHttpClientConfig.Builder()
|
||||||
|
|
|
@ -15,6 +15,7 @@ import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.CONTENT_TYPE
|
||||||
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.LOCATION
|
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.LOCATION
|
||||||
import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import org.jboss.netty.bootstrap.ServerBootstrap
|
import org.jboss.netty.bootstrap.ServerBootstrap
|
||||||
import org.jboss.netty.buffer.ChannelBuffer
|
import org.jboss.netty.buffer.ChannelBuffer
|
||||||
|
@ -41,7 +42,7 @@ import org.jboss.netty.logging.InternalLoggerFactory
|
||||||
import org.jboss.netty.logging.Slf4JLoggerFactory
|
import org.jboss.netty.logging.Slf4JLoggerFactory
|
||||||
import org.jboss.netty.util.CharsetUtil
|
import org.jboss.netty.util.CharsetUtil
|
||||||
|
|
||||||
class Netty38ServerTest extends HttpServerTest<ServerBootstrap> {
|
class Netty38ServerTest extends HttpServerTest<ServerBootstrap> implements AgentTestTrait {
|
||||||
|
|
||||||
static final LoggingHandler LOGGING_HANDLER
|
static final LoggingHandler LOGGING_HANDLER
|
||||||
static {
|
static {
|
||||||
|
|
|
@ -11,13 +11,14 @@ import com.ning.http.client.AsyncCompletionHandler
|
||||||
import com.ning.http.client.AsyncHttpClient
|
import com.ning.http.client.AsyncHttpClient
|
||||||
import com.ning.http.client.AsyncHttpClientConfig
|
import com.ning.http.client.AsyncHttpClientConfig
|
||||||
import com.ning.http.client.Response
|
import com.ning.http.client.Response
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.ExecutionException
|
import java.util.concurrent.ExecutionException
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import spock.lang.AutoCleanup
|
import spock.lang.AutoCleanup
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
class Netty38ClientTest extends HttpClientTest {
|
class Netty38ClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def clientConfig = new AsyncHttpClientConfig.Builder()
|
def clientConfig = new AsyncHttpClientConfig.Builder()
|
||||||
|
|
|
@ -15,6 +15,7 @@ import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.CONTENT_TYPE
|
||||||
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.LOCATION
|
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.LOCATION
|
||||||
import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import org.jboss.netty.bootstrap.ServerBootstrap
|
import org.jboss.netty.bootstrap.ServerBootstrap
|
||||||
import org.jboss.netty.buffer.ChannelBuffer
|
import org.jboss.netty.buffer.ChannelBuffer
|
||||||
|
@ -41,7 +42,7 @@ import org.jboss.netty.logging.InternalLoggerFactory
|
||||||
import org.jboss.netty.logging.Slf4JLoggerFactory
|
import org.jboss.netty.logging.Slf4JLoggerFactory
|
||||||
import org.jboss.netty.util.CharsetUtil
|
import org.jboss.netty.util.CharsetUtil
|
||||||
|
|
||||||
class Netty38ServerTest extends HttpServerTest<ServerBootstrap> {
|
class Netty38ServerTest extends HttpServerTest<ServerBootstrap> implements AgentTestTrait {
|
||||||
|
|
||||||
static final LoggingHandler LOGGING_HANDLER
|
static final LoggingHandler LOGGING_HANDLER
|
||||||
static {
|
static {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import static io.opentelemetry.instrumentation.test.utils.TraceUtils.basicSpan
|
||||||
import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace
|
import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace
|
||||||
import static org.asynchttpclient.Dsl.asyncHttpClient
|
import static org.asynchttpclient.Dsl.asyncHttpClient
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.ExecutionException
|
import java.util.concurrent.ExecutionException
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
@ -20,7 +21,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class Netty40ClientTest extends HttpClientTest {
|
class Netty40ClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def clientConfig = DefaultAsyncHttpClientConfig.Builder.newInstance().setRequestTimeout(TimeUnit.SECONDS.toMillis(10).toInteger())
|
def clientConfig = DefaultAsyncHttpClientConfig.Builder.newInstance().setRequestTimeout(TimeUnit.SECONDS.toMillis(10).toInteger())
|
||||||
|
|
|
@ -34,9 +34,10 @@ import io.netty.handler.codec.http.HttpResponseStatus
|
||||||
import io.netty.handler.logging.LogLevel
|
import io.netty.handler.logging.LogLevel
|
||||||
import io.netty.handler.logging.LoggingHandler
|
import io.netty.handler.logging.LoggingHandler
|
||||||
import io.netty.util.CharsetUtil
|
import io.netty.util.CharsetUtil
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
|
|
||||||
class Netty40ServerTest extends HttpServerTest<EventLoopGroup> {
|
class Netty40ServerTest extends HttpServerTest<EventLoopGroup> implements AgentTestTrait {
|
||||||
|
|
||||||
static final LoggingHandler LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, LogLevel.DEBUG)
|
static final LoggingHandler LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, LogLevel.DEBUG)
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ import io.netty.handler.codec.http.HttpClientCodec
|
||||||
import io.netty.handler.codec.http.HttpHeaderNames
|
import io.netty.handler.codec.http.HttpHeaderNames
|
||||||
import io.netty.handler.codec.http.HttpMethod
|
import io.netty.handler.codec.http.HttpMethod
|
||||||
import io.netty.handler.codec.http.HttpVersion
|
import io.netty.handler.codec.http.HttpVersion
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.HttpClientTracingHandler
|
import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.HttpClientTracingHandler
|
||||||
import java.util.concurrent.ExecutionException
|
import java.util.concurrent.ExecutionException
|
||||||
|
@ -40,7 +41,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class Netty41ClientTest extends HttpClientTest {
|
class Netty41ClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def clientConfig = DefaultAsyncHttpClientConfig.Builder.newInstance().setRequestTimeout(TimeUnit.SECONDS.toMillis(10).toInteger())
|
def clientConfig = DefaultAsyncHttpClientConfig.Builder.newInstance().setRequestTimeout(TimeUnit.SECONDS.toMillis(10).toInteger())
|
||||||
|
|
|
@ -33,9 +33,10 @@ import io.netty.handler.codec.http.HttpServerCodec
|
||||||
import io.netty.handler.logging.LogLevel
|
import io.netty.handler.logging.LogLevel
|
||||||
import io.netty.handler.logging.LoggingHandler
|
import io.netty.handler.logging.LoggingHandler
|
||||||
import io.netty.util.CharsetUtil
|
import io.netty.util.CharsetUtil
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
|
|
||||||
class Netty41ServerTest extends HttpServerTest<EventLoopGroup> {
|
class Netty41ServerTest extends HttpServerTest<EventLoopGroup> implements AgentTestTrait {
|
||||||
|
|
||||||
static final LoggingHandler LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, LogLevel.DEBUG)
|
static final LoggingHandler LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, LogLevel.DEBUG)
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,14 @@ import com.squareup.okhttp.OkHttpClient
|
||||||
import com.squareup.okhttp.Request
|
import com.squareup.okhttp.Request
|
||||||
import com.squareup.okhttp.RequestBody
|
import com.squareup.okhttp.RequestBody
|
||||||
import com.squareup.okhttp.internal.http.HttpMethod
|
import com.squareup.okhttp.internal.http.HttpMethod
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class OkHttp2Test extends HttpClientTest {
|
class OkHttp2Test extends HttpClientTest implements AgentTestTrait {
|
||||||
@Shared
|
@Shared
|
||||||
def client = new OkHttpClient()
|
def client = new OkHttpClient()
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import okhttp3.Headers
|
import okhttp3.Headers
|
||||||
|
@ -14,7 +15,7 @@ import okhttp3.internal.http.HttpMethod
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class OkHttp3Test extends HttpClientTest {
|
class OkHttp3Test extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
def client = new OkHttpClient.Builder()
|
def client = new OkHttpClient.Builder()
|
||||||
.connectTimeout(CONNECT_TIMEOUT_MS, TimeUnit.MILLISECONDS)
|
.connectTimeout(CONNECT_TIMEOUT_MS, TimeUnit.MILLISECONDS)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
import akka.stream.ActorMaterializer
|
import akka.stream.ActorMaterializer
|
||||||
import akka.stream.ActorMaterializerSettings
|
import akka.stream.ActorMaterializerSettings
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import play.shaded.ahc.org.asynchttpclient.AsyncHttpClient
|
import play.shaded.ahc.org.asynchttpclient.AsyncHttpClient
|
||||||
import play.shaded.ahc.org.asynchttpclient.AsyncHttpClientConfig
|
import play.shaded.ahc.org.asynchttpclient.AsyncHttpClientConfig
|
||||||
|
@ -13,7 +14,7 @@ import play.shaded.ahc.org.asynchttpclient.DefaultAsyncHttpClient
|
||||||
import play.shaded.ahc.org.asynchttpclient.DefaultAsyncHttpClientConfig
|
import play.shaded.ahc.org.asynchttpclient.DefaultAsyncHttpClientConfig
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
abstract class PlayWsClientTestBase extends HttpClientTest {
|
abstract class PlayWsClientTestBase extends HttpClientTest implements AgentTestTrait {
|
||||||
@Shared
|
@Shared
|
||||||
ActorSystem system
|
ActorSystem system
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import play.GlobalSettings
|
import play.GlobalSettings
|
||||||
|
@ -13,7 +14,7 @@ import play.test.FakeApplication
|
||||||
import play.test.Helpers
|
import play.test.Helpers
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
|
|
||||||
class PlayWsClientTest extends HttpClientTest {
|
class PlayWsClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
@Shared
|
@Shared
|
||||||
def application = new FakeApplication(
|
def application = new FakeApplication(
|
||||||
new File("."),
|
new File("."),
|
||||||
|
|
|
@ -9,12 +9,13 @@ import static io.opentelemetry.api.trace.SpanKind.INTERNAL
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.EXCEPTION
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.EXCEPTION
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
import play.api.test.TestServer
|
import play.api.test.TestServer
|
||||||
|
|
||||||
class PlayServerTest extends HttpServerTest<TestServer> {
|
class PlayServerTest extends HttpServerTest<TestServer> implements AgentTestTrait {
|
||||||
@Override
|
@Override
|
||||||
TestServer startServer(int port) {
|
TestServer startServer(int port) {
|
||||||
def server = SyncServer.server(port)
|
def server = SyncServer.server(port)
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import play.libs.ws.WS
|
import play.libs.ws.WS
|
||||||
import spock.lang.AutoCleanup
|
import spock.lang.AutoCleanup
|
||||||
|
@ -15,7 +16,7 @@ import spock.lang.Timeout
|
||||||
// Play 2.6+ uses a separately versioned client that shades the underlying dependency
|
// Play 2.6+ uses a separately versioned client that shades the underlying dependency
|
||||||
// This means our built in instrumentation won't work.
|
// This means our built in instrumentation won't work.
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class PlayWsClientTest extends HttpClientTest {
|
class PlayWsClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
@Subject
|
@Subject
|
||||||
@Shared
|
@Shared
|
||||||
@AutoCleanup
|
@AutoCleanup
|
||||||
|
|
|
@ -12,6 +12,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -20,7 +21,7 @@ import play.mvc.Results
|
||||||
import play.routing.RoutingDsl
|
import play.routing.RoutingDsl
|
||||||
import play.server.Server
|
import play.server.Server
|
||||||
|
|
||||||
class PlayServerTest extends HttpServerTest<Server> {
|
class PlayServerTest extends HttpServerTest<Server> implements AgentTestTrait {
|
||||||
@Override
|
@Override
|
||||||
Server startServer(int port) {
|
Server startServer(int port) {
|
||||||
def router =
|
def router =
|
||||||
|
|
|
@ -12,6 +12,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -22,7 +23,7 @@ import play.mvc.Results
|
||||||
import play.routing.RoutingDsl
|
import play.routing.RoutingDsl
|
||||||
import play.server.Server
|
import play.server.Server
|
||||||
|
|
||||||
class PlayServerTest extends HttpServerTest<Server> {
|
class PlayServerTest extends HttpServerTest<Server> implements AgentTestTrait {
|
||||||
@Override
|
@Override
|
||||||
Server startServer(int port) {
|
Server startServer(int port) {
|
||||||
return Server.forRouter(Mode.TEST, port) { BuiltInComponents components ->
|
return Server.forRouter(Mode.TEST, port) { BuiltInComponents components ->
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
import ratpack.exec.ExecResult
|
import ratpack.exec.ExecResult
|
||||||
|
@ -15,7 +16,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class RatpackHttpClientTest extends HttpClientTest {
|
class RatpackHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@AutoCleanup
|
@AutoCleanup
|
||||||
@Shared
|
@Shared
|
||||||
|
|
|
@ -13,6 +13,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -21,7 +22,7 @@ import ratpack.groovy.test.embed.GroovyEmbeddedApp
|
||||||
import ratpack.handling.Context
|
import ratpack.handling.Context
|
||||||
import ratpack.test.embed.EmbeddedApp
|
import ratpack.test.embed.EmbeddedApp
|
||||||
|
|
||||||
class RatpackHttpServerTest extends HttpServerTest<EmbeddedApp> {
|
class RatpackHttpServerTest extends HttpServerTest<EmbeddedApp> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
EmbeddedApp startServer(int bindPort) {
|
EmbeddedApp startServer(int bindPort) {
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import reactor.netty.http.client.HttpClient
|
import reactor.netty.http.client.HttpClient
|
||||||
import reactor.netty.http.client.HttpClientResponse
|
import reactor.netty.http.client.HttpClientResponse
|
||||||
|
|
||||||
class ReactorNettyHttpClientTest extends HttpClientTest {
|
class ReactorNettyHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
boolean testRedirects() {
|
boolean testRedirects() {
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import reactor.netty.http.client.HttpClient
|
import reactor.netty.http.client.HttpClient
|
||||||
import reactor.netty.http.client.HttpClientResponse
|
import reactor.netty.http.client.HttpClientResponse
|
||||||
|
|
||||||
class ReactorNettyHttpClientTest extends HttpClientTest {
|
class ReactorNettyHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
boolean testRedirects() {
|
boolean testRedirects() {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.NOT_FOUND
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.NOT_FOUND
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import org.glassfish.embeddable.BootstrapProperties
|
import org.glassfish.embeddable.BootstrapProperties
|
||||||
|
@ -21,7 +22,7 @@ import org.glassfish.embeddable.archive.ScatteredArchive
|
||||||
* OSGi setup that requires {@link io.opentelemetry.javaagent.instrumentation.javaclassloader.ClassloadingInstrumentation}.
|
* OSGi setup that requires {@link io.opentelemetry.javaagent.instrumentation.javaclassloader.ClassloadingInstrumentation}.
|
||||||
*/
|
*/
|
||||||
// TODO: Figure out a better way to test with OSGi included.
|
// TODO: Figure out a better way to test with OSGi included.
|
||||||
class GlassFishServerTest extends HttpServerTest<GlassFish> {
|
class GlassFishServerTest extends HttpServerTest<GlassFish> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
URI buildAddress() {
|
URI buildAddress() {
|
||||||
|
|
|
@ -11,6 +11,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -19,7 +20,7 @@ import org.eclipse.jetty.server.Server
|
||||||
import org.eclipse.jetty.server.handler.ErrorHandler
|
import org.eclipse.jetty.server.handler.ErrorHandler
|
||||||
import org.eclipse.jetty.servlet.ServletContextHandler
|
import org.eclipse.jetty.servlet.ServletContextHandler
|
||||||
|
|
||||||
class JettyServlet2Test extends HttpServerTest<Server> {
|
class JettyServlet2Test extends HttpServerTest<Server> implements AgentTestTrait {
|
||||||
|
|
||||||
private static final CONTEXT = "ctx"
|
private static final CONTEXT = "ctx"
|
||||||
|
|
||||||
|
|
|
@ -10,13 +10,14 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import javax.servlet.Servlet
|
import javax.servlet.Servlet
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.RequestBody
|
import okhttp3.RequestBody
|
||||||
|
|
||||||
abstract class AbstractServlet3Test<SERVER, CONTEXT> extends HttpServerTest<SERVER> {
|
abstract class AbstractServlet3Test<SERVER, CONTEXT> extends HttpServerTest<SERVER> implements AgentTestTrait {
|
||||||
@Override
|
@Override
|
||||||
URI buildAddress() {
|
URI buildAddress() {
|
||||||
return new URI("http://localhost:$port$contextPath/")
|
return new URI("http://localhost:$port$contextPath/")
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import org.springframework.http.HttpMethod
|
import org.springframework.http.HttpMethod
|
||||||
import org.springframework.web.reactive.function.client.ClientResponse
|
import org.springframework.web.reactive.function.client.ClientResponse
|
||||||
|
@ -12,7 +13,7 @@ import org.springframework.web.reactive.function.client.WebClient
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(5)
|
@Timeout(5)
|
||||||
class SpringWebfluxHttpClientTest extends HttpClientTest {
|
class SpringWebfluxHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
int doRequest(String method, URI uri, Map<String, String> headers, Closure callback) {
|
||||||
|
|
|
@ -14,6 +14,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -24,7 +25,7 @@ import org.springframework.boot.SpringApplication
|
||||||
import org.springframework.context.ConfigurableApplicationContext
|
import org.springframework.context.ConfigurableApplicationContext
|
||||||
import org.springframework.web.servlet.view.RedirectView
|
import org.springframework.web.servlet.view.RedirectView
|
||||||
|
|
||||||
class SpringBootBasedTest extends HttpServerTest<ConfigurableApplicationContext> {
|
class SpringBootBasedTest extends HttpServerTest<ConfigurableApplicationContext> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
ConfigurableApplicationContext startServer(int port) {
|
ConfigurableApplicationContext startServer(int port) {
|
||||||
|
|
|
@ -12,6 +12,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -19,7 +20,7 @@ import org.springframework.boot.SpringApplication
|
||||||
import org.springframework.context.ConfigurableApplicationContext
|
import org.springframework.context.ConfigurableApplicationContext
|
||||||
import test.boot.SecurityConfig
|
import test.boot.SecurityConfig
|
||||||
|
|
||||||
class ServletFilterTest extends HttpServerTest<ConfigurableApplicationContext> {
|
class ServletFilterTest extends HttpServerTest<ConfigurableApplicationContext> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
ConfigurableApplicationContext startServer(int port) {
|
ConfigurableApplicationContext startServer(int port) {
|
||||||
|
|
|
@ -9,6 +9,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.SpanKind
|
import io.opentelemetry.api.trace.SpanKind
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -21,7 +22,7 @@ import org.eclipse.jetty.servlet.DefaultServlet
|
||||||
import org.eclipse.jetty.servlet.ServletContextHandler
|
import org.eclipse.jetty.servlet.ServletContextHandler
|
||||||
import org.eclipse.jetty.util.resource.FileResource
|
import org.eclipse.jetty.util.resource.FileResource
|
||||||
|
|
||||||
class Struts2ActionSpanTest extends HttpServerTest<Server> {
|
class Struts2ActionSpanTest extends HttpServerTest<Server> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
boolean testNotFound() {
|
boolean testNotFound() {
|
||||||
|
|
|
@ -11,6 +11,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -18,7 +19,7 @@ import org.apache.catalina.Context
|
||||||
import org.apache.catalina.startup.Tomcat
|
import org.apache.catalina.startup.Tomcat
|
||||||
import org.apache.tomcat.util.descriptor.web.ErrorPage
|
import org.apache.tomcat.util.descriptor.web.ErrorPage
|
||||||
|
|
||||||
class TomcatHandlerTest extends HttpServerTest<Tomcat> {
|
class TomcatHandlerTest extends HttpServerTest<Tomcat> implements AgentTestTrait {
|
||||||
|
|
||||||
def "Tomcat starts"() {
|
def "Tomcat starts"() {
|
||||||
expect:
|
expect:
|
||||||
|
|
|
@ -9,6 +9,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.undertow.Handlers
|
import io.undertow.Handlers
|
||||||
import io.undertow.Undertow
|
import io.undertow.Undertow
|
||||||
|
@ -16,7 +17,7 @@ import io.undertow.util.Headers
|
||||||
import io.undertow.util.StatusCodes
|
import io.undertow.util.StatusCodes
|
||||||
|
|
||||||
//TODO make test which mixes handlers and servlets
|
//TODO make test which mixes handlers and servlets
|
||||||
class UndertowServerTest extends HttpServerTest<Undertow> {
|
class UndertowServerTest extends HttpServerTest<Undertow> implements AgentTestTrait {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
Undertow startServer(int port) {
|
Undertow startServer(int port) {
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import io.vertx.circuitbreaker.CircuitBreakerOptions
|
import io.vertx.circuitbreaker.CircuitBreakerOptions
|
||||||
import io.vertx.core.VertxOptions
|
import io.vertx.core.VertxOptions
|
||||||
|
@ -18,7 +19,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(10)
|
@Timeout(10)
|
||||||
class VertxRxCircuitBreakerWebClientTest extends HttpClientTest {
|
class VertxRxCircuitBreakerWebClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
Vertx vertx = Vertx.vertx(new VertxOptions())
|
Vertx vertx = Vertx.vertx(new VertxOptions())
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import io.vertx.core.VertxOptions
|
import io.vertx.core.VertxOptions
|
||||||
import io.vertx.core.http.HttpMethod
|
import io.vertx.core.http.HttpMethod
|
||||||
|
@ -15,7 +16,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(10)
|
@Timeout(10)
|
||||||
class VertxRxWebClientTest extends HttpClientTest {
|
class VertxRxWebClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
Vertx vertx = Vertx.vertx(new VertxOptions())
|
Vertx vertx = Vertx.vertx(new VertxOptions())
|
||||||
|
|
|
@ -12,6 +12,7 @@ import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEn
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.REDIRECT
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.SUCCESS
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.vertx.core.DeploymentOptions
|
import io.vertx.core.DeploymentOptions
|
||||||
import io.vertx.core.Future
|
import io.vertx.core.Future
|
||||||
|
@ -23,7 +24,7 @@ import io.vertx.reactivex.ext.web.Router
|
||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
class VertxRxHttpServerTest extends HttpServerTest<Vertx> {
|
class VertxRxHttpServerTest extends HttpServerTest<Vertx> implements AgentTestTrait {
|
||||||
public static final String CONFIG_HTTP_SERVER_PORT = "http.server.port"
|
public static final String CONFIG_HTTP_SERVER_PORT = "http.server.port"
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
package client
|
package client
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
import io.opentelemetry.instrumentation.test.base.HttpClientTest
|
||||||
import io.vertx.core.Vertx
|
import io.vertx.core.Vertx
|
||||||
import io.vertx.core.VertxOptions
|
import io.vertx.core.VertxOptions
|
||||||
|
@ -16,7 +17,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Timeout
|
import spock.lang.Timeout
|
||||||
|
|
||||||
@Timeout(10)
|
@Timeout(10)
|
||||||
class VertxHttpClientTest extends HttpClientTest {
|
class VertxHttpClientTest extends HttpClientTest implements AgentTestTrait {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def vertx = Vertx.vertx(new VertxOptions())
|
def vertx = Vertx.vertx(new VertxOptions())
|
||||||
|
|
|
@ -7,6 +7,7 @@ package server
|
||||||
|
|
||||||
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.PATH_PARAM
|
import static io.opentelemetry.instrumentation.test.base.HttpServerTest.ServerEndpoint.PATH_PARAM
|
||||||
|
|
||||||
|
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
||||||
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
import io.opentelemetry.instrumentation.test.base.HttpServerTest
|
||||||
import io.vertx.core.AbstractVerticle
|
import io.vertx.core.AbstractVerticle
|
||||||
import io.vertx.core.DeploymentOptions
|
import io.vertx.core.DeploymentOptions
|
||||||
|
@ -16,9 +17,7 @@ import io.vertx.core.json.JsonObject
|
||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
class VertxHttpServerTest extends HttpServerTest<Vertx> {
|
class VertxHttpServerTest extends HttpServerTest<Vertx> implements AgentTestTrait {
|
||||||
public static final String CONFIG_HTTP_SERVER_PORT = "http.server.port"
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
Vertx startServer(int port) {
|
Vertx startServer(int port) {
|
||||||
Vertx server = Vertx.vertx(new VertxOptions()
|
Vertx server = Vertx.vertx(new VertxOptions()
|
||||||
|
@ -28,7 +27,7 @@ class VertxHttpServerTest extends HttpServerTest<Vertx> {
|
||||||
CompletableFuture<Void> future = new CompletableFuture<>()
|
CompletableFuture<Void> future = new CompletableFuture<>()
|
||||||
server.deployVerticle(verticle().getName(),
|
server.deployVerticle(verticle().getName(),
|
||||||
new DeploymentOptions()
|
new DeploymentOptions()
|
||||||
.setConfig(new JsonObject().put(CONFIG_HTTP_SERVER_PORT, port))
|
.setConfig(new JsonObject().put(VertxWebServer.CONFIG_HTTP_SERVER_PORT, port))
|
||||||
.setInstances(3)) { res ->
|
.setInstances(3)) { res ->
|
||||||
if (!res.succeeded()) {
|
if (!res.succeeded()) {
|
||||||
throw new RuntimeException("Cannot deploy server Verticle", res.cause())
|
throw new RuntimeException("Cannot deploy server Verticle", res.cause())
|
||||||
|
|
|
@ -20,10 +20,11 @@ import io.vertx.ext.web.Router;
|
||||||
import io.vertx.ext.web.RoutingContext;
|
import io.vertx.ext.web.RoutingContext;
|
||||||
|
|
||||||
public class VertxWebServer extends AbstractVerticle {
|
public class VertxWebServer extends AbstractVerticle {
|
||||||
|
public static final String CONFIG_HTTP_SERVER_PORT = "http.server.port";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Future<Void> startFuture) {
|
public void start(Future<Void> startFuture) {
|
||||||
int port = config().getInteger(VertxHttpServerTest.CONFIG_HTTP_SERVER_PORT);
|
int port = config().getInteger(CONFIG_HTTP_SERVER_PORT);
|
||||||
Router router = Router.router(vertx);
|
Router router = Router.router(vertx);
|
||||||
|
|
||||||
//noinspection Convert2Lambda
|
//noinspection Convert2Lambda
|
|
@ -16,7 +16,7 @@ import static org.junit.Assume.assumeTrue
|
||||||
import groovy.transform.stc.ClosureParams
|
import groovy.transform.stc.ClosureParams
|
||||||
import groovy.transform.stc.SimpleType
|
import groovy.transform.stc.SimpleType
|
||||||
import io.opentelemetry.api.trace.Span
|
import io.opentelemetry.api.trace.Span
|
||||||
import io.opentelemetry.instrumentation.test.AgentInstrumentationSpecification
|
import io.opentelemetry.instrumentation.test.InstrumentationSpecification
|
||||||
import io.opentelemetry.instrumentation.test.asserts.AttributesAssert
|
import io.opentelemetry.instrumentation.test.asserts.AttributesAssert
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
|
@ -30,7 +30,7 @@ import spock.lang.Shared
|
||||||
import spock.lang.Unroll
|
import spock.lang.Unroll
|
||||||
|
|
||||||
@Unroll
|
@Unroll
|
||||||
abstract class HttpClientTest extends AgentInstrumentationSpecification {
|
abstract class HttpClientTest extends InstrumentationSpecification {
|
||||||
protected static final BODY_METHODS = ["POST", "PUT"]
|
protected static final BODY_METHODS = ["POST", "PUT"]
|
||||||
protected static final CONNECT_TIMEOUT_MS = 5000
|
protected static final CONNECT_TIMEOUT_MS = 5000
|
||||||
protected static final BASIC_AUTH_KEY = "custom-authorization-header"
|
protected static final BASIC_AUTH_KEY = "custom-authorization-header"
|
||||||
|
|
|
@ -17,7 +17,7 @@ import static org.junit.Assume.assumeTrue
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.Span
|
import io.opentelemetry.api.trace.Span
|
||||||
import io.opentelemetry.api.trace.SpanKind
|
import io.opentelemetry.api.trace.SpanKind
|
||||||
import io.opentelemetry.instrumentation.test.AgentInstrumentationSpecification
|
import io.opentelemetry.instrumentation.test.InstrumentationSpecification
|
||||||
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
import io.opentelemetry.instrumentation.test.asserts.TraceAssert
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData
|
import io.opentelemetry.sdk.trace.data.SpanData
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
|
||||||
|
@ -29,7 +29,7 @@ import okhttp3.Response
|
||||||
import spock.lang.Unroll
|
import spock.lang.Unroll
|
||||||
|
|
||||||
@Unroll
|
@Unroll
|
||||||
abstract class HttpServerTest<SERVER> extends AgentInstrumentationSpecification implements HttpServerTestTrait<SERVER> {
|
abstract class HttpServerTest<SERVER> extends InstrumentationSpecification implements HttpServerTestTrait<SERVER> {
|
||||||
|
|
||||||
String expectedServerSpanName(ServerEndpoint endpoint) {
|
String expectedServerSpanName(ServerEndpoint endpoint) {
|
||||||
return endpoint == PATH_PARAM ? getContextPath() + "/path/:id/param" : endpoint.resolvePath(address).path
|
return endpoint == PATH_PARAM ? getContextPath() + "/path/:id/param" : endpoint.resolvePath(address).path
|
||||||
|
|
Loading…
Reference in New Issue