diff --git a/instrumentation/azure-core/azure-core-1.14/javaagent/src/test/groovy/AzureSdkTest.groovy b/instrumentation/azure-core/azure-core-1.14/javaagent/src/test/groovy/AzureSdkTest.groovy deleted file mode 100644 index b90c4ded10..0000000000 --- a/instrumentation/azure-core/azure-core-1.14/javaagent/src/test/groovy/AzureSdkTest.groovy +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -import com.azure.core.http.policy.HttpPolicyProviders -import com.azure.core.util.Context -import com.azure.core.util.tracing.TracerProxy -import io.opentelemetry.api.trace.StatusCode -import io.opentelemetry.instrumentation.test.AgentInstrumentationSpecification - -class AzureSdkTest extends AgentInstrumentationSpecification { - - def "test helper classes injected"() { - expect: - TracerProxy.isTracingEnabled() - - def list = new ArrayList() - HttpPolicyProviders.addAfterRetryPolicies(list) - - list.size() == 1 - list.get(0).getClass().getName() == "io.opentelemetry.javaagent.instrumentation.azurecore.v1_14.shaded" + - ".com.azure.core.tracing.opentelemetry.OpenTelemetryHttpPolicy" - } - - def "test span"() { - when: - Context context = TracerProxy.start("hello", Context.NONE) - TracerProxy.end(200, null, context) - - then: - assertTraces(1) { - trace(0, 1) { - span(0) { - name "hello" - status StatusCode.OK - attributes { - } - } - } - } - } -} diff --git a/instrumentation/azure-core/azure-core-1.14/javaagent/src/test/java/AzureSdkTest.java b/instrumentation/azure-core/azure-core-1.14/javaagent/src/test/java/AzureSdkTest.java new file mode 100644 index 0000000000..02d3ee7b65 --- /dev/null +++ b/instrumentation/azure-core/azure-core-1.14/javaagent/src/test/java/AzureSdkTest.java @@ -0,0 +1,58 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +import static org.assertj.core.api.Assertions.assertThat; + +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.util.Context; +import com.azure.core.util.tracing.TracerProxy; +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.trace.SpanKind; +import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; +import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; +import io.opentelemetry.sdk.trace.data.StatusData; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +class AzureSdkTest { + + @RegisterExtension + public static final InstrumentationExtension testing = AgentInstrumentationExtension.create(); + + @Test + void testHelperClassesInjected() { + + assertThat(TracerProxy.isTracingEnabled()).isTrue(); + + List list = new ArrayList<>(); + HttpPolicyProviders.addAfterRetryPolicies(list); + + assertThat(list) + .satisfiesExactly( + item -> + assertThat(item.getClass().getName()) + .isEqualTo( + "io.opentelemetry.javaagent.instrumentation.azurecore.v1_14.shaded" + + ".com.azure.core.tracing.opentelemetry.OpenTelemetryHttpPolicy")); + } + + @Test + void testSpan() { + Context context = TracerProxy.start("hello", Context.NONE); + TracerProxy.end(200, null, context); + + testing.waitAndAssertTraces( + trace -> + trace.hasSpansSatisfyingExactly( + span -> + span.hasName("hello") + .hasKind(SpanKind.INTERNAL) + .hasStatus(StatusData.ok()) + .hasAttributesSatisfying(Attributes::isEmpty))); + } +} diff --git a/instrumentation/azure-core/azure-core-1.19/javaagent/src/test/groovy/AzureSdkTest.groovy b/instrumentation/azure-core/azure-core-1.19/javaagent/src/test/groovy/AzureSdkTest.groovy deleted file mode 100644 index 68219e315b..0000000000 --- a/instrumentation/azure-core/azure-core-1.19/javaagent/src/test/groovy/AzureSdkTest.groovy +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -import com.azure.core.http.policy.HttpPolicyProviders -import com.azure.core.util.Context -import com.azure.core.util.tracing.TracerProxy -import io.opentelemetry.api.trace.StatusCode -import io.opentelemetry.instrumentation.test.AgentInstrumentationSpecification - -class AzureSdkTest extends AgentInstrumentationSpecification { - - def "test helper classes injected"() { - expect: - TracerProxy.isTracingEnabled() - - def list = new ArrayList() - HttpPolicyProviders.addAfterRetryPolicies(list) - - list.size() == 1 - list.get(0).getClass().getName() == "io.opentelemetry.javaagent.instrumentation.azurecore.v1_19.shaded" + - ".com.azure.core.tracing.opentelemetry.OpenTelemetryHttpPolicy" - } - - def "test span"() { - when: - Context context = TracerProxy.start("hello", Context.NONE) - TracerProxy.end(200, null, context) - - then: - assertTraces(1) { - trace(0, 1) { - span(0) { - name "hello" - status StatusCode.OK - attributes { - } - } - } - } - } -} diff --git a/instrumentation/azure-core/azure-core-1.19/javaagent/src/test/java/AzureSdkTest.java b/instrumentation/azure-core/azure-core-1.19/javaagent/src/test/java/AzureSdkTest.java new file mode 100644 index 0000000000..c4d9bc8ba2 --- /dev/null +++ b/instrumentation/azure-core/azure-core-1.19/javaagent/src/test/java/AzureSdkTest.java @@ -0,0 +1,58 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +import static org.assertj.core.api.Assertions.assertThat; + +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.util.Context; +import com.azure.core.util.tracing.TracerProxy; +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.trace.SpanKind; +import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; +import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; +import io.opentelemetry.sdk.trace.data.StatusData; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +class AzureSdkTest { + + @RegisterExtension + public static final InstrumentationExtension testing = AgentInstrumentationExtension.create(); + + @Test + void testHelperClassesInjected() { + + assertThat(TracerProxy.isTracingEnabled()).isTrue(); + + List list = new ArrayList<>(); + HttpPolicyProviders.addAfterRetryPolicies(list); + + assertThat(list) + .satisfiesExactly( + item -> + assertThat(item.getClass().getName()) + .isEqualTo( + "io.opentelemetry.javaagent.instrumentation.azurecore.v1_19.shaded" + + ".com.azure.core.tracing.opentelemetry.OpenTelemetryHttpPolicy")); + } + + @Test + void testSpan() { + Context context = TracerProxy.start("hello", Context.NONE); + TracerProxy.end(200, null, context); + + testing.waitAndAssertTraces( + trace -> + trace.hasSpansSatisfyingExactly( + span -> + span.hasName("hello") + .hasKind(SpanKind.INTERNAL) + .hasStatus(StatusData.ok()) + .hasAttributesSatisfying(Attributes::isEmpty))); + } +}