Skip to content

Commit 2afc6a1

Browse files
committed
convert propagation test
1 parent c8b6c3c commit 2afc6a1

File tree

8 files changed

+187
-128
lines changed

8 files changed

+187
-128
lines changed

smoke-tests/src/test/groovy/io/opentelemetry/smoketest/PropagationTest.groovy

Lines changed: 0 additions & 128 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import java.util.Map;
9+
import org.junit.jupiter.api.condition.DisabledIf;
10+
11+
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
12+
class B3MultiPropagationTest extends PropagationTest {
13+
@Override
14+
protected Map<String, String> getExtraEnv() {
15+
return Map.of("otel.propagators", "b3multi");
16+
}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import java.util.Map;
9+
import org.junit.jupiter.api.condition.DisabledIf;
10+
11+
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
12+
class B3PropagationTest extends PropagationTest {
13+
@Override
14+
protected Map<String, String> getExtraEnv() {
15+
return Map.of("otel.propagators", "b3");
16+
}
17+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import org.junit.jupiter.api.condition.DisabledIf;
9+
10+
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
11+
class DefaultPropagationTest extends PropagationTest {}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import static org.assertj.core.api.Assertions.assertThat;
9+
10+
import io.opentelemetry.sdk.trace.data.SpanData;
11+
import io.opentelemetry.smoketest.JavaSmokeTest;
12+
import io.opentelemetry.smoketest.TargetWaitStrategy;
13+
import io.opentelemetry.testing.internal.armeria.common.AggregatedHttpResponse;
14+
import java.time.Duration;
15+
import java.util.List;
16+
import java.util.Map;
17+
import java.util.Set;
18+
import java.util.stream.Collectors;
19+
import org.junit.jupiter.api.Test;
20+
import org.junit.jupiter.api.condition.DisabledIf;
21+
22+
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
23+
class OtTracePropagationTest extends JavaSmokeTest {
24+
@Override
25+
protected String getTargetImage(String jdk) {
26+
return "ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-spring-boot:jdk"
27+
+ jdk
28+
+ "-20211213.1570880324";
29+
}
30+
31+
@Override
32+
protected TargetWaitStrategy getWaitStrategy() {
33+
return new TargetWaitStrategy.Log(
34+
Duration.ofMinutes(1), ".*Started SpringbootApplication in.*");
35+
}
36+
37+
@Test
38+
public void shouldPropagate() throws Exception {
39+
runTarget(
40+
11,
41+
output -> {
42+
AggregatedHttpResponse response = client().get("/front").aggregate().join();
43+
List<SpanData> spanData = waitForTraces();
44+
45+
Set<String> ids =
46+
spanData.stream().map(s -> s.getTraceId().substring(16)).collect(Collectors.toSet());
47+
assertThat(ids).hasSize(1);
48+
49+
var traceId = ids.iterator().next();
50+
51+
assertThat(response.contentUtf8())
52+
.matches("[0-9a-f]{16}" + traceId + ";[0]{16}" + traceId);
53+
});
54+
}
55+
56+
@Override
57+
protected Map<String, String> getExtraEnv() {
58+
return Map.of("otel.propagators", "ottrace");
59+
}
60+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import static org.assertj.core.api.Assertions.assertThat;
9+
10+
import io.opentelemetry.sdk.testing.assertj.TracesAssert;
11+
import io.opentelemetry.sdk.trace.data.SpanData;
12+
import io.opentelemetry.smoketest.JavaSmokeTest;
13+
import io.opentelemetry.smoketest.TargetWaitStrategy;
14+
import io.opentelemetry.testing.internal.armeria.common.AggregatedHttpResponse;
15+
import java.time.Duration;
16+
import java.util.List;
17+
import org.junit.jupiter.api.Test;
18+
19+
public abstract class PropagationTest extends JavaSmokeTest {
20+
21+
@Override
22+
protected String getTargetImage(String jdk) {
23+
return "ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-spring-boot:jdk"
24+
+ jdk
25+
+ "-20211213.1570880324";
26+
}
27+
28+
@Override
29+
protected TargetWaitStrategy getWaitStrategy() {
30+
return new TargetWaitStrategy.Log(
31+
Duration.ofMinutes(1), ".*Started SpringbootApplication in.*");
32+
}
33+
34+
@Test
35+
public void shouldPropagate() throws Exception {
36+
runTarget(
37+
11,
38+
output -> {
39+
AggregatedHttpResponse response = client().get("/front").aggregate().join();
40+
List<SpanData> traces = waitForTraces();
41+
42+
TracesAssert.assertThat(traces).hasTracesSatisfyingExactly(trace -> {});
43+
44+
var traceId = traces.get(0).getTraceId();
45+
assertThat(response.contentUtf8()).isEqualTo(traceId + ";" + traceId);
46+
});
47+
}
48+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import java.util.Map;
9+
import org.junit.jupiter.api.condition.DisabledIf;
10+
11+
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
12+
class W3CPropagationTest extends PropagationTest {
13+
@Override
14+
protected Map<String, String> getExtraEnv() {
15+
return Map.of("otel.propagators", "tracecontext");
16+
}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.smoketest.propagation;
7+
8+
import java.util.Map;
9+
import org.junit.jupiter.api.condition.DisabledIf;
10+
11+
@DisabledIf("io.opentelemetry.smoketest.TestContainerManager#useWindowsContainers")
12+
class XRayPropagationTest extends PropagationTest {
13+
@Override
14+
protected Map<String, String> getExtraEnv() {
15+
return Map.of("otel.propagators", "xray");
16+
}
17+
}

0 commit comments

Comments
 (0)