This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new 89d31b2b62 Increase test coverage of ref extension 89d31b2b62 is described below commit 89d31b2b626648272677f86ec3d385c62982707d Author: James Netherton <jamesnether...@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 034ddc8ef2..2692c90595 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()));