Skip to content

Commit b169e27

Browse files
committed
resource provider end 2 end tests
1 parent df6a3ef commit b169e27

File tree

12 files changed

+128
-20
lines changed

12 files changed

+128
-20
lines changed

aws-resources/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ tasks {
3939
"AWS_LAMBDA_FUNCTION_NAME" to "my-function",
4040
"AWS_LAMBDA_FUNCTION_VERSION" to "1.2.3"
4141
)
42-
jvmArgs("-Dotel.experimental.config.file=${project.projectDir.resolve("src/test/resources/config.yaml")}")
42+
jvmArgs("-Dotel.experimental.config.file=${project.projectDir.resolve("src/test/resources/declarative-config.yaml")}")
4343
}
4444
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
import static org.assertj.core.api.Assertions.assertThat;
99

1010
import io.opentelemetry.api.common.Attributes;
11-
import io.opentelemetry.common.ComponentLoader;
1211
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
13-
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
1412
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
1513
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
1614
import org.assertj.core.api.InstanceOfAssertFactory;

azure-resources/build.gradle.kts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ dependencies {
2929
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
3030
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
3131
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
32+
testImplementation("io.opentelemetry:opentelemetry-exporter-logging")
33+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
3234

3335
// testImplementation("org.mockito:mockito-core")
3436
testImplementation("com.google.guava:guava")
@@ -37,3 +39,13 @@ dependencies {
3739
testImplementation("org.assertj:assertj-core")
3840
testImplementation("com.linecorp.armeria:armeria-junit5")
3941
}
42+
43+
tasks {
44+
withType<Test>().configureEach {
45+
environment(
46+
"WEBSITE_SITE_NAME" to "my-function",
47+
"FUNCTIONS_EXTENSION_VERSION" to "1.2.3"
48+
)
49+
jvmArgs("-Dotel.experimental.config.file=${project.projectDir.resolve("src/test/resources/declarative-config.yaml")}")
50+
}
51+
}

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

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,28 @@
77

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

10-
import io.opentelemetry.common.ComponentLoader;
11-
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
10+
import io.opentelemetry.api.common.Attributes;
11+
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
12+
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
13+
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
14+
import org.assertj.core.api.InstanceOfAssertFactory;
1215
import org.junit.jupiter.api.Test;
1316

1417
class ResourceComponentProviderTest {
1518

1619
@Test
17-
@SuppressWarnings("rawtypes")
18-
void providerIsLoaded() {
19-
Iterable<ComponentProvider> providers =
20-
ComponentLoader.forClassLoader(ResourceComponentProviderTest.class.getClassLoader())
21-
.load(ComponentProvider.class);
22-
assertThat(providers).extracting(ComponentProvider::getName).containsExactly("azure");
20+
void endToEnd() {
21+
assertThat(
22+
AutoConfiguredOpenTelemetrySdk.initialize()
23+
.getOpenTelemetrySdk()
24+
.getSdkTracerProvider())
25+
.extracting("sharedState")
26+
.extracting("resource")
27+
.extracting(
28+
"attributes",
29+
new InstanceOfAssertFactory<>(Attributes.class, OpenTelemetryAssertions::assertThat))
30+
.containsEntry(
31+
CloudIncubatingAttributes.CLOUD_PROVIDER,
32+
CloudIncubatingAttributes.CloudProviderIncubatingValues.AZURE);
2333
}
2434
}
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+
- azure:
6+
tracer_provider:
7+
processors:
8+
- simple:
9+
exporter:
10+
console:

cloudfoundry-resources/build.gradle.kts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,35 @@ dependencies {
2323
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
2424
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
2525
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
26+
testImplementation("io.opentelemetry:opentelemetry-exporter-logging")
27+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
28+
}
29+
30+
tasks {
31+
withType<Test>().configureEach {
32+
environment(
33+
"VCAP_APPLICATION" to """
34+
{
35+
"application_id": "0193a038-e615-7e5e-92ca-f4bcd7ba0a25",
36+
"application_name": "cf-app-name",
37+
"application_uris": [
38+
"testapp.example.com"
39+
],
40+
"cf_api": "https://api.cf.example.com",
41+
"limits": {
42+
"fds": 256
43+
},
44+
"instance_index": 1,
45+
"organization_id": "0193a375-8d8e-7e0c-a832-01ce9ded40dc",
46+
"organization_name": "cf-org-name",
47+
"process_id": "0193a4e3-8fd3-71b9-9fe3-5640c53bf1e2",
48+
"process_type": "web",
49+
"space_id": "0193a7e7-da17-7ea4-8940-b1e07b401b16",
50+
"space_name": "cf-space-name",
51+
"users": null
52+
}
53+
""".trimIndent(),
54+
)
55+
jvmArgs("-Dotel.experimental.config.file=${project.projectDir.resolve("src/test/resources/declarative-config.yaml")}")
56+
}
2657
}

cloudfoundry-resources/src/test/java/io/opentelemetry/contrib/cloudfoundry/resources/ResourceComponentProviderTest.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,24 @@
77

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

10-
import io.opentelemetry.common.ComponentLoader;
11-
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
10+
import io.opentelemetry.api.common.Attributes;
11+
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
12+
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
13+
import org.assertj.core.api.InstanceOfAssertFactory;
1214
import org.junit.jupiter.api.Test;
1315

1416
class ResourceComponentProviderTest {
15-
1617
@Test
17-
@SuppressWarnings("rawtypes")
18-
void providerIsLoaded() {
19-
Iterable<ComponentProvider> providers =
20-
ComponentLoader.forClassLoader(ResourceComponentProviderTest.class.getClassLoader())
21-
.load(ComponentProvider.class);
22-
assertThat(providers).extracting(ComponentProvider::getName).containsExactly("cloud_foundry");
18+
void endToEnd() {
19+
assertThat(
20+
AutoConfiguredOpenTelemetrySdk.initialize()
21+
.getOpenTelemetrySdk()
22+
.getSdkTracerProvider())
23+
.extracting("sharedState")
24+
.extracting("resource")
25+
.extracting(
26+
"attributes",
27+
new InstanceOfAssertFactory<>(Attributes.class, OpenTelemetryAssertions::assertThat))
28+
.containsEntry("cloudfoundry.app.name", "cf-app-name");
2329
}
2430
}
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+
- cloud_foundry:
6+
tracer_provider:
7+
processors:
8+
- simple:
9+
exporter:
10+
console:

maven-extension/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ dependencies {
3333
compileOnly("org.apache.maven:maven-core:3.5.0") // do not auto-update, support older mvn versions
3434
compileOnly("org.slf4j:slf4j-api")
3535

36+
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
3637
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
38+
testImplementation("io.opentelemetry:opentelemetry-exporter-logging")
39+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
3740
testImplementation("org.apache.maven:maven-core:3.5.0")
3841
testImplementation("org.slf4j:slf4j-simple")
3942
}

0 commit comments

Comments
 (0)