Skip to content

Commit 7f4bd5e

Browse files
committed
add AWS resource integration test
1 parent df397de commit 7f4bd5e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent;
7+
8+
import static org.junit.jupiter.api.Assertions.assertFalse;
9+
import static org.junit.jupiter.api.Assertions.assertTrue;
10+
11+
import java.util.ServiceLoader;
12+
import org.junit.jupiter.api.Test;
13+
14+
public class ResourceProviderTest {
15+
16+
@Test
17+
void resourceProviderOrder() throws Exception {
18+
boolean containerProviderFound = false;
19+
boolean awsProviderFound = false;
20+
// verify that aws resource provider is found after the regular container provider
21+
// provider that is found later can overrider values from previous providers
22+
Class<?> resourceProviderClass =
23+
Class.forName(
24+
"io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider",
25+
false,
26+
IntegrationTestUtils.getAgentClassLoader());
27+
for (Object resourceProvider :
28+
ServiceLoader.load(resourceProviderClass, IntegrationTestUtils.getAgentClassLoader())) {
29+
Class<?> clazz = resourceProvider.getClass();
30+
if (clazz
31+
.getName()
32+
.equals("io.opentelemetry.instrumentation.resources.ContainerResourceProvider")) {
33+
containerProviderFound = true;
34+
assertFalse(awsProviderFound);
35+
} else if (clazz.getName().startsWith("io.opentelemetry.contrib.aws.resource.")) {
36+
awsProviderFound = true;
37+
assertTrue(containerProviderFound);
38+
}
39+
}
40+
assertTrue(containerProviderFound);
41+
assertTrue(awsProviderFound);
42+
}
43+
}

0 commit comments

Comments
 (0)