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