Skip to content

Commit a2a4d4c

Browse files
committed
add smoke test
1 parent 794df72 commit a2a4d4c

File tree

3 files changed

+82
-64
lines changed

3 files changed

+82
-64
lines changed

instrumentation/opentelemetry-api/opentelemetry-api-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/ResourceTest.java

Lines changed: 0 additions & 64 deletions
This file was deleted.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest
7+
8+
9+
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest
10+
import spock.lang.IgnoreIf
11+
import spock.lang.Unroll
12+
13+
import java.time.Duration
14+
15+
import static io.opentelemetry.smoketest.TestContainerManager.useWindowsContainers
16+
17+
@IgnoreIf({ useWindowsContainers() })
18+
class ResourceCustomizerSmokeTest extends SmokeTest {
19+
20+
protected String getTargetImage(String jdk) {
21+
"ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-spring-boot:jdk$jdk-20241021.11448062567"
22+
}
23+
24+
@Override
25+
protected List<ResourceMapping> getExtraResources() {
26+
[
27+
ResourceMapping.of("declarative-config.yaml", "/declarative-config.yaml"),
28+
]
29+
}
30+
31+
@Override
32+
protected Map<String, String> getExtraEnv() {
33+
return ["OTEL_EXPERIMENTAL_CONFIG_FILE": "declarative-config.yaml"]
34+
}
35+
36+
@Override
37+
protected TargetWaitStrategy getWaitStrategy() {
38+
return new TargetWaitStrategy.Log(Duration.ofMinutes(1), ".*Started SpringbootApplication in.*")
39+
}
40+
41+
@Unroll
42+
def "spring boot smoke test on JDK #jdk"(int jdk) {
43+
setup:
44+
startTarget(jdk)
45+
46+
when:
47+
client().get("/greeting").aggregate().join()
48+
Collection<ExportTraceServiceRequest> traces = waitForTraces()
49+
50+
then: "declarative config is applied"
51+
def serviceName = findResourceAttribute(traces, "service.name")
52+
.map { it.stringValue }
53+
.findAny()
54+
serviceName.isPresent()
55+
serviceName.get() == "declarative-config-smoke-test"
56+
57+
then: "service detector is added by customizer"
58+
def serviceInstanceId = findResourceAttribute(traces, "service.instance.id")
59+
.map { it.stringValue }
60+
.findAny()
61+
serviceInstanceId.isPresent()
62+
63+
then: "distro detector is added by customizer"
64+
def distroName = findResourceAttribute(traces, "telemetry.distro.name")
65+
.map { it.stringValue }
66+
.findAny()
67+
distroName.isPresent()
68+
serviceName.get() == "opentelemetry-java-instrumentation"
69+
70+
cleanup:
71+
stopTarget()
72+
73+
where:
74+
jdk << [8, 11, 17]
75+
}
76+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
file_format: 1.0-rc.1
2+
# add extra resource attributes to verify that declarative config is picked up
3+
resource:
4+
attributes:
5+
- name: service.name
6+
value: declarative-config-smoke-test

0 commit comments

Comments
 (0)