Skip to content

Commit 8ae755a

Browse files
authored
Switch EventHubsExporterIntegrationTest to managed identity (#43181)
1 parent 3bf1aea commit 8ae755a

File tree

3 files changed

+57
-5
lines changed

3 files changed

+57
-5
lines changed

sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/AppConfigurationExporterIntegrationTest.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33

44
package com.azure.monitor.opentelemetry.autoconfigure;
55

6+
import com.azure.core.credential.TokenCredential;
67
import com.azure.core.http.HttpPipelineCallContext;
78
import com.azure.core.http.HttpPipelineNextPolicy;
89
import com.azure.core.http.HttpResponse;
910
import com.azure.core.http.policy.HttpLogDetailLevel;
1011
import com.azure.core.http.policy.HttpLogOptions;
1112
import com.azure.core.http.policy.HttpPipelinePolicy;
1213
import com.azure.core.test.annotation.LiveOnly;
14+
import com.azure.core.util.Configuration;
1315
import com.azure.core.util.Context;
1416
import com.azure.core.util.FluxUtil;
1517
import com.azure.data.appconfiguration.ConfigurationClient;
@@ -37,6 +39,15 @@
3739

3840
@LiveOnly
3941
public class AppConfigurationExporterIntegrationTest extends MonitorExporterClientTestBase {
42+
43+
private TokenCredential credential;
44+
45+
@Override
46+
public void beforeTest() {
47+
super.beforeTest();
48+
credential = TokenCredentialUtil.getTestTokenCredential(interceptorManager);
49+
}
50+
4051
@Test
4152
public void setConfigurationTest() throws InterruptedException {
4253
CountDownLatch exporterCountDown = new CountDownLatch(1);
@@ -87,8 +98,9 @@ public void testDisableTracing() throws InterruptedException {
8798
assertTrue(exporterCountDown.await(60, TimeUnit.SECONDS));
8899
}
89100

90-
private static ConfigurationClient getConfigurationClient() {
91-
return new ConfigurationClientBuilder().connectionString(System.getenv("AZURE_APPCONFIG_CONNECTION_STRING"))
101+
private ConfigurationClient getConfigurationClient() {
102+
return new ConfigurationClientBuilder().credential(credential)
103+
.endpoint(Configuration.getGlobalConfiguration().get("MONITOR_RESOURCE_MANAGER_URL"))
92104
.httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))
93105
.buildClient();
94106
}

sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/EventHubsExporterIntegrationTest.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
package com.azure.monitor.opentelemetry.autoconfigure;
55

6+
import com.azure.core.credential.TokenCredential;
67
import com.azure.core.http.policy.HttpPipelinePolicy;
78
import com.azure.core.test.annotation.LiveOnly;
89
import com.azure.core.util.FluxUtil;
@@ -37,6 +38,14 @@ public class EventHubsExporterIntegrationTest extends MonitorExporterClientTestB
3738
private static final String STORAGE_CONNECTION_STRING = System.getenv("STORAGE_CONNECTION_STRING");
3839
private static final String CONTAINER_NAME = System.getenv("STORAGE_CONTAINER_NAME");
3940

41+
private TokenCredential credential;
42+
43+
@Override
44+
public void beforeTest() {
45+
super.beforeTest();
46+
credential = TokenCredentialUtil.getTestTokenCredential(interceptorManager);
47+
}
48+
4049
@Test
4150
public void producerTest() throws InterruptedException {
4251
CountDownLatch exporterCountDown = new CountDownLatch(2);
@@ -55,8 +64,10 @@ public void producerTest() throws InterruptedException {
5564
return next.process();
5665
};
5766
Tracer tracer = TestUtils.createOpenTelemetrySdk(getHttpPipeline(validationPolicy)).getTracer("Sample");
58-
EventHubProducerAsyncClient producer
59-
= new EventHubClientBuilder().connectionString(CONNECTION_STRING).buildAsyncProducerClient();
67+
EventHubProducerAsyncClient producer = new EventHubClientBuilder().credential(credential)
68+
.fullyQualifiedNamespace("namespace")
69+
.eventHubName("event-hub")
70+
.buildAsyncProducerClient();
6071
Span span = tracer.spanBuilder(spanName).startSpan();
6172
Scope scope = span.makeCurrent();
6273
try {
@@ -68,7 +79,7 @@ public void producerTest() throws InterruptedException {
6879
span.end();
6980
scope.close();
7081
}
71-
assertTrue(exporterCountDown.await(5, TimeUnit.SECONDS));
82+
assertTrue(exporterCountDown.await(60, TimeUnit.SECONDS));
7283
}
7384

7485
@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")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.azure.monitor.opentelemetry.autoconfigure;
5+
6+
import com.azure.core.credential.TokenCredential;
7+
import com.azure.core.test.InterceptorManager;
8+
import com.azure.core.test.utils.MockTokenCredential;
9+
import com.azure.identity.AzurePowerShellCredentialBuilder;
10+
import com.azure.identity.DefaultAzureCredentialBuilder;
11+
12+
class TokenCredentialUtil {
13+
14+
/**
15+
* Gets a token credential for use in tests.
16+
* @param interceptorManager the interceptor manager
17+
* @return the TokenCredential
18+
*/
19+
static TokenCredential getTestTokenCredential(InterceptorManager interceptorManager) {
20+
if (interceptorManager.isLiveMode()) {
21+
return new AzurePowerShellCredentialBuilder().build();
22+
} else if (interceptorManager.isRecordMode()) {
23+
return new DefaultAzureCredentialBuilder().build();
24+
} else {
25+
return new MockTokenCredential();
26+
}
27+
}
28+
29+
}

0 commit comments

Comments
 (0)