This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch 3.2.x in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/3.2.x by this push: new 7a03993caf Improve implementation of GooglePubsubTest.testOrdering 7a03993caf is described below commit 7a03993caf175ce0934f24d60d1155116e8e2145 Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Wed Sep 20 10:21:40 2023 +0100 Improve implementation of GooglePubsubTest.testOrdering Fixes #3944 --- .../google/pubsub/it/GooglePubSubRoutes.java | 4 + .../google/pubsub/it/GooglePubsubResource.java | 11 ++- .../google/pubsub/it/GooglePubsubTest.java | 91 ++++------------------ 3 files changed, 26 insertions(+), 80 deletions(-) diff --git a/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubSubRoutes.java b/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubSubRoutes.java index de0220b979..52362d633b 100644 --- a/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubSubRoutes.java +++ b/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubSubRoutes.java @@ -31,6 +31,7 @@ public class GooglePubSubRoutes extends RouteBuilder { public static final String ORDERING_DIRECT_IN = "direct:ordering_in"; public static final String ACK_DIRECT_IN = "direct:ack_in"; public static final String ACK_MOCK_RESULT = "mock:ack_result"; + public static final String ORDERING_MOCK_RESULT = "mock:ordering_result"; @Produces @Named("ackFailing") @@ -60,6 +61,9 @@ public class GooglePubSubRoutes extends RouteBuilder { throw new Exception("fail"); } }).to(ACK_MOCK_RESULT); + + from("google-pubsub:{{project.id}}:{{google-pubsub.ordering-subscription-name}}?synchronousPull=true") + .to(ORDERING_MOCK_RESULT); } static class AcKFailing { diff --git a/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubResource.java b/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubResource.java index b0fc91f65c..86367bac71 100644 --- a/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubResource.java +++ b/integration-tests/google-pubsub/src/main/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubResource.java @@ -39,6 +39,8 @@ import org.apache.camel.ProducerTemplate; import org.apache.camel.component.google.pubsub.GooglePubsubConstants; import org.apache.camel.component.mock.MockEndpoint; +import static org.apache.camel.quarkus.component.google.pubsub.it.GooglePubSubRoutes.ORDERING_MOCK_RESULT; + @Path("/google-pubsub") public class GooglePubsubResource { @@ -123,9 +125,12 @@ public class GooglePubsubResource { @GET @Produces(MediaType.TEXT_PLAIN) public String receiveFromSubscriptionOrdered(@PathParam("subscriptionName") String subscriptionName) throws Exception { - - return consumeEndpoint(subscriptionName, - "&messageOrderingEnabled=true&pubsubEndpoint=pubsub.googleapis.com:443"); + MockEndpoint endpoint = context.getEndpoint(ORDERING_MOCK_RESULT, MockEndpoint.class); + return endpoint.getExchanges() + .stream() + .map(Exchange::getMessage) + .map(message -> message.getBody(String.class)) + .collect(Collectors.joining(",")); } private String consumeEndpoint(String subscriptionName, String parameters) { diff --git a/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTest.java b/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTest.java index 10df7cce8f..3ad2948224 100644 --- a/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTest.java +++ b/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTest.java @@ -113,92 +113,29 @@ class GooglePubsubTest { //Disabled on real account because of https://issues.apache.org/jira/browse/CAMEL-18277 @DisabledIfEnvironmentVariable(named = "GOOGLE_APPLICATION_CREDENTIALS", matches = ".+") - // https://github.com/apache/camel-quarkus/issues/3944 - @DisabledIfEnvironmentVariable(named = "CI", matches = "true") @Test public void testOrdering() throws Exception { LOG.info("Start of the ordering test"); - RestAssured.given() - .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) - .body("1") - .post("/google-pubsub/sendToEndpoint") - .then() - .statusCode(201); - RestAssured.given() - .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) - .body("2") - .post("/google-pubsub/sendToEndpoint") - .then() - .statusCode(201); - RestAssured.given() - .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) - .body("3") - .post("/google-pubsub/sendToEndpoint") - .then() - .statusCode(201); - RestAssured.given() - .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) - .body("4") - .post("/google-pubsub/sendToEndpoint") - .then() - .statusCode(201); - RestAssured.given() - .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) - .body("5") - .post("/google-pubsub/sendToEndpoint") - .then() - .statusCode(201); - RestAssured.given() - .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) - .body("6") - .post("/google-pubsub/sendToEndpoint") - .then() - .statusCode(201); + + String messages = "1,2,3,4,5,6"; + + for (String message : messages.split(",")) { + RestAssured.given() + .queryParam("toEndpoint", GooglePubSubRoutes.ORDERING_DIRECT_IN) + .body(message) + .post("/google-pubsub/sendToEndpoint") + .then() + .statusCode(201); + } + LOG.info("All messages were sent"); - await().atMost(5, TimeUnit.SECONDS).until(() -> RestAssured.given() + await().atMost(10, TimeUnit.SECONDS).until(() -> RestAssured.given() .get("/google-pubsub/receive/subscriptionOrdering/google-pubsub.ordering-subscription-name") .then() .statusCode(200) .extract().asString(), - Matchers.is("1")); - LOG.info("Message \"1\" received."); - await().atMost(5, TimeUnit.SECONDS).until(() -> RestAssured.given() - .get("/google-pubsub/receive/subscriptionOrdering/google-pubsub.ordering-subscription-name") - .then() - .statusCode(200) - .extract().asString(), - Matchers.is("2")); - LOG.info("Message \"2\" received."); - await().atMost(5, TimeUnit.SECONDS).until(() -> RestAssured.given() - .get("/google-pubsub/receive/subscriptionOrdering/google-pubsub.ordering-subscription-name") - .then() - .statusCode(200) - .extract().asString(), - Matchers.is("3")); - LOG.info("Message \"3\" received."); - await().atMost(5, TimeUnit.SECONDS).until(() -> RestAssured.given() - .get("/google-pubsub/receive/subscriptionOrdering/google-pubsub.ordering-subscription-name") - .then() - .statusCode(200) - .extract().asString(), - Matchers.is("4")); - LOG.info("Message \"4\" received."); - await().atMost(5, TimeUnit.SECONDS).until(() -> RestAssured.given() - .get("/google-pubsub/receive/subscriptionOrdering/google-pubsub.ordering-subscription-name") - .then() - .statusCode(200) - .extract().asString(), - Matchers.is("5")); - LOG.info("Message \"5\" received."); - await().atMost(5, TimeUnit.SECONDS).until(() -> RestAssured.given() - .get("/google-pubsub/receive/subscriptionOrdering/google-pubsub.ordering-subscription-name") - .then() - .statusCode(200) - .extract().asString(), - Matchers.is("6")); - LOG.info("Message \"6\" received."); - + Matchers.is(messages)); } @Test