Skip to content

Commit e62e04a

Browse files
committed
add end to end test for declarative config for aws
1 parent 2859205 commit e62e04a

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

aws-resources/build.gradle.kts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,25 @@ dependencies {
2121
implementation("com.squareup.okhttp3:okhttp")
2222

2323
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
24+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
2425
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
2526
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
27+
testImplementation("io.opentelemetry:opentelemetry-exporter-logging")
2628

2729
testImplementation("com.linecorp.armeria:armeria-junit5")
2830
testRuntimeOnly("org.bouncycastle:bcpkix-jdk15on")
2931
testImplementation("com.google.guava:guava")
3032
testImplementation("org.skyscreamer:jsonassert")
33+
testImplementation("org.junit-pioneer:junit-pioneer")
34+
}
35+
36+
tasks {
37+
withType<Test>().configureEach {
38+
environment(
39+
"AWS_REGION" to "us-east-1",
40+
"AWS_LAMBDA_FUNCTION_NAME" to "my-function",
41+
"AWS_LAMBDA_FUNCTION_VERSION" to "1.2.3"
42+
)
43+
jvmArgs("-Dotel.experimental.config.file=${project.projectDir.resolve("src/test/resources/config.yaml")}")
44+
}
3145
}

aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/ResourceComponentProviderTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

10+
import io.opentelemetry.api.common.Attributes;
1011
import io.opentelemetry.common.ComponentLoader;
12+
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
1113
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
14+
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
15+
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
16+
import org.assertj.core.api.InstanceOfAssertFactory;
1217
import org.junit.jupiter.api.Test;
1318

1419
class ResourceComponentProviderTest {
@@ -21,4 +26,20 @@ void providerIsLoaded() {
2126
.load(ComponentProvider.class);
2227
assertThat(providers).extracting(ComponentProvider::getName).containsExactly("aws");
2328
}
29+
30+
@Test
31+
void endToEnd() {
32+
assertThat(
33+
AutoConfiguredOpenTelemetrySdk.initialize()
34+
.getOpenTelemetrySdk()
35+
.getSdkTracerProvider())
36+
.extracting("sharedState")
37+
.extracting("resource")
38+
.extracting(
39+
"attributes",
40+
new InstanceOfAssertFactory<>(Attributes.class, OpenTelemetryAssertions::assertThat))
41+
.containsEntry(
42+
CloudIncubatingAttributes.CLOUD_PROVIDER,
43+
CloudIncubatingAttributes.CloudProviderIncubatingValues.AWS);
44+
}
2445
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
file_format: "1.0-rc.1"
2+
resource:
3+
detection/development:
4+
detectors:
5+
- aws:
6+
tracer_provider:
7+
processors:
8+
- simple:
9+
exporter:
10+
console:

0 commit comments

Comments
 (0)