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)