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)