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

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

commit 0064ea9ce273104fcffa748566c9c99d4b2a410c
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Tue Jun 9 11:34:39 2020 +0200

    Improve stability of AggregateLostGroupIssueTest for rerun
---
 .../aggregator/AggregateLostGroupIssueTest.java    | 33 +++++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateLostGroupIssueTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateLostGroupIssueTest.java
index 3960df1..17a3cf6 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateLostGroupIssueTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateLostGroupIssueTest.java
@@ -22,6 +22,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.processor.aggregate.MemoryAggregationRepository;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -30,11 +33,25 @@ import org.junit.jupiter.api.Test;
 public class AggregateLostGroupIssueTest extends ContextTestSupport {
 
     private int messageIndex;
+    private MemoryAggregationRepository aggregationRepository;
 
-    @Test
-    public void testAggregateLostGroupIssue() throws Exception {
+    @BeforeEach
+    public void setUp() throws Exception {
         messageIndex = 0;
+        super.setUp();
+        getAggregationRepository().start();
+        context.getRouteController().startRoute("foo");
+    }
+
+    @AfterEach
+    public void tearDown() throws Exception {
+        context.getRouteController().stopRoute("foo");
+        getAggregationRepository().stop();
+        super.tearDown();
+    }
 
+    @Test
+    public void testAggregateLostGroupIssue() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(2);
         mock.message(0).body().isEqualTo("0,1,2,3,4,5,6,7,8,9");
@@ -43,12 +60,19 @@ public class AggregateLostGroupIssueTest extends 
ContextTestSupport {
         assertMockEndpointsSatisfied();
     }
 
+    protected synchronized MemoryAggregationRepository 
getAggregationRepository() {
+        if (aggregationRepository == null) {
+            aggregationRepository = new MemoryAggregationRepository();
+        }
+        return aggregationRepository;
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                
from("timer://foo?period=10&delay=0").startupOrder(2).process(new Processor() {
+                
from("timer://foo?period=10&delay=0").id("foo").startupOrder(2).process(new 
Processor() {
                     public void process(Exchange exchange) throws Exception {
                         exchange.getMessage().setBody(messageIndex++);
                         exchange.getMessage().setHeader("aggregateGroup", 
"group1");
@@ -67,7 +91,8 @@ public class AggregateLostGroupIssueTest extends 
ContextTestSupport {
                         oldExchange.getIn().setBody(oldBody + "," + newBody);
                         return oldExchange;
                     }
-                
}).completionSize(10).completionTimeout(200).completionTimeoutCheckerInterval(10).to("log:aggregated").to("mock:result");
+                
}).aggregationRepository(AggregateLostGroupIssueTest.this::getAggregationRepository)
+                        
.completionSize(10).completionTimeout(200).completionTimeoutCheckerInterval(10).to("log:aggregated").to("mock:result");
             }
         };
     }

Reply via email to