You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/10/12 08:15:14 UTC

[camel] branch main created (now 26ec7615ac6)

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

orpiske pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 26ec7615ac6 CAMEL-18608: Fix the test AggregateCompletionOnlyTwoTest.testOnlyTwo

This branch includes the following new commits:

     new 26ec7615ac6 CAMEL-18608: Fix the test AggregateCompletionOnlyTwoTest.testOnlyTwo

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel] 01/01: CAMEL-18608: Fix the test AggregateCompletionOnlyTwoTest.testOnlyTwo

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 26ec7615ac6dc995f55467663bc8b8ed663d2307
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Wed Oct 12 09:47:36 2022 +0200

    CAMEL-18608: Fix the test AggregateCompletionOnlyTwoTest.testOnlyTwo
---
 .../aggregator/AggregateCompletionOnlyTwoTest.java      | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateCompletionOnlyTwoTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateCompletionOnlyTwoTest.java
index 244c5d4d7f8..e6ee6f18762 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateCompletionOnlyTwoTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateCompletionOnlyTwoTest.java
@@ -17,6 +17,7 @@
 package org.apache.camel.processor.aggregator;
 
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.CamelContext;
@@ -28,14 +29,15 @@ import org.apache.camel.processor.BodyInAggregatingStrategy;
 import org.apache.camel.processor.aggregate.MemoryAggregationRepository;
 import org.junit.jupiter.api.Test;
 
+import static org.awaitility.Awaitility.await;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class AggregateCompletionOnlyTwoTest extends ContextTestSupport {
+class AggregateCompletionOnlyTwoTest extends ContextTestSupport {
 
-    private MyRepo repo = new MyRepo();
+    private final MyRepo repo = new MyRepo();
 
     @Test
-    public void testOnlyTwo() throws Exception {
+    void testOnlyTwo() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:aggregated");
         mock.expectedBodiesReceived("A+B", "C+END");
 
@@ -49,26 +51,27 @@ public class AggregateCompletionOnlyTwoTest extends ContextTestSupport {
         assertEquals(4, repo.getGet());
         assertEquals(2, repo.getAdd());
         assertEquals(2, repo.getRemove());
-        assertEquals(2, repo.getConfirm());
+        // A second thread is involved so let's use awaitility to add more flexibility to the test
+        await().atMost(10, TimeUnit.SECONDS).untilAsserted(() -> assertEquals(2, repo.getConfirm()));
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override
-            public void configure() throws Exception {
+            public void configure() {
                 from("direct:start").aggregate(header("id"), new BodyInAggregatingStrategy()).aggregationRepository(repo)
                         .completionSize(2).to("mock:aggregated");
             }
         };
     }
 
-    private class MyRepo extends MemoryAggregationRepository {
+    private static class MyRepo extends MemoryAggregationRepository {
 
         private int add;
         private int get;
         private int remove;
-        private AtomicInteger confirm = new AtomicInteger(0);
+        private final AtomicInteger confirm = new AtomicInteger();
 
         @Override
         public Exchange add(CamelContext camelContext, String key, Exchange exchange) {