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 b6363f78eb20bc9a3fcf6957c8a522265128dda7 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Wed Mar 6 12:01:00 2024 +0100 CAMEL-20479: fix broken JMS tests - isolate unsafe tests - fixed tests --- .../jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java | 8 ++++++-- .../jms/integration/JmsAddAndRemoveRouteManagementIT.java | 2 +- .../jms/integration/JmsDestinationProducedHeaderIT.java | 7 +++++++ ...tFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java | 3 +++ .../jms/integration/JmsToDSendDynamicTwoDisabledIT.java | 7 +++++++ .../jms/integration/spring/JmsConsumerShutdownIT.java | 6 ++++++ .../component/jms/issues/JmsInOutPersistentReplyQueueTest.java | 10 +++++++++- 7 files changed, 39 insertions(+), 4 deletions(-) diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java index 62b2705935d..061e640b748 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java @@ -31,9 +31,10 @@ import org.apache.camel.util.StopWatch; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Tags; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -import org.junit.jupiter.api.parallel.Isolated; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,7 +42,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; -@Isolated("Creates multiple threads") +/** + * Creates multiple threads + */ +@Tags({ @Tag("not-parallel"), @Tag("spring") }) public class JmsRequestReplyExclusiveReplyToConcurrentTest extends AbstractJMSTest { @Order(2) diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsAddAndRemoveRouteManagementIT.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsAddAndRemoveRouteManagementIT.java index c377131cc53..59c57374e83 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsAddAndRemoveRouteManagementIT.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsAddAndRemoveRouteManagementIT.java @@ -42,7 +42,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; import static org.junit.jupiter.api.Assertions.assertEquals; /** - * Test that all thread pools is removed when adding and removing a route dynamically. This test manipulates the thread + * Test that all thread pools are removed when adding and removing a route dynamically. This test manipulates the thread * pools, so it's not a good candidate for running in parallel. */ @Tags({ @Tag("not-parallel") }) diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsDestinationProducedHeaderIT.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsDestinationProducedHeaderIT.java index cafa3c18611..a304b4d9863 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsDestinationProducedHeaderIT.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsDestinationProducedHeaderIT.java @@ -20,10 +20,17 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jms.AbstractPersistentJMSTest; import org.apache.camel.component.jms.JmsConstants; import org.apache.camel.component.mock.MockEndpoint; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Tags; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +/** + * This test computes the number of components, so it could be affected by other tests. Therefore, it's run in + * isolation. + */ +@Tags({ @Tag("not-parallel"), @Tag("spring") }) public class JmsDestinationProducedHeaderIT extends AbstractPersistentJMSTest { @Test diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java index bf08487d3d6..e5920485efa 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java @@ -21,7 +21,10 @@ import java.time.Duration; import org.apache.camel.ExchangePattern; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jms.JmsInOutFixedReplyQueueTimeoutTest; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Tags; +@Tags({ @Tag("not-parallel"), @Tag("spring") }) public class JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest extends JmsInOutFixedReplyQueueTimeoutTest { @Override diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsToDSendDynamicTwoDisabledIT.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsToDSendDynamicTwoDisabledIT.java index 7c283688d26..119e52c14af 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsToDSendDynamicTwoDisabledIT.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/JmsToDSendDynamicTwoDisabledIT.java @@ -18,10 +18,17 @@ package org.apache.camel.component.jms.integration; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jms.AbstractPersistentJMSTest; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Tags; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +/** + * This test computes the number of components, so it could be affected by other tests. Therefore, it's run in + * isolation. + */ +@Tags({ @Tag("not-parallel"), @Tag("spring") }) public class JmsToDSendDynamicTwoDisabledIT extends AbstractPersistentJMSTest { @Test diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/spring/JmsConsumerShutdownIT.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/spring/JmsConsumerShutdownIT.java index 22cafe28d99..026810164ee 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/spring/JmsConsumerShutdownIT.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/spring/JmsConsumerShutdownIT.java @@ -26,11 +26,17 @@ import org.apache.camel.test.infra.artemis.services.ArtemisEmbeddedServiceBuilde import org.apache.camel.test.infra.artemis.services.ArtemisService; import org.apache.camel.test.spring.junit5.CamelSpringTestSupport; import org.apache.xbean.spring.context.ClassPathXmlApplicationContext; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Tags; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.test.annotation.DirtiesContext; +/** + * This test configures the context shutdown strategy, so we run it in isolation to avoid messing up with others + */ +@Tags({ @Tag("not-parallel"), @Tag("spring") }) public final class JmsConsumerShutdownIT extends CamelSpringTestSupport { @RegisterExtension public static ArtemisService service = new ArtemisEmbeddedServiceBuilder() diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java index a93141b7132..488f011c12a 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java @@ -16,6 +16,9 @@ */ package org.apache.camel.component.jms.issues; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + import org.apache.camel.CamelContext; import org.apache.camel.ConsumerTemplate; import org.apache.camel.ExchangePattern; @@ -25,6 +28,7 @@ import org.apache.camel.component.jms.AbstractJMSTest; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.infra.core.CamelContextExtension; import org.apache.camel.test.infra.core.DefaultCamelContextExtension; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Tag; @@ -32,7 +36,7 @@ import org.junit.jupiter.api.Tags; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -// Not parallel due to processing some part of the route concurrently (may be delayed when running on the test threads) +// Due to processing some part of the route concurrently (may be delayed when running on the test threads) @Tags({ @Tag("not-parallel") }) public class JmsInOutPersistentReplyQueueTest extends AbstractJMSTest { @@ -42,6 +46,7 @@ public class JmsInOutPersistentReplyQueueTest extends AbstractJMSTest { protected CamelContext context; protected ProducerTemplate template; protected ConsumerTemplate consumer; + private final CountDownLatch latch = new CountDownLatch(4); @Test public void testInOutPersistentReplyQueue() throws Exception { @@ -52,6 +57,8 @@ public class JmsInOutPersistentReplyQueueTest extends AbstractJMSTest { template.sendBody("seda:start", "C"); template.sendBody("seda:start", "D"); + Assertions.assertTrue(latch.await(5, TimeUnit.SECONDS)); + MockEndpoint.assertIsSatisfied(context); } @@ -72,6 +79,7 @@ public class JmsInOutPersistentReplyQueueTest extends AbstractJMSTest { .threads(5) .log("Reply ${body}") .delay(2000) + .process(e -> latch.countDown()) .to("mock:result"); from("activemq:queue:JmsInOutPersistentReplyQueueTest")