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/29 06:08:49 UTC
[camel-quarkus] 08/10: Test sticky() EIP DSL method #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 f74e9933f46d1e8a670c7f07b74f7b96aab8c842
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Wed Jul 28 15:34:10 2021 +0200
Test sticky() EIP DSL method #2628
---
.../org/apache/camel/quarkus/eip/it/EipRoutes.java | 4 ++++
.../org/apache/camel/quarkus/eip/it/EipTest.java | 26 ++++++++++++++++++++++
2 files changed, 30 insertions(+)
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 360716f..15e24e6 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
@@ -48,6 +48,10 @@ public class EipRoutes extends RouteBuilder {
.loadBalance().roundRobin()
.to("mock:roundRobinLoadBalancer1", "mock:roundRobinLoadBalancer2");
+ from("direct:stickyLoadBalancer")
+ .loadBalance().sticky(header("stickyKey"))
+ .to("mock:stickyLoadBalancer1", "mock:stickyLoadBalancer2");
+
from("direct:enrich")
.enrich("direct:prepend-hello");
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 df94356..bee463e 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
@@ -98,6 +98,32 @@ class EipTest {
}
@Test
+ public void stickyLoadBalancer() {
+ final List<String> messages = Arrays.asList("a", "b", "c", "d");
+ int i = 0;
+ for (String msg : messages) {
+ RestAssured.given()
+ .contentType(ContentType.TEXT)
+ .queryParam("stickyKey", String.valueOf(1 + (i++ % 2)))
+ .body(msg)
+ .post("/eip/route/stickyLoadBalancer")
+ .then()
+ .statusCode(200);
+ }
+
+ RestAssured.get("/eip/mock/stickyLoadBalancer1/2/10000/body")
+ .then()
+ .statusCode(200)
+ .body(Matchers.is("a,c"));
+
+ RestAssured.get("/eip/mock/stickyLoadBalancer2/2/10000/body")
+ .then()
+ .statusCode(200)
+ .body(Matchers.is("b,d"));
+
+ }
+
+ @Test
public void enrich() {
RestAssured.given()
.contentType(ContentType.TEXT)