You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2022/09/28 13:12:59 UTC
[camel-quarkus] 11/11: Increase test coverage of ref extension
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 28c701b209f2d9ef54928fe4afccdfac9fe0b8de
Author: James Netherton <ja...@gmail.com>
AuthorDate: Wed Sep 28 10:31:37 2022 +0100
Increase test coverage of ref extension
Fixes #4010
---
integration-test-groups/foundation/ref/pom.xml | 19 +++++++-
.../quarkus/component/ref/it/RefResource.java | 52 +++++++++++++++++++---
.../camel/quarkus/component/ref/it/RefTest.java | 20 ++++++---
3 files changed, 78 insertions(+), 13 deletions(-)
diff --git a/integration-test-groups/foundation/ref/pom.xml b/integration-test-groups/foundation/ref/pom.xml
index 5689356871..d114f10d37 100644
--- a/integration-test-groups/foundation/ref/pom.xml
+++ b/integration-test-groups/foundation/ref/pom.xml
@@ -31,13 +31,17 @@
<description>Integration tests for Camel Quarkus Ref extension</description>
<dependencies>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-direct</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-ref</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct</artifactId>
+ <artifactId>camel-quarkus-seda</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
@@ -120,6 +124,19 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-seda</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
</profile>
</profiles>
diff --git a/integration-test-groups/foundation/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java b/integration-test-groups/foundation/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java
index a8132faa9d..2695851d48 100644
--- a/integration-test-groups/foundation/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java
+++ b/integration-test-groups/foundation/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java
@@ -21,12 +21,15 @@ import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.apache.camel.CamelContext;
+import org.apache.camel.ConsumerTemplate;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
@@ -43,19 +46,49 @@ public class RefResource {
@Inject
ProducerTemplate producerTemplate;
+ @Inject
+ ConsumerTemplate consumerTemplate;
+
@Path("/post")
@POST
@Consumes(MediaType.TEXT_PLAIN)
+ public void produceMessage(@QueryParam("uri") String uri, String message) {
+ producerTemplate.sendBody(uri, message);
+ }
+
+ @Path("/get")
+ @GET
@Produces(MediaType.TEXT_PLAIN)
- public String post(String message) {
- return producerTemplate.requestBody("my-endpoint", message, String.class);
+ public String consumeMessage(@QueryParam("uri") String uri) {
+ return consumerTemplate.receiveBody(uri, 5000L, String.class);
}
@Singleton
- @Named("my-endpoint")
+ @Named("direct-start-a")
@javax.enterprise.inject.Produces
- public Endpoint myEndpoint() {
- return camelContext.getEndpoint("direct:start");
+ public Endpoint directStartA() {
+ return camelContext.getEndpoint("direct:startA");
+ }
+
+ @Singleton
+ @Named("direct-start-b")
+ @javax.enterprise.inject.Produces
+ public Endpoint directStartB() {
+ return camelContext.getEndpoint("direct:startB");
+ }
+
+ @Singleton
+ @Named("seda-end-a")
+ @javax.enterprise.inject.Produces
+ public Endpoint sedaEndA() {
+ return camelContext.getEndpoint("seda:endA");
+ }
+
+ @Singleton
+ @Named("seda-end-b")
+ @javax.enterprise.inject.Produces
+ public Endpoint sedaEndB() {
+ return camelContext.getEndpoint("seda:endB");
}
@Singleton
@@ -77,8 +110,13 @@ public class RefResource {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("my-endpoint")
- .transform().ref("my-expression");
+ from("direct-start-a")
+ .transform().ref("my-expression")
+ .to("seda-end-a");
+
+ from("ref:direct-start-b")
+ .transform().ref("my-expression")
+ .to("ref:seda-end-b");
}
};
}
diff --git a/integration-test-groups/foundation/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java b/integration-test-groups/foundation/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java
index 9da46de234..f6e9363425 100644
--- a/integration-test-groups/foundation/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java
+++ b/integration-test-groups/foundation/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java
@@ -19,19 +19,29 @@ package org.apache.camel.quarkus.component.ref.it;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
import static org.hamcrest.Matchers.is;
@QuarkusTest
class RefTest {
- @Test
- public void componentAndLanguage() {
- final String msg = "hello";
+ @ParameterizedTest
+ @ValueSource(strings = { "a", "b" })
+ public void componentAndLanguage(String uriSuffix) {
+ final String msg = "hello " + uriSuffix;
RestAssured.given()
.contentType(ContentType.TEXT)
- .body(msg).post("/ref/post")
+ .queryParam("uri", "direct-start-" + uriSuffix)
+ .body(msg)
+ .post("/ref/post")
+ .then()
+ .statusCode(204);
+
+ RestAssured.given()
+ .queryParam("uri", "seda-end-" + uriSuffix)
+ .get("/ref/get")
.then()
.statusCode(200)
.body(is(msg.toUpperCase()));