From d50393780655c462a7fd6402d411b963590edddf Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Wed, 9 Apr 2025 17:05:45 +0300 Subject: [PATCH] Remove guava dependency from testing-common (#13676) --- .../armeria-1.3/javaagent/build.gradle.kts | 3 +++ .../armeria-1.3/library/build.gradle.kts | 3 +++ .../library/build.gradle.kts | 1 - .../testing/build.gradle.kts | 2 -- .../library/build.gradle.kts | 1 - .../testing/build.gradle.kts | 2 -- .../awssdk/v1_11/Aws0ClientTest.java | 6 ++--- .../aws-sdk-1.11/testing/build.gradle.kts | 2 -- .../AbstractSqsSuppressReceiveSpansTest.java | 4 +-- .../awssdk/v1_11/AbstractSqsTracingTest.java | 10 ++++---- .../aws-sdk-2.2/testing/build.gradle.kts | 2 -- .../javaagent/build.gradle.kts | 1 + .../v23_11/AbstractServerTest.java | 8 ++---- .../jdbc/javaagent/build.gradle.kts | 1 + .../jetty/v11_0/JettyHandlerTest.java | 8 ++---- .../jetty/v12_0/Jetty12HandlerTest.java | 8 ++---- .../jetty/v8_0/JettyHandlerTest.java | 8 ++---- .../javaagent/build.gradle.kts | 1 + .../lettuce-5.0/javaagent/build.gradle.kts | 2 ++ .../common/LettuceArgSplitterTest.java | 25 +++++++++++-------- .../javaagent/build.gradle.kts | 1 + .../library/build.gradle.kts | 1 + .../testing/build.gradle.kts | 2 -- .../logback-mdc-1.0/testing/build.gradle.kts | 1 - .../netty/v4_1/AbstractNetty41ServerTest.java | 8 ++---- .../okhttp-3.0/testing/build.gradle.kts | 2 -- .../testing/build.gradle.kts | 1 - .../rxjava-2.0/testing/build.gradle.kts | 3 --- .../rxjava/v2_0/AbstractRxJava2Test.java | 22 ++++++++-------- .../rxjava-3-common/testing/build.gradle.kts | 1 - .../rxjava/v3/common/AbstractRxJava3Test.java | 22 ++++++++-------- .../javaagent/build.gradle.kts | 2 ++ .../DistroVersionResourceProviderTest.java | 4 +-- .../javaagent/build.gradle.kts | 1 + .../webmvc/v6_0/boot/SpringBootBasedTest.java | 4 +-- .../webmvc/v6_0/filter/ServletFilterTest.java | 5 ++-- .../spring-ws-2.0/javaagent/build.gradle.kts | 1 + .../undertow/UndertowServerDispatchTest.java | 4 +-- .../undertow/UndertowServerTest.java | 4 +-- .../spring-smoke-testing/build.gradle.kts | 1 + testing-common/build.gradle.kts | 1 - .../junit/http/HttpServerTestOptions.java | 3 ++- .../common/AgentTestingExporterAccess.java | 5 +++- .../build.gradle.kts | 2 ++ 44 files changed, 90 insertions(+), 109 deletions(-) diff --git a/instrumentation/armeria/armeria-1.3/javaagent/build.gradle.kts b/instrumentation/armeria/armeria-1.3/javaagent/build.gradle.kts index 64e7c0f61c..0966fc900a 100644 --- a/instrumentation/armeria/armeria-1.3/javaagent/build.gradle.kts +++ b/instrumentation/armeria/armeria-1.3/javaagent/build.gradle.kts @@ -19,6 +19,9 @@ dependencies { testLibrary("com.linecorp.armeria:armeria-junit5:1.3.0") testImplementation(project(":instrumentation:armeria:armeria-1.3:testing")) + + // needed for latest dep tests + testCompileOnly("com.google.errorprone:error_prone_annotations") } tasks { diff --git a/instrumentation/armeria/armeria-1.3/library/build.gradle.kts b/instrumentation/armeria/armeria-1.3/library/build.gradle.kts index 301d3b874b..eecec8f794 100644 --- a/instrumentation/armeria/armeria-1.3/library/build.gradle.kts +++ b/instrumentation/armeria/armeria-1.3/library/build.gradle.kts @@ -7,6 +7,9 @@ dependencies { library("com.linecorp.armeria:armeria:1.3.0") testImplementation(project(":instrumentation:armeria:armeria-1.3:testing")) + + // needed for latest dep tests + testCompileOnly("com.google.errorprone:error_prone_annotations") } tasks { diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts index 4fcb6700fd..df605add2f 100644 --- a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts +++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts @@ -23,7 +23,6 @@ dependencies { testImplementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator") testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") testImplementation("io.opentelemetry:opentelemetry-extension-trace-propagators") - testImplementation("com.google.guava:guava") testImplementation(project(":instrumentation:aws-lambda:aws-lambda-core-1.0:testing")) testImplementation("uk.org.webcompere:system-stubs-jupiter") diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/testing/build.gradle.kts b/instrumentation/aws-lambda/aws-lambda-core-1.0/testing/build.gradle.kts index b414e5a453..cfc8e4afb5 100644 --- a/instrumentation/aws-lambda/aws-lambda-core-1.0/testing/build.gradle.kts +++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/testing/build.gradle.kts @@ -10,8 +10,6 @@ dependencies { api("org.junit-pioneer:junit-pioneer") api("org.mockito:mockito-junit-jupiter") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") implementation("com.github.stefanbirkner:system-lambda") } diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/build.gradle.kts b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/build.gradle.kts index 02122a052b..baae82471b 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/build.gradle.kts +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/build.gradle.kts @@ -39,7 +39,6 @@ dependencies { testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") testImplementation("io.opentelemetry:opentelemetry-extension-trace-propagators") - testImplementation("com.google.guava:guava") testImplementation("com.amazonaws:aws-lambda-java-serialization:1.1.5") testImplementation(project(":instrumentation:aws-lambda:aws-lambda-events-2.2:testing")) diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/build.gradle.kts b/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/build.gradle.kts index 9eb92feeae..336b043423 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/build.gradle.kts +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/build.gradle.kts @@ -11,8 +11,6 @@ dependencies { api("org.junit-pioneer:junit-pioneer") api("org.mockito:mockito-junit-jupiter") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") implementation("com.github.stefanbirkner:system-lambda") } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test_before_1_11_106/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/Aws0ClientTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test_before_1_11_106/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/Aws0ClientTest.java index ecdb9e7ade..1272ae80c0 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test_before_1_11_106/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/Aws0ClientTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test_before_1_11_106/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/Aws0ClientTest.java @@ -23,6 +23,7 @@ import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SE import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SYSTEM; import static java.util.Arrays.asList; import static java.util.Collections.emptyMap; +import static java.util.Collections.singletonMap; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.catchThrowable; @@ -45,7 +46,6 @@ import com.amazonaws.services.ec2.AmazonEC2Client; import com.amazonaws.services.rds.AmazonRDSClient; import com.amazonaws.services.rds.model.DeleteOptionGroupRequest; import com.amazonaws.services.s3.AmazonS3Client; -import com.google.common.collect.ImmutableMap; import io.opentelemetry.api.trace.Span; import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; @@ -137,7 +137,7 @@ class Aws0ClientTest { "PUT", 1, (Function) c -> c.createBucket("testbucket"), - ImmutableMap.of("aws.bucket.name", "testbucket"), + singletonMap("aws.bucket.name", "testbucket"), ""), Arguments.of( new AmazonS3Client().withEndpoint(server.httpUri().toString()), @@ -146,7 +146,7 @@ class Aws0ClientTest { "GET", 1, (Function) c -> c.getObject("someBucket", "someKey"), - ImmutableMap.of("aws.bucket.name", "someBucket"), + singletonMap("aws.bucket.name", "someBucket"), ""), Arguments.of( new AmazonEC2Client().withEndpoint(server.httpUri().toString()), diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-1.11/testing/build.gradle.kts index 545f5dffce..1ce2bdd798 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/build.gradle.kts @@ -18,7 +18,5 @@ dependencies { // needed for SQS - using emq directly as localstack references emq v0.15.7 ie WITHOUT AWS trace header propagation implementation("org.elasticmq:elasticmq-rest-sqs_2.13") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java index fd22c12a5a..b246b67ddd 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java @@ -33,12 +33,12 @@ import com.amazonaws.services.sqs.AmazonSQSAsyncClientBuilder; import com.amazonaws.services.sqs.model.ReceiveMessageRequest; import com.amazonaws.services.sqs.model.ReceiveMessageResult; import com.amazonaws.services.sqs.model.SendMessageRequest; -import com.google.common.collect.ImmutableList; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.test.utils.PortUtils; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes; +import java.util.Collections; import org.elasticmq.rest.sqs.SQSRestServer; import org.elasticmq.rest.sqs.SQSRestServerBuilder; import org.junit.jupiter.api.AfterEach; @@ -319,6 +319,6 @@ public abstract class AbstractSqsSuppressReceiveSpansTest { sqsClient.receiveMessage(receive); sqsClient.sendMessage(send); sqsClient.receiveMessage(receive); - assertThat(receive.getAttributeNames()).isEqualTo(ImmutableList.of("AWSTraceHeader")); + assertThat(receive.getAttributeNames()).isEqualTo(Collections.singletonList("AWSTraceHeader")); } } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java index 2656d8e4b9..40f349ec87 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java @@ -24,6 +24,7 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes. import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_METHOD; import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SERVICE; import static io.opentelemetry.semconv.incubating.RpcIncubatingAttributes.RPC_SYSTEM; +import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import com.amazonaws.auth.AWSStaticCredentialsProvider; @@ -37,7 +38,6 @@ import com.amazonaws.services.sqs.model.MessageAttributeValue; import com.amazonaws.services.sqs.model.ReceiveMessageRequest; import com.amazonaws.services.sqs.model.ReceiveMessageResult; import com.amazonaws.services.sqs.model.SendMessageRequest; -import com.google.common.collect.ImmutableList; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.test.utils.PortUtils; @@ -183,7 +183,7 @@ public abstract class AbstractSqsTracingTest { attributes.add( satisfies( stringArrayKey("messaging.header.test_message_header"), - val -> val.isEqualTo(ImmutableList.of("test")))); + val -> val.isEqualTo(singletonList("test")))); } span.hasName("testSdkSqs publish") @@ -223,7 +223,7 @@ public abstract class AbstractSqsTracingTest { attributes.add( satisfies( stringArrayKey("messaging.header.test_message_header"), - val -> val.isEqualTo(ImmutableList.of("test")))); + val -> val.isEqualTo(singletonList("test")))); } span.hasName("testSdkSqs receive") @@ -262,7 +262,7 @@ public abstract class AbstractSqsTracingTest { attributes.add( satisfies( stringArrayKey("messaging.header.test_message_header"), - val -> val.isEqualTo(ImmutableList.of("test")))); + val -> val.isEqualTo(singletonList("test")))); } span.hasName("testSdkSqs process") .hasKind(SpanKind.CONSUMER) @@ -475,6 +475,6 @@ public abstract class AbstractSqsTracingTest { sqsClient.receiveMessage(receive); sqsClient.sendMessage(send); sqsClient.receiveMessage(receive); - assertThat(receive.getAttributeNames()).isEqualTo(ImmutableList.of("AWSTraceHeader")); + assertThat(receive.getAttributeNames()).isEqualTo(singletonList("AWSTraceHeader")); } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts index 980db98f19..eb52ab1d1c 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts @@ -30,7 +30,5 @@ dependencies { implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2") implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.18.2") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/clickhouse-client-0.5/javaagent/build.gradle.kts b/instrumentation/clickhouse-client-0.5/javaagent/build.gradle.kts index b8f7f98114..7628d2d0a4 100644 --- a/instrumentation/clickhouse-client-0.5/javaagent/build.gradle.kts +++ b/instrumentation/clickhouse-client-0.5/javaagent/build.gradle.kts @@ -16,6 +16,7 @@ dependencies { compileOnly("com.google.auto.value:auto-value-annotations") annotationProcessor("com.google.auto.value:auto-value") + testImplementation("com.google.guava:guava") testLibrary("com.clickhouse:clickhouse-client:0.5.0") testLibrary("com.clickhouse:clickhouse-http-client:0.5.0") testLibrary("org.apache.httpcomponents.client5:httpclient5:5.2.3") diff --git a/instrumentation/finagle-http-23.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/finaglehttp/v23_11/AbstractServerTest.java b/instrumentation/finagle-http-23.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/finaglehttp/v23_11/AbstractServerTest.java index 418ffaf979..4a576599f9 100644 --- a/instrumentation/finagle-http-23.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/finaglehttp/v23_11/AbstractServerTest.java +++ b/instrumentation/finagle-http-23.11/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/finaglehttp/v23_11/AbstractServerTest.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.finaglehttp.v23_11; -import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES; +import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION; @@ -14,9 +14,7 @@ import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.QUERY_PARAM; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS; -import static io.opentelemetry.semconv.HttpAttributes.HTTP_ROUTE; -import com.google.common.collect.Sets; import com.twitter.finagle.ListeningServer; import com.twitter.finagle.Service; import com.twitter.finagle.http.Request; @@ -35,7 +33,6 @@ import io.opentelemetry.instrumentation.testing.junit.http.HttpServerInstrumenta import io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions; import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint; import java.net.URI; -import java.util.Collections; import org.junit.jupiter.api.extension.RegisterExtension; abstract class AbstractServerTest extends AbstractHttpServerTest { @@ -47,8 +44,7 @@ abstract class AbstractServerTest extends AbstractHttpServerTest Sets.difference(DEFAULT_HTTP_ATTRIBUTES, Collections.singleton(HTTP_ROUTE))); + options.setHttpAttributes(unused -> DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE); options.setTestCaptureHttpHeaders(true); } diff --git a/instrumentation/jdbc/javaagent/build.gradle.kts b/instrumentation/jdbc/javaagent/build.gradle.kts index 149dca3460..ac4617836e 100644 --- a/instrumentation/jdbc/javaagent/build.gradle.kts +++ b/instrumentation/jdbc/javaagent/build.gradle.kts @@ -35,6 +35,7 @@ dependencies { // some classes in earlier versions of derby were split out into derbytools in later versions latestDepTestLibrary("org.apache.derby:derbytools:latest.release") + testImplementation("com.google.guava:guava") testImplementation(project(":instrumentation:jdbc:testing")) // these dependencies are for SlickTest diff --git a/instrumentation/jetty/jetty-11.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/JettyHandlerTest.java b/instrumentation/jetty/jetty-11.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/JettyHandlerTest.java index c460aa1fb1..02af718a4b 100644 --- a/instrumentation/jetty/jetty-11.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/JettyHandlerTest.java +++ b/instrumentation/jetty/jetty-11.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v11_0/JettyHandlerTest.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jetty.v11_0; -import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES; +import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION; @@ -15,10 +15,8 @@ import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; -import static io.opentelemetry.semconv.HttpAttributes.HTTP_ROUTE; import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.Sets; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest; @@ -33,7 +31,6 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.Writer; -import java.util.Collections; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Response; import org.eclipse.jetty.server.Server; @@ -78,8 +75,7 @@ class JettyHandlerTest extends AbstractHttpServerTest { @Override protected void configure(HttpServerTestOptions options) { - options.setHttpAttributes( - unused -> Sets.difference(DEFAULT_HTTP_ATTRIBUTES, Collections.singleton(HTTP_ROUTE))); + options.setHttpAttributes(unused -> DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE); options.setHasResponseSpan(endpoint -> endpoint == REDIRECT || endpoint == ERROR); options.setHasResponseCustomizer(endpoint -> true); } diff --git a/instrumentation/jetty/jetty-12.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v12_0/Jetty12HandlerTest.java b/instrumentation/jetty/jetty-12.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v12_0/Jetty12HandlerTest.java index 3a75894f75..a0f8069793 100644 --- a/instrumentation/jetty/jetty-12.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v12_0/Jetty12HandlerTest.java +++ b/instrumentation/jetty/jetty-12.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v12_0/Jetty12HandlerTest.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jetty.v12_0; -import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES; +import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION; @@ -15,10 +15,8 @@ import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; -import static io.opentelemetry.semconv.HttpAttributes.HTTP_ROUTE; import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.Sets; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest; @@ -29,7 +27,6 @@ import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; import io.opentelemetry.semconv.incubating.CodeIncubatingAttributes; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.Collections; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Response; @@ -59,8 +56,7 @@ class Jetty12HandlerTest extends AbstractHttpServerTest { @Override protected void configure(HttpServerTestOptions options) { - options.setHttpAttributes( - unused -> Sets.difference(DEFAULT_HTTP_ATTRIBUTES, Collections.singleton(HTTP_ROUTE))); + options.setHttpAttributes(unused -> DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE); options.setHasResponseCustomizer(endpoint -> endpoint != EXCEPTION); } diff --git a/instrumentation/jetty/jetty-8.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/JettyHandlerTest.java b/instrumentation/jetty/jetty-8.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/JettyHandlerTest.java index 041f902901..9eb22985d9 100644 --- a/instrumentation/jetty/jetty-8.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/JettyHandlerTest.java +++ b/instrumentation/jetty/jetty-8.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jetty/v8_0/JettyHandlerTest.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jetty.v8_0; -import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES; +import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION; @@ -15,10 +15,8 @@ import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; -import static io.opentelemetry.semconv.HttpAttributes.HTTP_ROUTE; import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.Sets; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest; @@ -29,7 +27,6 @@ import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; import io.opentelemetry.semconv.incubating.CodeIncubatingAttributes; import java.io.IOException; import java.io.Writer; -import java.util.Collections; import javax.servlet.DispatcherType; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -78,8 +75,7 @@ class JettyHandlerTest extends AbstractHttpServerTest { @Override protected void configure(HttpServerTestOptions options) { - options.setHttpAttributes( - unused -> Sets.difference(DEFAULT_HTTP_ATTRIBUTES, Collections.singleton(HTTP_ROUTE))); + options.setHttpAttributes(unused -> DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE); options.setHasResponseSpan(endpoint -> endpoint == REDIRECT || endpoint == ERROR); options.setHasResponseCustomizer(endpoint -> endpoint != EXCEPTION); } diff --git a/instrumentation/kafka/kafka-streams-0.11/javaagent/build.gradle.kts b/instrumentation/kafka/kafka-streams-0.11/javaagent/build.gradle.kts index d2ec8e84e2..9483d0527b 100644 --- a/instrumentation/kafka/kafka-streams-0.11/javaagent/build.gradle.kts +++ b/instrumentation/kafka/kafka-streams-0.11/javaagent/build.gradle.kts @@ -19,6 +19,7 @@ dependencies { // Include kafka-clients instrumentation for tests. testInstrumentation(project(":instrumentation:kafka:kafka-clients:kafka-clients-0.11:javaagent")) + testImplementation("com.google.guava:guava") testImplementation("org.testcontainers:kafka") } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/build.gradle.kts b/instrumentation/lettuce/lettuce-5.0/javaagent/build.gradle.kts index 7e2dc0569d..e9ac67e15d 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/build.gradle.kts +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/build.gradle.kts @@ -16,7 +16,9 @@ dependencies { implementation(project(":instrumentation:lettuce:lettuce-common:library")) + testImplementation("com.google.guava:guava") testImplementation("io.lettuce:lettuce-core:5.0.0.RELEASE") + testInstrumentation(project(":instrumentation:reactor:reactor-3.1:javaagent")) latestDepTestLibrary("io.lettuce:lettuce-core:5.0.+") // see lettuce-5.1 module diff --git a/instrumentation/lettuce/lettuce-common/library/src/test/java/io/opentelemetry/instrumentation/lettuce/common/LettuceArgSplitterTest.java b/instrumentation/lettuce/lettuce-common/library/src/test/java/io/opentelemetry/instrumentation/lettuce/common/LettuceArgSplitterTest.java index ccb3b00f43..5761b3f7c5 100644 --- a/instrumentation/lettuce/lettuce-common/library/src/test/java/io/opentelemetry/instrumentation/lettuce/common/LettuceArgSplitterTest.java +++ b/instrumentation/lettuce/lettuce-common/library/src/test/java/io/opentelemetry/instrumentation/lettuce/common/LettuceArgSplitterTest.java @@ -5,10 +5,13 @@ package io.opentelemetry.instrumentation.lettuce.common; +import static java.util.Collections.emptyList; +import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Named.named; -import com.google.common.collect.ImmutableList; +import java.util.Arrays; +import java.util.List; import java.util.stream.Stream; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -24,29 +27,29 @@ class LettuceArgSplitterTest { private static Stream providesArguments() { return Stream.of( - Arguments.of(named("a null value", new Parameter(null, ImmutableList.of()))), - Arguments.of(named("an empty value", new Parameter("", ImmutableList.of()))), - Arguments.of(named("a single key", new Parameter("key", ImmutableList.of("key")))), + Arguments.of(named("a null value", new Parameter(null, emptyList()))), + Arguments.of(named("an empty value", new Parameter("", emptyList()))), + Arguments.of(named("a single key", new Parameter("key", singletonList("key")))), Arguments.of( - named("a single value", new Parameter("value", ImmutableList.of("value")))), + named("a single value", new Parameter("value", singletonList("value")))), Arguments.of( - named("a plain string", new Parameter("teststring", ImmutableList.of("teststring")))), - Arguments.of(named("an integer", new Parameter("42", ImmutableList.of("42")))), + named("a plain string", new Parameter("teststring", singletonList("teststring")))), + Arguments.of(named("an integer", new Parameter("42", singletonList("42")))), Arguments.of( - named("a base64 value", new Parameter("TeST123==", ImmutableList.of("TeST123==")))), + named("a base64 value", new Parameter("TeST123==", singletonList("TeST123==")))), Arguments.of( named( "a complex list of args", new Parameter( "key aSDFgh4321= 5 test value", - ImmutableList.of("key", "aSDFgh4321=", "5", "test", "val"))))); + Arrays.asList("key", "aSDFgh4321=", "5", "test", "val"))))); } private static class Parameter { public final String args; - public final ImmutableList result; + public final List result; - public Parameter(String query, ImmutableList result) { + public Parameter(String query, List result) { this.args = query; this.result = result; } diff --git a/instrumentation/log4j/log4j-appender-2.17/javaagent/build.gradle.kts b/instrumentation/log4j/log4j-appender-2.17/javaagent/build.gradle.kts index 15fee0051d..23a8803c18 100644 --- a/instrumentation/log4j/log4j-appender-2.17/javaagent/build.gradle.kts +++ b/instrumentation/log4j/log4j-appender-2.17/javaagent/build.gradle.kts @@ -26,6 +26,7 @@ dependencies { // this dependency is needed for the slf4j->log4j test testImplementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.+") testCompileOnly("biz.aQute.bnd:biz.aQute.bnd.annotation:7.0.0") + testCompileOnly("com.google.errorprone:error_prone_annotations") } else { // log4j 2.17 doesn't have an slf4j2 bridge testImplementation("org.apache.logging.log4j:log4j-slf4j-impl:2.17.0") diff --git a/instrumentation/log4j/log4j-appender-2.17/library/build.gradle.kts b/instrumentation/log4j/log4j-appender-2.17/library/build.gradle.kts index 4c80b3a5f2..aabb6ce4a8 100644 --- a/instrumentation/log4j/log4j-appender-2.17/library/build.gradle.kts +++ b/instrumentation/log4j/log4j-appender-2.17/library/build.gradle.kts @@ -13,6 +13,7 @@ dependencies { if (findProperty("testLatestDeps") as Boolean) { testCompileOnly("biz.aQute.bnd:biz.aQute.bnd.annotation:7.0.0") + testCompileOnly("com.google.errorprone:error_prone_annotations") } } diff --git a/instrumentation/log4j/log4j-context-data/log4j-context-data-common/testing/build.gradle.kts b/instrumentation/log4j/log4j-context-data/log4j-context-data-common/testing/build.gradle.kts index 898c7d73e9..b3626f29fa 100644 --- a/instrumentation/log4j/log4j-context-data/log4j-context-data-common/testing/build.gradle.kts +++ b/instrumentation/log4j/log4j-context-data/log4j-context-data-common/testing/build.gradle.kts @@ -7,8 +7,6 @@ dependencies { api("org.apache.logging.log4j:log4j-core:2.7") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") annotationProcessor("org.apache.logging.log4j:log4j-core:2.7") diff --git a/instrumentation/logback/logback-mdc-1.0/testing/build.gradle.kts b/instrumentation/logback/logback-mdc-1.0/testing/build.gradle.kts index 31b6162f0a..7021895379 100644 --- a/instrumentation/logback/logback-mdc-1.0/testing/build.gradle.kts +++ b/instrumentation/logback/logback-mdc-1.0/testing/build.gradle.kts @@ -9,6 +9,5 @@ dependencies { api("ch.qos.logback:logback-classic:1.0.0") - implementation("com.google.guava:guava") implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/netty/netty-4.1/testing/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AbstractNetty41ServerTest.java b/instrumentation/netty/netty-4.1/testing/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AbstractNetty41ServerTest.java index d25d14cfcd..d082988701 100644 --- a/instrumentation/netty/netty-4.1/testing/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AbstractNetty41ServerTest.java +++ b/instrumentation/netty/netty-4.1/testing/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AbstractNetty41ServerTest.java @@ -9,7 +9,7 @@ import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH; import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE; import static io.netty.handler.codec.http.HttpResponseStatus.INTERNAL_SERVER_ERROR; import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1; -import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES; +import static io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions.DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.CAPTURE_HEADERS; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.ERROR; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.EXCEPTION; @@ -18,9 +18,7 @@ import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.QUERY_PARAM; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.REDIRECT; import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS; -import static io.opentelemetry.semconv.HttpAttributes.HTTP_ROUTE; -import com.google.common.collect.Sets; import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; @@ -46,7 +44,6 @@ import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTes import io.opentelemetry.instrumentation.testing.junit.http.HttpServerTestOptions; import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint; import java.net.URI; -import java.util.Collections; public abstract class AbstractNetty41ServerTest extends AbstractHttpServerTest { @@ -58,8 +55,7 @@ public abstract class AbstractNetty41ServerTest extends AbstractHttpServerTest Sets.difference(DEFAULT_HTTP_ATTRIBUTES, Collections.singleton(HTTP_ROUTE))); + options.setHttpAttributes(unused -> DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE); } @Override diff --git a/instrumentation/okhttp/okhttp-3.0/testing/build.gradle.kts b/instrumentation/okhttp/okhttp-3.0/testing/build.gradle.kts index 070dc81555..d5997c5785 100644 --- a/instrumentation/okhttp/okhttp-3.0/testing/build.gradle.kts +++ b/instrumentation/okhttp/okhttp-3.0/testing/build.gradle.kts @@ -7,7 +7,5 @@ dependencies { api("com.squareup.okhttp3:okhttp:3.0.0") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/build.gradle.kts b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/build.gradle.kts index 3b2d84ec2c..8ae00168a6 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/build.gradle.kts +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/build.gradle.kts @@ -6,6 +6,5 @@ dependencies { api(project(":testing-common")) implementation("org.apache.rocketmq:rocketmq-test:4.8.0") - implementation("com.google.guava:guava") implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/rxjava/rxjava-2.0/testing/build.gradle.kts b/instrumentation/rxjava/rxjava-2.0/testing/build.gradle.kts index 9be1c5c580..d04d513688 100644 --- a/instrumentation/rxjava/rxjava-2.0/testing/build.gradle.kts +++ b/instrumentation/rxjava/rxjava-2.0/testing/build.gradle.kts @@ -4,10 +4,7 @@ plugins { dependencies { api(project(":testing-common")) - api("io.reactivex.rxjava2:rxjava:2.1.3") - implementation("com.google.guava:guava") - implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/rxjava/rxjava-2.0/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v2_0/AbstractRxJava2Test.java b/instrumentation/rxjava/rxjava-2.0/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v2_0/AbstractRxJava2Test.java index df7b06b21c..1be2f41124 100644 --- a/instrumentation/rxjava/rxjava-2.0/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v2_0/AbstractRxJava2Test.java +++ b/instrumentation/rxjava/rxjava-2.0/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v2_0/AbstractRxJava2Test.java @@ -6,10 +6,10 @@ package io.opentelemetry.instrumentation.rxjava.v2_0; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.attributeEntry; +import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import com.google.common.primitives.Ints; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; @@ -173,8 +173,7 @@ public abstract class AbstractRxJava2Test { public void basicFlowable() { Iterable result = createParentSpan( - () -> - Flowable.fromIterable(Ints.asList(5, 6)).map(this::addOne).toList().blockingGet()); + () -> Flowable.fromIterable(asList(5, 6)).map(this::addOne).toList().blockingGet()); assertThat(result).contains(6, 7); testing() .waitAndAssertTraces( @@ -196,7 +195,7 @@ public abstract class AbstractRxJava2Test { List result = createParentSpan( () -> - Flowable.fromIterable(Ints.asList(6, 7)) + Flowable.fromIterable(asList(6, 7)) .map(this::addOne) .map(this::addOne) .toList() @@ -230,7 +229,7 @@ public abstract class AbstractRxJava2Test { List result = createParentSpan( () -> - Flowable.fromIterable(Ints.asList(7, 8)) + Flowable.fromIterable(asList(7, 8)) .delay(100, TimeUnit.MILLISECONDS) .map(this::addOne) .toList() @@ -256,7 +255,7 @@ public abstract class AbstractRxJava2Test { List result = createParentSpan( () -> - Flowable.fromIterable(Ints.asList(8, 9)) + Flowable.fromIterable(asList(8, 9)) .delay(100, TimeUnit.MILLISECONDS) .map(this::addOne) .delay(100, TimeUnit.MILLISECONDS) @@ -477,7 +476,7 @@ public abstract class AbstractRxJava2Test { () -> createParentSpan( () -> - Flowable.fromIterable(Ints.asList(5, 6)) + Flowable.fromIterable(asList(5, 6)) .map(this::addOne) .map( i -> { @@ -513,7 +512,7 @@ public abstract class AbstractRxJava2Test { public void basicFlowableCancel() { createParentSpan( () -> - Flowable.fromIterable(Ints.asList(5, 6)) + Flowable.fromIterable(asList(5, 6)) .map(this::addOne) .subscribe(CancellingSubscriber.INSTANCE)); testing() @@ -597,7 +596,7 @@ public abstract class AbstractRxJava2Test { public void basicFlowableChain() { createParentSpan( () -> - Flowable.fromIterable(Ints.asList(5, 6)) + Flowable.fromIterable(asList(5, 6)) .map(this::addOne) .map(this::addOne) .concatWith(Maybe.just(1).map(this::addOne).toFlowable()) @@ -685,8 +684,7 @@ public abstract class AbstractRxJava2Test { List result = createParentSpan( () -> { - Flowable flowable = - Flowable.fromIterable(Ints.asList(1, 2)).map(this::addOne); + Flowable flowable = Flowable.fromIterable(asList(1, 2)).map(this::addOne); return testing() .runWithSpan("intermediate", () -> flowable.map(this::addTwo)) .toList() @@ -789,7 +787,7 @@ public abstract class AbstractRxJava2Test { .runWithSpan( "flowable root", () -> { - return Flowable.fromIterable(Ints.asList(1, 2, 3, 4)) + return Flowable.fromIterable(asList(1, 2, 3, 4)) .parallel() .runOn(scheduler) .flatMap(num -> Maybe.just(num).map(this::addOne).toFlowable()) diff --git a/instrumentation/rxjava/rxjava-3-common/testing/build.gradle.kts b/instrumentation/rxjava/rxjava-3-common/testing/build.gradle.kts index d9f9e4fcba..1e80fb6c99 100644 --- a/instrumentation/rxjava/rxjava-3-common/testing/build.gradle.kts +++ b/instrumentation/rxjava/rxjava-3-common/testing/build.gradle.kts @@ -9,6 +9,5 @@ dependencies { implementation(project(":instrumentation-annotations")) implementation("io.opentelemetry:opentelemetry-extension-annotations") - implementation("com.google.guava:guava") implementation("io.opentelemetry:opentelemetry-api") } diff --git a/instrumentation/rxjava/rxjava-3-common/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v3/common/AbstractRxJava3Test.java b/instrumentation/rxjava/rxjava-3-common/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v3/common/AbstractRxJava3Test.java index aea3415368..36872f47b5 100644 --- a/instrumentation/rxjava/rxjava-3-common/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v3/common/AbstractRxJava3Test.java +++ b/instrumentation/rxjava/rxjava-3-common/testing/src/main/java/io/opentelemetry/instrumentation/rxjava/v3/common/AbstractRxJava3Test.java @@ -7,9 +7,9 @@ package io.opentelemetry.instrumentation.rxjava.v3.common; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.attributeEntry; +import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import com.google.common.primitives.Ints; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; @@ -173,8 +173,7 @@ public abstract class AbstractRxJava3Test { public void basicFlowable() { Iterable result = createParentSpan( - () -> - Flowable.fromIterable(Ints.asList(5, 6)).map(this::addOne).toList().blockingGet()); + () -> Flowable.fromIterable(asList(5, 6)).map(this::addOne).toList().blockingGet()); assertThat(result).contains(6, 7); testing() .waitAndAssertTraces( @@ -196,7 +195,7 @@ public abstract class AbstractRxJava3Test { List result = createParentSpan( () -> - Flowable.fromIterable(Ints.asList(6, 7)) + Flowable.fromIterable(asList(6, 7)) .map(this::addOne) .map(this::addOne) .toList() @@ -230,7 +229,7 @@ public abstract class AbstractRxJava3Test { List result = createParentSpan( () -> - Flowable.fromIterable(Ints.asList(7, 8)) + Flowable.fromIterable(asList(7, 8)) .delay(100, TimeUnit.MILLISECONDS) .map(this::addOne) .toList() @@ -256,7 +255,7 @@ public abstract class AbstractRxJava3Test { List result = createParentSpan( () -> - Flowable.fromIterable(Ints.asList(8, 9)) + Flowable.fromIterable(asList(8, 9)) .delay(100, TimeUnit.MILLISECONDS) .map(this::addOne) .delay(100, TimeUnit.MILLISECONDS) @@ -477,7 +476,7 @@ public abstract class AbstractRxJava3Test { () -> createParentSpan( () -> - Flowable.fromIterable(Ints.asList(5, 6)) + Flowable.fromIterable(asList(5, 6)) .map(this::addOne) .map( i -> { @@ -513,7 +512,7 @@ public abstract class AbstractRxJava3Test { public void basicFlowableCancel() { createParentSpan( () -> - Flowable.fromIterable(Ints.asList(5, 6)) + Flowable.fromIterable(asList(5, 6)) .map(this::addOne) .subscribe(CancellingSubscriber.INSTANCE)); testing() @@ -597,7 +596,7 @@ public abstract class AbstractRxJava3Test { public void basicFlowableChain() { createParentSpan( () -> - Flowable.fromIterable(Ints.asList(5, 6)) + Flowable.fromIterable(asList(5, 6)) .map(this::addOne) .map(this::addOne) .concatWith(Maybe.just(1).map(this::addOne)) @@ -685,8 +684,7 @@ public abstract class AbstractRxJava3Test { List result = createParentSpan( () -> { - Flowable flowable = - Flowable.fromIterable(Ints.asList(1, 2)).map(this::addOne); + Flowable flowable = Flowable.fromIterable(asList(1, 2)).map(this::addOne); return testing() .runWithSpan("intermediate", () -> flowable.map(this::addTwo)) .toList() @@ -789,7 +787,7 @@ public abstract class AbstractRxJava3Test { .runWithSpan( "flowable root", () -> { - return Flowable.fromIterable(Ints.asList(1, 2, 3, 4)) + return Flowable.fromIterable(asList(1, 2, 3, 4)) .parallel() .runOn(scheduler) .flatMap(num -> Maybe.just(num).map(this::addOne).toFlowable()) diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts index 0cdd9c4f59..47bda33c03 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts @@ -14,7 +14,9 @@ muzzle { dependencies { library("org.springframework.batch:spring-batch-core:3.0.0.RELEASE") + testImplementation("com.google.guava:guava") testImplementation("javax.inject:javax.inject:1") + // SimpleAsyncTaskExecutor context propagation testInstrumentation(project(":instrumentation:spring:spring-core-2.0:javaagent")) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProviderTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProviderTest.java index 1c79c06de6..947866cc04 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProviderTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProviderTest.java @@ -7,11 +7,11 @@ package io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.ImmutableMap; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; +import java.util.Collections; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -35,7 +35,7 @@ public class DistroVersionResourceProviderTest { assertThat( resource - .createResource(DefaultConfigProperties.createFromMap(ImmutableMap.of())) + .createResource(DefaultConfigProperties.createFromMap(Collections.emptyMap())) .getAttributes() .asMap()) .containsEntry( diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts b/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts index 7cdd7bbe51..165c8b343c 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts @@ -32,6 +32,7 @@ dependencies { testInstrumentation(project(":instrumentation:spring:spring-web:spring-web-3.1:javaagent")) testImplementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-common:testing")) + testImplementation("com.google.guava:guava") testLibrary("org.springframework.boot:spring-boot-starter-test:1.5.17.RELEASE") testLibrary("org.springframework.boot:spring-boot-starter-web:1.5.17.RELEASE") diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/boot/SpringBootBasedTest.java b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/boot/SpringBootBasedTest.java index 8c89334b70..924d026529 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/boot/SpringBootBasedTest.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/boot/SpringBootBasedTest.java @@ -15,7 +15,6 @@ import static io.opentelemetry.semconv.incubating.CodeIncubatingAttributes.CODE_ import static io.opentelemetry.semconv.incubating.CodeIncubatingAttributes.CODE_NAMESPACE; import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.ImmutableMap; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.spring.webmvc.boot.AbstractSpringBootBasedTest; import io.opentelemetry.instrumentation.spring.webmvc.boot.AppConfig; @@ -26,6 +25,7 @@ import io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint; import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; import io.opentelemetry.sdk.trace.data.SpanData; import io.opentelemetry.sdk.trace.data.StatusData; +import java.util.Map; import org.junit.jupiter.api.extension.RegisterExtension; import org.springframework.boot.SpringApplication; import org.springframework.context.ConfigurableApplicationContext; @@ -55,7 +55,7 @@ class SpringBootBasedTest extends AbstractSpringBootBasedTest { protected ConfigurableApplicationContext setupServer() { SpringApplication app = new SpringApplication(AppConfig.class, securityConfigClass()); app.setDefaultProperties( - ImmutableMap.of( + Map.of( "server.port", port, "server.context-path", diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/filter/ServletFilterTest.java b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/filter/ServletFilterTest.java index 2b8ae89b46..97f86d80f8 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/filter/ServletFilterTest.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/webmvc/v6_0/filter/ServletFilterTest.java @@ -12,7 +12,6 @@ import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_STACKTRACE; import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE; import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.ImmutableMap; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.spring.webmvc.filter.AbstractServletFilterTest; import io.opentelemetry.instrumentation.spring.webmvc.filter.FilteredAppConfig; @@ -24,6 +23,7 @@ import io.opentelemetry.javaagent.instrumentation.spring.webmvc.v6_0.boot.Securi import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; import io.opentelemetry.sdk.trace.data.SpanData; import io.opentelemetry.sdk.trace.data.StatusData; +import java.util.Map; import org.junit.jupiter.api.extension.RegisterExtension; import org.springframework.boot.SpringApplication; import org.springframework.context.ConfigurableApplicationContext; @@ -50,8 +50,7 @@ class ServletFilterTest extends AbstractServletFilterTest { protected ConfigurableApplicationContext setupServer() { SpringApplication app = new SpringApplication(FilteredAppConfig.class, securityConfigClass(), filterConfigClass()); - app.setDefaultProperties( - ImmutableMap.of("server.port", port, "server.error.include-message", "always")); + app.setDefaultProperties(Map.of("server.port", port, "server.error.include-message", "always")); return app.run(); } diff --git a/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts index 345fcaab6b..47cdcc7e70 100644 --- a/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts @@ -46,6 +46,7 @@ dependencies { testImplementation("javax.xml.bind:jaxb-api:2.2.11") testImplementation("com.sun.xml.bind:jaxb-core:2.2.11") testImplementation("com.sun.xml.bind:jaxb-impl:2.2.11") + testImplementation("com.google.guava:guava") testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent")) } diff --git a/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerDispatchTest.java b/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerDispatchTest.java index 79267290fd..923c546595 100644 --- a/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerDispatchTest.java +++ b/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerDispatchTest.java @@ -13,7 +13,6 @@ import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint import static io.opentelemetry.instrumentation.testing.junit.http.ServerEndpoint.SUCCESS; import static io.opentelemetry.semconv.NetworkAttributes.NETWORK_PEER_PORT; -import com.google.common.collect.ImmutableSet; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpServerTest; import io.opentelemetry.instrumentation.testing.junit.http.HttpServerInstrumentationExtension; @@ -23,6 +22,7 @@ import io.undertow.Undertow; import io.undertow.util.Headers; import io.undertow.util.HttpString; import io.undertow.util.StatusCodes; +import java.util.Collections; import org.junit.jupiter.api.extension.RegisterExtension; class UndertowServerDispatchTest extends AbstractHttpServerTest { @@ -130,6 +130,6 @@ class UndertowServerDispatchTest extends AbstractHttpServerTest { options.setTestException(false); options.setHasResponseCustomizer(endpoint -> true); - options.setHttpAttributes(endpoint -> ImmutableSet.of(NETWORK_PEER_PORT)); + options.setHttpAttributes(endpoint -> Collections.singleton(NETWORK_PEER_PORT)); } } diff --git a/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerTest.java b/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerTest.java index c9bd2e31a7..7533ec891b 100644 --- a/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerTest.java +++ b/instrumentation/undertow-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/undertow/UndertowServerTest.java @@ -30,7 +30,6 @@ import static io.opentelemetry.semconv.UrlAttributes.URL_SCHEME; import static io.opentelemetry.semconv.UserAgentAttributes.USER_AGENT_ORIGINAL; import static org.assertj.core.api.Assertions.assertThat; -import com.google.common.collect.ImmutableSet; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; @@ -44,6 +43,7 @@ import io.undertow.util.Headers; import io.undertow.util.HttpString; import io.undertow.util.StatusCodes; import java.net.URI; +import java.util.Collections; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -168,7 +168,7 @@ class UndertowServerTest extends AbstractHttpServerTest { @Override protected void configure(HttpServerTestOptions options) { super.configure(options); - options.setHttpAttributes(endpoint -> ImmutableSet.of(NETWORK_PEER_PORT)); + options.setHttpAttributes(endpoint -> Collections.singleton(NETWORK_PEER_PORT)); options.setHasResponseCustomizer(serverEndpoint -> true); options.setUseHttp2(useHttp2()); } diff --git a/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts b/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts index 6b2eae7f32..fbbb80bd64 100644 --- a/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts +++ b/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts @@ -14,6 +14,7 @@ dependencies { compileOnly("org.springframework.boot:spring-boot-starter-test") api(project(":testing-common")) api("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi") + implementation("com.google.guava:guava") } tasks.withType { diff --git a/testing-common/build.gradle.kts b/testing-common/build.gradle.kts index d7d6af7438..5618cbd4d3 100644 --- a/testing-common/build.gradle.kts +++ b/testing-common/build.gradle.kts @@ -51,7 +51,6 @@ dependencies { api("org.assertj:assertj-core") // Needs to be api dependency due to Spock restriction. api("org.awaitility:awaitility") - api("com.google.guava:guava") api("org.mockito:mockito-core") api("org.slf4j:slf4j-api") diff --git a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/HttpServerTestOptions.java b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/HttpServerTestOptions.java index 13e79b8f31..355a84b3c7 100644 --- a/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/HttpServerTestOptions.java +++ b/testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/HttpServerTestOptions.java @@ -26,7 +26,8 @@ public final class HttpServerTestOptions { public static final Set> DEFAULT_HTTP_ATTRIBUTES = Collections.unmodifiableSet( new HashSet<>(Arrays.asList(HttpAttributes.HTTP_ROUTE, ServerAttributes.SERVER_PORT))); - + public static final Set> DEFAULT_HTTP_ATTRIBUTES_WITHOUT_ROUTE = + Collections.singleton(ServerAttributes.SERVER_PORT); public static final SpanNameMapper DEFAULT_EXPECTED_SERVER_SPAN_NAME_MAPPER = (uri, method, route) -> { if (HttpConstants._OTHER.equals(method)) { diff --git a/testing-common/src/main/java/io/opentelemetry/javaagent/testing/common/AgentTestingExporterAccess.java b/testing-common/src/main/java/io/opentelemetry/javaagent/testing/common/AgentTestingExporterAccess.java index a6abef5fe7..2ebd4ef9a5 100644 --- a/testing-common/src/main/java/io/opentelemetry/javaagent/testing/common/AgentTestingExporterAccess.java +++ b/testing-common/src/main/java/io/opentelemetry/javaagent/testing/common/AgentTestingExporterAccess.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.testing.common; -import static com.google.common.base.Strings.emptyToNull; import static io.opentelemetry.api.common.AttributeKey.booleanArrayKey; import static io.opentelemetry.api.common.AttributeKey.doubleArrayKey; import static io.opentelemetry.api.common.AttributeKey.longArrayKey; @@ -757,5 +756,9 @@ public final class AgentTestingExporterAccess { return encoding; } + private static String emptyToNull(String string) { + return string == null || string.isEmpty() ? null : string; + } + private AgentTestingExporterAccess() {} } diff --git a/testing/armeria-shaded-for-testing/build.gradle.kts b/testing/armeria-shaded-for-testing/build.gradle.kts index b15407d876..42a1a8ede4 100644 --- a/testing/armeria-shaded-for-testing/build.gradle.kts +++ b/testing/armeria-shaded-for-testing/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { implementation("com.linecorp.armeria:armeria-junit5:1.32.4") + implementation("com.google.errorprone:error_prone_annotations") } tasks { @@ -21,6 +22,7 @@ tasks { relocate("net.bytebuddy", "io.opentelemetry.testing.internal.bytebuddy") relocate("reactor", "io.opentelemetry.testing.internal.reactor") relocate("com.aayushatharva.brotli4j", "io.opentelemetry.testing.internal.brotli4j") + relocate("com.google.errorprone", "io.opentelemetry.testing.internal.errorprone") // Allows tests of Netty instrumentations which would otherwise conflict. // The relocation must end with io.netty to allow Netty to detect shaded native libraries.