You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2021/07/14 14:55:58 UTC

[camel-quarkus] 12/13: Test removeHeader() and removeHeaders() EIP DSL methods #2628

This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 32fcc21c93be783087630e4dade205fde3ea28eb
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Fri Jul 9 19:25:43 2021 +0200

    Test removeHeader() and removeHeaders() EIP DSL methods #2628
---
 .../apache/camel/quarkus/eip/it/EipResource.java   | 18 +++++-
 .../org/apache/camel/quarkus/eip/it/EipRoutes.java |  4 ++
 .../org/apache/camel/quarkus/eip/it/EipTest.java   | 64 ++++++++++++++++++----
 3 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipResource.java b/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipResource.java
index ce54bca..3db977e 100644
--- a/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipResource.java
+++ b/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipResource.java
@@ -58,10 +58,11 @@ public class EipResource {
         return producerTemplate.requestBodyAndHeaders("direct:" + route, statement, headers, String.class);
     }
 
-    @Path("/mock/{name}/{count}/{timeout}")
+    @Path("/mock/{name}/{count}/{timeout}/{part}")
     @Produces(MediaType.TEXT_PLAIN)
     @GET
-    public String mock(@PathParam("name") String name, @PathParam("count") int count, @PathParam("timeout") int timeout) {
+    public String mockHeader(@PathParam("name") String name, @PathParam("count") int count, @PathParam("timeout") int timeout,
+            @PathParam("part") String part) {
         MockEndpoint mock = context.getEndpoint("mock:" + name, MockEndpoint.class);
         mock.setExpectedMessageCount(count);
         try {
@@ -69,6 +70,17 @@ public class EipResource {
         } catch (InterruptedException e1) {
             Thread.currentThread().interrupt();
         }
-        return mock.getExchanges().stream().map(e -> e.getMessage().getBody(String.class)).collect(Collectors.joining(","));
+        switch (part) {
+        case "body":
+            return mock.getExchanges().stream().map(e -> e.getMessage().getBody(String.class)).collect(Collectors.joining(","));
+        case "header":
+            return mock.getExchanges().stream()
+                    .flatMap(e -> e.getMessage().getHeaders().entrySet().stream()
+                            .map(entry -> entry.getKey() + "=" + entry.getValue()))
+                    .collect(Collectors.joining(","));
+        default:
+            throw new IllegalStateException("Unexpected part " + part);
+        }
     }
+
 }
diff --git a/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipRoutes.java b/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipRoutes.java
index 32b78fc..755ce35 100644
--- a/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipRoutes.java
+++ b/integration-test-groups/foundation/eip/src/main/java/org/apache/camel/quarkus/eip/it/EipRoutes.java
@@ -64,6 +64,10 @@ public class EipRoutes extends RouteBuilder {
 
         from("direct:recipientList").recipientList(constant("mock:recipientList1,mock:recipientList2,mock:recipientList3"));
 
+        from("direct:removeHeader").removeHeader("headerToRemove").to("mock:removeHeader");
+
+        from("direct:removeHeaders").removeHeaders("headerToRemove.*").to("mock:removeHeaders");
+
     }
 
     @Produces
diff --git a/integration-test-groups/foundation/eip/src/test/java/org/apache/camel/quarkus/eip/it/EipTest.java b/integration-test-groups/foundation/eip/src/test/java/org/apache/camel/quarkus/eip/it/EipTest.java
index 8abf644..e1fdc81 100644
--- a/integration-test-groups/foundation/eip/src/test/java/org/apache/camel/quarkus/eip/it/EipTest.java
+++ b/integration-test-groups/foundation/eip/src/test/java/org/apache/camel/quarkus/eip/it/EipTest.java
@@ -38,7 +38,7 @@ class EipTest {
                 .then()
                 .statusCode(200);
 
-        RestAssured.get("/eip/mock/claimCheckByHeader/4/10000")
+        RestAssured.get("/eip/mock/claimCheckByHeader/4/10000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("Bye World,Secret,Hi World,Secret"));
@@ -57,12 +57,12 @@ class EipTest {
                     .statusCode(200);
         }
 
-        RestAssured.get("/eip/mock/customLoadBalancer1/2/10000")
+        RestAssured.get("/eip/mock/customLoadBalancer1/2/10000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,c"));
 
-        RestAssured.get("/eip/mock/customLoadBalancer2/2/10000")
+        RestAssured.get("/eip/mock/customLoadBalancer2/2/10000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("b,d"));
@@ -102,7 +102,7 @@ class EipTest {
                 .then()
                 .statusCode(200);
 
-        RestAssured.get("/eip/mock/loop/3/5000")
+        RestAssured.get("/eip/mock/loop/3/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("foo,foo,foo"));
@@ -121,17 +121,17 @@ class EipTest {
                     .statusCode(200);
         }
 
-        RestAssured.get("/eip/mock/multicast1/4/5000")
+        RestAssured.get("/eip/mock/multicast1/4/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,b,c,d"));
 
-        RestAssured.get("/eip/mock/multicast2/4/5000")
+        RestAssured.get("/eip/mock/multicast2/4/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,b,c,d"));
 
-        RestAssured.get("/eip/mock/multicast3/4/5000")
+        RestAssured.get("/eip/mock/multicast3/4/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,b,c,d"));
@@ -150,21 +150,65 @@ class EipTest {
                     .statusCode(200);
         }
 
-        RestAssured.get("/eip/mock/recipientList1/4/5000")
+        RestAssured.get("/eip/mock/recipientList1/4/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,b,c,d"));
 
-        RestAssured.get("/eip/mock/recipientList2/4/5000")
+        RestAssured.get("/eip/mock/recipientList2/4/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,b,c,d"));
 
-        RestAssured.get("/eip/mock/recipientList3/4/5000")
+        RestAssured.get("/eip/mock/recipientList3/4/5000/body")
                 .then()
                 .statusCode(200)
                 .body(Matchers.is("a,b,c,d"));
 
     }
 
+    @Test
+    public void removeHeader() {
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body("baz")
+                .queryParam("headerToKeep", "foo")
+                .queryParam("headerToRemove", "bar")
+                .post("/eip/route/removeHeader")
+                .then()
+                .statusCode(200);
+
+        RestAssured.get("/eip/mock/removeHeader/1/5000/header")
+                .then()
+                .statusCode(200)
+                .body(
+                        Matchers.allOf(
+                                Matchers.containsString("headerToKeep=foo"),
+                                Matchers.not(Matchers.containsString("headerToRemove"))));
+
+    }
+
+    @Test
+    public void removeHeaders() {
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body("baz")
+                .queryParam("headerToKeep", "keepFoo")
+                .queryParam("headerToRemove1", "bar1")
+                .queryParam("headerToRemove2", "bar2")
+                .post("/eip/route/removeHeaders")
+                .then()
+                .statusCode(200);
+
+        RestAssured.get("/eip/mock/removeHeaders/1/5000/header")
+                .then()
+                .statusCode(200)
+                .body(
+                        Matchers.allOf(
+                                Matchers.containsString("headerToKeep=keepFoo"),
+                                Matchers.not(Matchers.containsString("headerToRemove1")),
+                                Matchers.not(Matchers.containsString("headerToRemove2"))));
+
+    }
+
 }