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"))));
+
+ }
+
}