-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathDeclarativeConfigurationSmokeTest.java
More file actions
53 lines (45 loc) · 2.27 KB
/
Copy pathDeclarativeConfigurationSmokeTest.java
File metadata and controls
53 lines (45 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.smoketest;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME;
import static io.opentelemetry.semconv.TelemetryAttributes.TELEMETRY_DISTRO_NAME;
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID;
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME;
import static io.opentelemetry.semconv.incubating.ProcessIncubatingAttributes.PROCESS_EXECUTABLE_PATH;
import org.junit.jupiter.api.condition.DisabledIf;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
class DeclarativeConfigurationSmokeTest extends AbstractSmokeTest<Integer> {
@Override
protected void configure(SmokeTestOptions<Integer> options) {
options
.springBoot()
.env("OTEL_CONFIG_FILE", "declarative-config.yaml")
.extraResources(ResourceMapping.of("declarative-config.yaml", "/declarative-config.yaml"));
}
@ParameterizedTest
@ValueSource(ints = {8, 11, 17, 21, 25})
void springBootSmokeTest(int jdk) {
start(jdk);
client().get("/greeting").aggregate().join();
// There is one span (io.opentelemetry.opentelemetry-instrumentation-annotations-1.16 is
// not used, because default_enabled=false)
testing.waitAndAssertTraces(
trace ->
trace.hasSpansSatisfyingExactly(
span ->
span.hasResourceSatisfying(
resource ->
resource
.hasAttribute(SERVICE_NAME, "declarative-config-smoke-test")
.hasAttribute(satisfies(CONTAINER_ID, val -> val.isNotBlank()))
.hasAttribute(
satisfies(PROCESS_EXECUTABLE_PATH, val -> val.isNotBlank()))
.hasAttribute(satisfies(HOST_NAME, val -> val.isNotBlank()))
.hasAttribute(TELEMETRY_DISTRO_NAME, "opentelemetry-javaagent"))));
}
}