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

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


The following commit(s) were added to refs/heads/main by this push:
     new 127893e75e54 CAMEL-24039: Fix flaky core tests - seda, scheduler, and 
redelivery tests (#24639)
127893e75e54 is described below

commit 127893e75e54de32cb4f58e99f5ba3e94d7b9211
Author: Guillaume Nodet <[email protected]>
AuthorDate: Mon Jul 13 09:49:36 2026 +0200

    CAMEL-24039: Fix flaky core tests - seda, scheduler, and redelivery tests 
(#24639)
    
    CAMEL-24039: Fix flaky core tests - seda, scheduler, and redelivery tests
    
    Replace assertMockEndpointsSatisfied() with 
MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS) to provide 
explicit, generous timeouts that prevent flaky failures on loaded CI systems.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../camel/component/scheduler/SchedulerRepeatCountTest.java   |  4 +++-
 .../apache/camel/component/scheduler/SchedulerRouteTest.java  |  3 ++-
 .../scheduler/TwoSchedulerConcurrentTasksOneRouteTest.java    |  4 +++-
 .../component/scheduler/TwoSchedulerConcurrentTasksTest.java  |  5 ++++-
 .../apache/camel/component/seda/SedaAsyncProducerTest.java    |  5 +++--
 .../camel/component/seda/SedaMultipleConsumersTest.java       | 11 +++++++----
 .../NotAllowRedeliveryWhileStoppingDeadLetterChannelTest.java |  2 +-
 .../camel/processor/NotAllowRedeliveryWhileStoppingTest.java  |  2 +-
 8 files changed, 24 insertions(+), 12 deletions(-)

diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRepeatCountTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRepeatCountTest.java
index 6c05a6ab505c..c834e5183352 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRepeatCountTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRepeatCountTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.scheduler;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
@@ -29,7 +31,7 @@ public class SchedulerRepeatCountTest extends 
ContextTestSupport {
         mock.expectedMessageCount(3);
         mock.setAssertPeriod(1000);
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
     }
 
     @Override
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
index c035bd4f2fd1..5ff59d95e6b8 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerRouteTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.scheduler;
 
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.ContextTestSupport;
@@ -37,7 +38,7 @@ public class SchedulerRouteTest extends ContextTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMinimumMessageCount(2);
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
 
         assertTrue(bean.counter.get() >= 2, "Should have fired 2 or more times 
was: " + bean.counter.get());
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksOneRouteTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksOneRouteTest.java
index 5b7916e0feb8..30365f6d50f0 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksOneRouteTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksOneRouteTest.java
@@ -16,12 +16,14 @@
  */
 package org.apache.camel.component.scheduler;
 
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.camel.ContextTestSupport;
 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.junit.jupiter.api.Test;
 
 public class TwoSchedulerConcurrentTasksOneRouteTest extends 
ContextTestSupport {
@@ -32,7 +34,7 @@ public class TwoSchedulerConcurrentTasksOneRouteTest extends 
ContextTestSupport
     public void testTwoScheduler() throws Exception {
         getMockEndpoint("mock:done").expectedMinimumMessageCount(10);
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
     }
 
     @Override
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksTest.java
index 2eb2ef5b8a15..8d5c8a24689c 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/TwoSchedulerConcurrentTasksTest.java
@@ -16,8 +16,11 @@
  */
 package org.apache.camel.component.scheduler;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
 
 public class TwoSchedulerConcurrentTasksTest extends ContextTestSupport {
@@ -27,7 +30,7 @@ public class TwoSchedulerConcurrentTasksTest extends 
ContextTestSupport {
         getMockEndpoint("mock:a").expectedMinimumMessageCount(4);
         getMockEndpoint("mock:b").expectedMinimumMessageCount(2);
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
     }
 
     @Override
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaAsyncProducerTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaAsyncProducerTest.java
index 3534c40bf7fa..187f28ae9b5c 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaAsyncProducerTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaAsyncProducerTest.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.seda;
 
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
@@ -50,7 +51,7 @@ public class SedaAsyncProducerTest extends ContextTestSupport 
{
         // I should happen before mock
         route = route + "send";
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
 
         assertEquals("sendprocess", route, "Send should occur before 
processor");
 
@@ -74,7 +75,7 @@ public class SedaAsyncProducerTest extends ContextTestSupport 
{
         // I should not happen before mock
         route = route + "send";
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
 
         assertEquals("processsend", route, "Send should occur before 
processor");
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersTest.java
index dc4a11a445c6..815e7f2600f2 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersTest.java
@@ -16,8 +16,11 @@
  */
 package org.apache.camel.component.seda;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
 
 public class SedaMultipleConsumersTest extends ContextTestSupport {
@@ -30,7 +33,7 @@ public class SedaMultipleConsumersTest extends 
ContextTestSupport {
         template.sendBody("seda:foo", "Hello World");
         template.sendBody("seda:bar", "Bye World");
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
     }
 
     @Test
@@ -42,7 +45,7 @@ public class SedaMultipleConsumersTest extends 
ContextTestSupport {
         template.sendBody("seda:foo", "Hello World");
         template.sendBody("seda:bar", "Bye World");
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
 
         context.addRoutes(new RouteBuilder() {
             @Override
@@ -62,7 +65,7 @@ public class SedaMultipleConsumersTest extends 
ContextTestSupport {
             template.sendBody("seda:foo", "Hello World");
             template.sendBody("seda:bar", "Bye World");
         }
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
         resetMocks();
 
         context.getRouteController().suspendRoute("testRoute");
@@ -74,7 +77,7 @@ public class SedaMultipleConsumersTest extends 
ContextTestSupport {
             template.sendBody("seda:foo", "Hello World");
             template.sendBody("seda:bar", "Bye World");
         }
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
     }
 
     @Override
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingDeadLetterChannelTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingDeadLetterChannelTest.java
index f4b61710f74b..28ff1c357692 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingDeadLetterChannelTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingDeadLetterChannelTest.java
@@ -40,7 +40,7 @@ public class 
NotAllowRedeliveryWhileStoppingDeadLetterChannelTest extends Contex
 
         template.sendBody("seda:start", "Hello World");
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
 
         // wait for the error handler to start the redelivery cycle
         await().pollDelay(500, TimeUnit.MILLISECONDS)
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingTest.java
index 683a64e4378d..3706e1b52622 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/NotAllowRedeliveryWhileStoppingTest.java
@@ -38,7 +38,7 @@ public class NotAllowRedeliveryWhileStoppingTest extends 
ContextTestSupport {
 
         template.sendBody("seda:start", "Hello World");
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
 
         // wait for the error handler to start the redelivery cycle
         await().pollDelay(500, TimeUnit.MILLISECONDS)

Reply via email to