This is an automated email from the ASF dual-hosted git repository. jiriondrusek pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 4b2ff3625c3b4af3664c22c225f9931754bbee86 Author: Lukas Lowinger <[email protected]> AuthorDate: Wed Feb 11 16:31:16 2026 +0100 Add platform-http invocation test to Opentelemetry2 --- integration-tests/opentelemetry2/pom.xml | 17 +++++++++++++ .../it/OpenTelemetry2RouteBuilder.java | 9 +++++++ .../opentelemetry2/it/Opentelemetry2Test.java | 28 ++++++++++++++++++++++ 3 files changed, 54 insertions(+) diff --git a/integration-tests/opentelemetry2/pom.xml b/integration-tests/opentelemetry2/pom.xml index 7349082bda..2dd2e0b055 100644 --- a/integration-tests/opentelemetry2/pom.xml +++ b/integration-tests/opentelemetry2/pom.xml @@ -64,6 +64,10 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-opentelemetry2</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-http</artifactId> + </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy</artifactId> @@ -166,6 +170,19 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-http-deployment</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-log-deployment</artifactId> diff --git a/integration-tests/opentelemetry2/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/it/OpenTelemetry2RouteBuilder.java b/integration-tests/opentelemetry2/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/it/OpenTelemetry2RouteBuilder.java index ac5acfa933..3c60cabadc 100644 --- a/integration-tests/opentelemetry2/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/it/OpenTelemetry2RouteBuilder.java +++ b/integration-tests/opentelemetry2/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/it/OpenTelemetry2RouteBuilder.java @@ -44,5 +44,14 @@ public class OpenTelemetry2RouteBuilder extends RouteBuilder { from("direct:traceHeaderInclusion") .log("Trace info: CAMEL_SPAN_ID=${header.CAMEL_SPAN_ID}, CAMEL_TRACE_ID=${header.CAMEL_TRACE_ID}"); + + from("platform-http:/greeting") + .log("Received at greeting: ${body}") + .removeHeaders("*") + .to("http://localhost:{{quarkus.http.test-port}}/greeting-provider"); + + from("platform-http:/greeting-provider") + .log("Received at greeting-provider: ${body}") + .setBody(constant("Hello From Camel Quarkus!")); } } diff --git a/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java b/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java index 4a5fde8c2b..2659be20f3 100644 --- a/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java +++ b/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java @@ -163,4 +163,32 @@ class Opentelemetry2Test { .header("spanId", not(emptyOrNullString())) .header("traceId", not(emptyOrNullString())); } + + @Test + public void testHttpInvocation() { + RestAssured.get("/greeting") + .then() + .statusCode(200) + .body(equalTo("Hello From Camel Quarkus!")); + + await().atMost(30, TimeUnit.SECONDS).pollDelay(50, TimeUnit.MILLISECONDS).until(() -> getSpans().size() == 5); + List<Map<String, String>> spans = getSpans(); + assertEquals(5, spans.size()); + // Verify root doesn't have parent + assertEquals("0000000000000000", spans.get(4).get("parentId")); + // Verify the span hierarchy + assertEquals(spans.get(4).get("spanId"), spans.get(3).get("parentId")); + assertEquals(spans.get(3).get("spanId"), spans.get(2).get("parentId")); + // Last two spans have the same parent + // For /greeting there is no existing tracing in progress. For /greeting-provider there is, so its related to the trace propagation + assertEquals(spans.get(2).get("spanId"), spans.get(1).get("parentId")); + assertEquals(spans.get(2).get("spanId"), spans.get(0).get("parentId")); + + assertEquals(SpanKind.SERVER.name(), spans.get(4).get("kind")); + assertEquals(SpanKind.SERVER.name(), spans.get(1).get("kind")); + + assertEquals(SpanKind.INTERNAL.name(), spans.get(0).get("kind")); + assertEquals(SpanKind.INTERNAL.name(), spans.get(2).get("kind")); + assertEquals(SpanKind.INTERNAL.name(), spans.get(3).get("kind")); + } }
