You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gi...@apache.org on 2026/02/15 02:18:16 UTC
(camel-quarkus) 01/28: Add platform-http invocation test to Opentelemetry2
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 71128d716576338037bd3ec0b6665b12dbf61e60
Author: Lukas Lowinger <ll...@redhat.com>
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"));
+ }
}