diff --git a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/AppConfigurationExporterIntegrationTest.java b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/AppConfigurationExporterIntegrationTest.java index 6c6988726bc2..0ce0fe1b0185 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/AppConfigurationExporterIntegrationTest.java +++ b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/AppConfigurationExporterIntegrationTest.java @@ -3,6 +3,7 @@ package com.azure.monitor.opentelemetry.autoconfigure; +import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpPipelineCallContext; import com.azure.core.http.HttpPipelineNextPolicy; import com.azure.core.http.HttpResponse; @@ -10,6 +11,7 @@ import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.test.annotation.LiveOnly; +import com.azure.core.util.Configuration; import com.azure.core.util.Context; import com.azure.core.util.FluxUtil; import com.azure.data.appconfiguration.ConfigurationClient; @@ -37,6 +39,15 @@ @LiveOnly public class AppConfigurationExporterIntegrationTest extends MonitorExporterClientTestBase { + + private TokenCredential credential; + + @Override + public void beforeTest() { + super.beforeTest(); + credential = TokenCredentialUtil.getTestTokenCredential(interceptorManager); + } + @Test public void setConfigurationTest() throws InterruptedException { CountDownLatch exporterCountDown = new CountDownLatch(1); @@ -87,8 +98,9 @@ public void testDisableTracing() throws InterruptedException { assertTrue(exporterCountDown.await(60, TimeUnit.SECONDS)); } - private static ConfigurationClient getConfigurationClient() { - return new ConfigurationClientBuilder().connectionString(System.getenv("AZURE_APPCONFIG_CONNECTION_STRING")) + private ConfigurationClient getConfigurationClient() { + return new ConfigurationClientBuilder().credential(credential) + .endpoint(Configuration.getGlobalConfiguration().get("MONITOR_RESOURCE_MANAGER_URL")) .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) .buildClient(); } diff --git a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/EventHubsExporterIntegrationTest.java b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/EventHubsExporterIntegrationTest.java index 45591a00a6ca..717499b0958c 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/EventHubsExporterIntegrationTest.java +++ b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/EventHubsExporterIntegrationTest.java @@ -3,6 +3,7 @@ package com.azure.monitor.opentelemetry.autoconfigure; +import com.azure.core.credential.TokenCredential; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.test.annotation.LiveOnly; import com.azure.core.util.FluxUtil; @@ -37,6 +38,14 @@ public class EventHubsExporterIntegrationTest extends MonitorExporterClientTestB private static final String STORAGE_CONNECTION_STRING = System.getenv("STORAGE_CONNECTION_STRING"); private static final String CONTAINER_NAME = System.getenv("STORAGE_CONTAINER_NAME"); + private TokenCredential credential; + + @Override + public void beforeTest() { + super.beforeTest(); + credential = TokenCredentialUtil.getTestTokenCredential(interceptorManager); + } + @Test public void producerTest() throws InterruptedException { CountDownLatch exporterCountDown = new CountDownLatch(2); @@ -55,8 +64,10 @@ public void producerTest() throws InterruptedException { return next.process(); }; Tracer tracer = TestUtils.createOpenTelemetrySdk(getHttpPipeline(validationPolicy)).getTracer("Sample"); - EventHubProducerAsyncClient producer - = new EventHubClientBuilder().connectionString(CONNECTION_STRING).buildAsyncProducerClient(); + EventHubProducerAsyncClient producer = new EventHubClientBuilder().credential(credential) + .fullyQualifiedNamespace("namespace") + .eventHubName("event-hub") + .buildAsyncProducerClient(); Span span = tracer.spanBuilder(spanName).startSpan(); Scope scope = span.makeCurrent(); try { @@ -68,7 +79,7 @@ public void producerTest() throws InterruptedException { span.end(); scope.close(); } - assertTrue(exporterCountDown.await(5, TimeUnit.SECONDS)); + assertTrue(exporterCountDown.await(60, TimeUnit.SECONDS)); } @Disabled("Processor integration tests require separate consumer group to not have partition contention in CI - https://github.com/Azure/azure-sdk-for-java/issues/23567") diff --git a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/TokenCredentialUtil.java b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/TokenCredentialUtil.java new file mode 100644 index 000000000000..66b6c391c390 --- /dev/null +++ b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/TokenCredentialUtil.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.monitor.opentelemetry.autoconfigure; + +import com.azure.core.credential.TokenCredential; +import com.azure.core.test.InterceptorManager; +import com.azure.core.test.utils.MockTokenCredential; +import com.azure.identity.AzurePowerShellCredentialBuilder; +import com.azure.identity.DefaultAzureCredentialBuilder; + +class TokenCredentialUtil { + + /** + * Gets a token credential for use in tests. + * @param interceptorManager the interceptor manager + * @return the TokenCredential + */ + static TokenCredential getTestTokenCredential(InterceptorManager interceptorManager) { + if (interceptorManager.isLiveMode()) { + return new AzurePowerShellCredentialBuilder().build(); + } else if (interceptorManager.isRecordMode()) { + return new DefaultAzureCredentialBuilder().build(); + } else { + return new MockTokenCredential(); + } + } + +}