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()));

Reply via email to