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 2024/03/06 18:16:09 UTC
(camel) 06/08: CAMEL-20479: fix broken JMS tests
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 <an...@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")