You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/12/11 12:28:33 UTC

(camel-quarkus) branch camel-main updated: Added await for throttle test

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

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


The following commit(s) were added to refs/heads/camel-main by this push:
     new 2ab36e3a6e Added await for throttle test
2ab36e3a6e is described below

commit 2ab36e3a6ef26e85cf07efe8c4a44ffe0e1ab6ee
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Mon Dec 11 13:28:20 2023 +0100

    Added await for throttle test
---
 integration-test-groups/foundation/eip/pom.xml     |  5 +++++
 .../org/apache/camel/quarkus/eip/it/EipRoutes.java |  3 ++-
 .../org/apache/camel/quarkus/eip/it/EipTest.java   | 23 +++++++++++++---------
 3 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/integration-test-groups/foundation/eip/pom.xml b/integration-test-groups/foundation/eip/pom.xml
index 85ff474cfa..9cd095b301 100644
--- a/integration-test-groups/foundation/eip/pom.xml
+++ b/integration-test-groups/foundation/eip/pom.xml
@@ -60,6 +60,11 @@
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <profiles>
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 0a454b5a94..a79bb177e6 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
@@ -28,7 +28,7 @@ import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
 @ApplicationScoped
 public class EipRoutes extends RouteBuilder {
 
-    public static final int THROTTLE_TIMEOUT = 10000;
+    public static final int THROTTLE_TIMEOUT = 5000;
     public static final int THROTTLE_MAXIMUM_REQUEST_COUNT = 2;
     public static final int WEIGHTED_1 = 2;
     public static final int WEIGHTED_2 = 1;
@@ -125,6 +125,7 @@ public class EipRoutes extends RouteBuilder {
 
         from("direct:throttle")
                 .throttle(THROTTLE_MAXIMUM_REQUEST_COUNT).rejectExecution(true).delay(THROTTLE_TIMEOUT)
+                .log("Sending '${body}' to mock throttle.")
                 .to("mock:throttle");
 
         from("direct:tryCatchFinally")
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 b7bd657358..d24f87cfce 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
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
@@ -29,6 +30,8 @@ import org.hamcrest.Matchers;
 import org.jboss.logging.Logger;
 import org.junit.jupiter.api.Test;
 
+import static org.awaitility.Awaitility.await;
+
 @QuarkusTest
 class EipTest {
 
@@ -480,15 +483,17 @@ class EipTest {
                     .then()
                     .extract().statusCode();
         }
-        String[] samples = RestAssured.get("/eip/mock/throttle/2/5000/body")
-                .then()
-                .statusCode(200)
-                .extract()
-                .body().asString().split(",");
-        LOG.infof("%d messages passed the route", samples.length);
-        Assertions.assertThat(samples.length).isEqualTo(EipRoutes.THROTTLE_MAXIMUM_REQUEST_COUNT);
-        Assertions.assertThat("message-0").isIn(samples);
-        Assertions.assertThat("message-1").isIn(samples);
+
+        await().atMost(EipRoutes.THROTTLE_TIMEOUT + 5000, TimeUnit.MILLISECONDS)
+                .pollDelay(EipRoutes.THROTTLE_TIMEOUT, TimeUnit.MILLISECONDS).until(() -> {
+                    String samples = RestAssured.get("/eip/mock/throttle/2/5000/body")
+                            .then()
+                            .statusCode(200)
+                            .extract()
+                            .body().asString();
+
+                    return samples.split(",").length == 2 && samples.contains("message-0") && samples.contains("message-1");
+                });
     }
 
     @Test