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
The following commit(s) were added to refs/heads/main by this push: new 23edb9f61ef Convert persistent JMS tests to the test-infra 23edb9f61ef is described below commit 23edb9f61ef2c546e865e8bd599625543d6a2550 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Tue Aug 16 17:27:16 2022 +0200 Convert persistent JMS tests to the test-infra --- .../component/jms/AbstractPersistentJMSTest.java | 33 +++++++++++ .../jms/ConsumerTemplateJmsSelectorTest.java | 8 +-- .../component/jms/JmsAsyncStartListenerTest.java | 6 +- .../jms/JmsAsyncStartStopListenerTest.java | 5 +- .../camel/component/jms/JmsAutoStartupTest.java | 6 +- .../component/jms/JmsConsumeTemplateTest.java | 3 +- .../jms/JmsDeadLetterChannelInOutTest.java | 6 +- .../camel/component/jms/JmsDurableTopicTest.java | 9 ++- .../jms/JmsProducerDisableReplyToTest.java | 6 +- .../jms/JmsRouteDeliveryModePreserveQoSTest.java | 49 +++++++++------- ...BodyNullErrorHandlerUseOriginalMessageTest.java | 10 ++-- .../camel/component/jms/JmsSuspendResumeTest.java | 15 +++-- .../jms/JmsThrottlingInflightRoutePolicyTest.java | 6 +- .../camel/component/jms/JmsToDSendDynamicTest.java | 15 +++-- .../jms/JmsToDSendDynamicTwoDisabledTest.java | 6 +- .../component/jms/JmsToDSendDynamicTwoTest.java | 11 ++-- .../component/jms/ManagedJmsEndpointTest.java | 6 +- .../component/jms/TwoConsumerOnSameQueueTest.java | 21 +++---- .../component/jms/TwoConsumerOnSameTopicTest.java | 26 +++++---- .../jms/async/AsyncConsumerInOutTest.java | 13 ++--- .../jms/issues/JmsDirectStartupOrderIssueTest.java | 8 +-- .../services/ActiveMQEmbeddedServiceBuilder.java | 18 ++++++ .../services/ActiveMQPersistentVMService.java | 68 ++++++++++++++++++++++ .../activemq/services/ActiveMQServiceFactory.java | 24 ++++++++ 24 files changed, 262 insertions(+), 116 deletions(-) diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/AbstractPersistentJMSTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/AbstractPersistentJMSTest.java new file mode 100644 index 00000000000..36b8b9af3bf --- /dev/null +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/AbstractPersistentJMSTest.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.camel.component.jms; + +import org.apache.camel.test.infra.activemq.services.ActiveMQService; +import org.apache.camel.test.infra.activemq.services.ActiveMQServiceFactory; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Tags; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.extension.RegisterExtension; + +@Tags({ @Tag("jms") }) +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +public abstract class AbstractPersistentJMSTest extends CamelTestSupport { + @RegisterExtension + public static ActiveMQService service = ActiveMQServiceFactory.createPersistentVMService(); +} diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumerTemplateJmsSelectorTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumerTemplateJmsSelectorTest.java index 78584b1737b..822c2ab16dd 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumerTemplateJmsSelectorTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumerTemplateJmsSelectorTest.java @@ -19,13 +19,13 @@ package org.apache.camel.component.jms; import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted; import static org.junit.jupiter.api.Assertions.assertEquals; -public class ConsumerTemplateJmsSelectorTest extends CamelTestSupport { +public class ConsumerTemplateJmsSelectorTest extends AbstractPersistentJMSTest { @Test public void testJmsSelector() { @@ -46,8 +46,8 @@ public class ConsumerTemplateJmsSelectorTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - // must be persistent to rember the messages - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + // must be persistent to remember the messages + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); JmsComponent component = jmsComponentTransacted(connectionFactory); camelContext.addComponent("activemq", component); return camelContext; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartListenerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartListenerTest.java index 476c654c3bf..7a698a802f0 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartListenerTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartListenerTest.java @@ -21,7 +21,7 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; @@ -29,7 +29,7 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow /** * Testing with async start listener */ -public class JmsAsyncStartListenerTest extends CamelTestSupport { +public class JmsAsyncStartListenerTest extends AbstractPersistentJMSTest { protected String componentName = "activemq"; @@ -50,7 +50,7 @@ public class JmsAsyncStartListenerTest extends CamelTestSupport { // use a persistent queue as the consumer is started asynchronously // so we need a persistent store in case no active consumers when we send the messages - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory); jms.getConfiguration().setAsyncStartListener(true); camelContext.addComponent(componentName, jms); diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java index 71e4d0161d0..c6123bb15b4 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java @@ -21,6 +21,7 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; @@ -28,7 +29,7 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow /** * Testing with async start listener */ -public class JmsAsyncStartStopListenerTest extends AbstractJMSTest { +public class JmsAsyncStartStopListenerTest extends AbstractPersistentJMSTest { protected String componentName = "activemq"; @@ -49,7 +50,7 @@ public class JmsAsyncStartStopListenerTest extends AbstractJMSTest { // use a persistent queue as the consumer is started asynchronously // so we need a persistent store in case no active consumers when we send the messages - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory); jms.getConfiguration().setAsyncStartListener(true); jms.getConfiguration().setAsyncStopListener(true); diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAutoStartupTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAutoStartupTest.java index f621689ee06..df70283e5ea 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAutoStartupTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAutoStartupTest.java @@ -24,14 +24,14 @@ import org.apache.camel.CamelContext; import org.apache.camel.Service; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit5.CamelTestSupport; import org.awaitility.Awaitility; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; +import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory; import static org.junit.jupiter.api.Assertions.assertFalse; -public class JmsAutoStartupTest extends CamelTestSupport { +public class JmsAutoStartupTest extends AbstractPersistentJMSTest { private JmsEndpoint endpoint; @@ -77,7 +77,7 @@ public class JmsAutoStartupTest extends CamelTestSupport { CamelContext camelContext = super.createCamelContext(); // must use persistent so the message is not lost - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumeTemplateTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumeTemplateTest.java index d9f438d0b97..f85f114ea0d 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumeTemplateTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumeTemplateTest.java @@ -19,13 +19,12 @@ package org.apache.camel.component.jms; import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; -import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; -public class JmsConsumeTemplateTest extends CamelTestSupport { +public class JmsConsumeTemplateTest extends AbstractPersistentJMSTest { @Test public void testConsumeTemplate() { diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterChannelInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterChannelInOutTest.java index d11bf1013b4..c7cb6200632 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterChannelInOutTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterChannelInOutTest.java @@ -22,14 +22,14 @@ import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -public class JmsDeadLetterChannelInOutTest extends CamelTestSupport { +public class JmsDeadLetterChannelInOutTest extends AbstractPersistentJMSTest { @Test public void testJmsDLCInOut() { @@ -51,7 +51,7 @@ public class JmsDeadLetterChannelInOutTest extends CamelTestSupport { // must be persistent so the consumer can receive the message as we receive AFTER the message // has been published - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDurableTopicTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDurableTopicTest.java index bae10dcf7b4..7d3fa50fbc4 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDurableTopicTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDurableTopicTest.java @@ -23,13 +23,12 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit5.CamelTestSupport; import org.awaitility.Awaitility; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; -public class JmsDurableTopicTest extends CamelTestSupport { +public class JmsDurableTopicTest extends AbstractPersistentJMSTest { @Test public void testDurableTopic() { @@ -41,7 +40,7 @@ public class JmsDurableTopicTest extends CamelTestSupport { Awaitility.await().atMost(2, TimeUnit.SECONDS) .untilAsserted(() -> { - template.sendBody("activemq:topic:foo", "Hello World"); + template.sendBody("activemq:topic:JmsDurableTopicTest", "Hello World"); assertMockEndpointsSatisfied(); }); } @@ -59,10 +58,10 @@ public class JmsDurableTopicTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("activemq:topic:foo?clientId=123&durableSubscriptionName=bar") + from("activemq:topic:JmsDurableTopicTest?clientId=123&durableSubscriptionName=bar") .to("mock:result"); - from("activemq:topic:foo?clientId=456&durableSubscriptionName=bar") + from("activemq:topic:JmsDurableTopicTest?clientId=456&durableSubscriptionName=bar") .to("mock:result2"); } }; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerDisableReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerDisableReplyToTest.java index b383e3c9a62..6d62da6e0a6 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerDisableReplyToTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerDisableReplyToTest.java @@ -19,13 +19,13 @@ package org.apache.camel.component.jms; import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; -public class JmsProducerDisableReplyToTest extends CamelTestSupport { +public class JmsProducerDisableReplyToTest extends AbstractPersistentJMSTest { @Test public void testProducerDisableReplyTo() { @@ -45,7 +45,7 @@ public class JmsProducerDisableReplyToTest extends CamelTestSupport { // must be persistent so the consumer can receive the message as we receive AFTER the message // has been published - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java index 9134c1572f2..d5500fa3348 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java @@ -24,7 +24,6 @@ import javax.jms.DeliveryMode; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; @@ -34,14 +33,14 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Unit test for preserveMessageQos with delivery mode */ -public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { +public class JmsRouteDeliveryModePreserveQoSTest extends AbstractPersistentJMSTest { @Test public void testSendDefault() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Hello World"); - template.sendBody("activemq:queue:foo?preserveMessageQos=true", "Hello World"); + template.sendBody("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.foo?preserveMessageQos=true", "Hello World"); assertMockEndpointsSatisfied(); @@ -53,10 +52,11 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testSendNonPersistent() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Hello World"); - template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSDeliveryMode", + template.sendBodyAndHeader("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.foo?preserveMessageQos=true", + "Hello World", "JMSDeliveryMode", DeliveryMode.NON_PERSISTENT); assertMockEndpointsSatisfied(); @@ -69,10 +69,11 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testSendNonPersistentAsString() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Hello World"); - template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSDeliveryMode", + template.sendBodyAndHeader("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.foo?preserveMessageQos=true", + "Hello World", "JMSDeliveryMode", "NON_PERSISTENT"); assertMockEndpointsSatisfied(); @@ -85,10 +86,11 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testSendPersistent() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Hello World"); - template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSDeliveryMode", + template.sendBodyAndHeader("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.foo?preserveMessageQos=true", + "Hello World", "JMSDeliveryMode", DeliveryMode.PERSISTENT); assertMockEndpointsSatisfied(); @@ -101,10 +103,11 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testSendPersistentAsString() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Hello World"); - template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSDeliveryMode", + template.sendBodyAndHeader("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.foo?preserveMessageQos=true", + "Hello World", "JMSDeliveryMode", "PERSISTENT"); assertMockEndpointsSatisfied(); @@ -117,7 +120,7 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testNonJmsDeliveryMode() throws InterruptedException { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Beer is good..."); // since we're using activemq, we really cannot set a delivery mode to something other @@ -136,7 +139,7 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testNonJmsDeliveryModeDisableExplicityQos() throws InterruptedException { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Beer is good..."); // in this test, we're using explicitQosEnabled=false so we will not rely on our @@ -151,7 +154,7 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { @Test public void testNonJmsDeliveryModePreserveQos() throws InterruptedException { - MockEndpoint mock = getMockEndpoint("mock:bar"); + MockEndpoint mock = getMockEndpoint("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); mock.expectedBodiesReceived("Beer is good..."); // in this test, we can only pass if we are "preserving" existing deliveryMode. @@ -183,15 +186,17 @@ public class JmsRouteDeliveryModePreserveQoSTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("activemq:queue:foo") - .to("activemq:queue:bar?preserveMessageQos=true"); + from("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.foo") + .to("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.bar?preserveMessageQos=true"); - from("activemq:queue:bar") - .to("mock:bar"); + from("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.bar") + .to("mock:JmsRouteDeliveryModePreserveQoSTest.bar"); - from("direct:nonJmsDeliveryMode").to("activemq:queue:bar?deliveryMode=3"); - from("direct:noExplicitNonJmsDeliveryMode").to("activemq:queue:bar?deliveryMode=3&explicitQosEnabled=false"); - from("direct:preserveQosNonJmsDeliveryMode").to("activemq:queue:bar?preserveMessageQos=true"); + from("direct:nonJmsDeliveryMode").to("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.bar?deliveryMode=3"); + from("direct:noExplicitNonJmsDeliveryMode") + .to("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.bar?deliveryMode=3&explicitQosEnabled=false"); + from("direct:preserveQosNonJmsDeliveryMode") + .to("activemq:queue:JmsRouteDeliveryModePreserveQoSTest.bar?preserveMessageQos=true"); } }; } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSetBodyNullErrorHandlerUseOriginalMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSetBodyNullErrorHandlerUseOriginalMessageTest.java index 29693105455..c3dc6ca1d74 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSetBodyNullErrorHandlerUseOriginalMessageTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSetBodyNullErrorHandlerUseOriginalMessageTest.java @@ -20,18 +20,18 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; -public class JmsSetBodyNullErrorHandlerUseOriginalMessageTest extends CamelTestSupport { +public class JmsSetBodyNullErrorHandlerUseOriginalMessageTest extends AbstractPersistentJMSTest { @Override protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; } @@ -42,7 +42,7 @@ public class JmsSetBodyNullErrorHandlerUseOriginalMessageTest extends CamelTestS getMockEndpoint("mock:bar").expectedMessageCount(1); getMockEndpoint("mock:bar").message(0).body().isNull(); - template.sendBody("activemq:queue:foo", "Hello World"); + template.sendBody("activemq:queue:JmsSetBodyNullErrorHandlerUseOriginalMessageTest", "Hello World"); assertMockEndpointsSatisfied(); @@ -57,7 +57,7 @@ public class JmsSetBodyNullErrorHandlerUseOriginalMessageTest extends CamelTestS public void configure() { errorHandler(deadLetterChannel("activemq:queue:dead").useOriginalMessage()); - from("activemq:queue:foo") + from("activemq:queue:JmsSetBodyNullErrorHandlerUseOriginalMessageTest") .to("mock:foo") .process(exchange -> { // an end user may set the message body explicit to null diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSuspendResumeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSuspendResumeTest.java index 3a27af01e1f..7f1ab98d2d8 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSuspendResumeTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSuspendResumeTest.java @@ -23,23 +23,22 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; -public class JmsSuspendResumeTest extends CamelTestSupport { +public class JmsSuspendResumeTest extends AbstractPersistentJMSTest { @Test public void testSuspendResume() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:foo"); + MockEndpoint mock = getMockEndpoint("mock:JmsSuspendResumeTest"); mock.expectedBodiesReceived("Hello World"); - template.sendBody("activemq:queue:foo", "Hello World"); + template.sendBody("activemq:queue:JmsSuspendResumeTest", "Hello World"); assertMockEndpointsSatisfied(); - context.getRouteController().suspendRoute("foo"); + context.getRouteController().suspendRoute("JmsSuspendResumeTest"); resetMocks(); mock.expectedMessageCount(0); @@ -47,14 +46,14 @@ public class JmsSuspendResumeTest extends CamelTestSupport { // sleep a bit to ensure its properly suspended Thread.sleep(2000); - template.sendBody("activemq:queue:foo", "Bye World"); + template.sendBody("activemq:queue:JmsSuspendResumeTest", "Bye World"); assertMockEndpointsSatisfied(1, TimeUnit.SECONDS); resetMocks(); mock.expectedBodiesReceived("Bye World"); - context.getRouteController().resumeRoute("foo"); + context.getRouteController().resumeRoute("JmsSuspendResumeTest"); assertMockEndpointsSatisfied(); } @@ -74,7 +73,7 @@ public class JmsSuspendResumeTest extends CamelTestSupport { protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { public void configure() { - from("activemq:queue:foo").routeId("foo").to("mock:foo"); + from("activemq:queue:JmsSuspendResumeTest").routeId("JmsSuspendResumeTest").to("mock:JmsSuspendResumeTest"); } }; } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsThrottlingInflightRoutePolicyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsThrottlingInflightRoutePolicyTest.java index 8c57cecdb49..c72c32be904 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsThrottlingInflightRoutePolicyTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsThrottlingInflightRoutePolicyTest.java @@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.apache.camel.throttling.ThrottlingInflightRoutePolicy; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted; -public class JmsThrottlingInflightRoutePolicyTest extends CamelTestSupport { +public class JmsThrottlingInflightRoutePolicyTest extends AbstractPersistentJMSTest { @Test public void testJmsThrottlingInflightRoutePolicy() throws Exception { @@ -63,7 +63,7 @@ public class JmsThrottlingInflightRoutePolicyTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentTransacted(connectionFactory)); // and use another component for sender diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTest.java index 9255f095d25..55b88898a15 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTest.java @@ -20,34 +20,33 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; -public class JmsToDSendDynamicTest extends CamelTestSupport { +public class JmsToDSendDynamicTest extends AbstractPersistentJMSTest { @Test public void testToD() { - template.sendBodyAndHeader("direct:start", "Hello bar", "where", "bar"); - template.sendBodyAndHeader("direct:start", "Hello beer", "where", "beer"); + template.sendBodyAndHeader("direct:start", "Hello bar", "where", "JmsToDSendDynamicTest.bar"); + template.sendBodyAndHeader("direct:start", "Hello beer", "where", "JmsToDSendDynamicTest.beer"); // there should only be one activemq endpoint long count = context.getEndpoints().stream().filter(e -> e.getEndpointUri().startsWith("activemq:")).count(); assertEquals(1, count, "There should only be 1 activemq endpoint"); // and the messages should be in the queues - String out = consumer.receiveBody("activemq:queue:bar", 2000, String.class); + String out = consumer.receiveBody("activemq:queue:JmsToDSendDynamicTest.bar", 2000, String.class); assertEquals("Hello bar", out); - out = consumer.receiveBody("activemq:queue:beer", 2000, String.class); + out = consumer.receiveBody("activemq:queue:JmsToDSendDynamicTest.beer", 2000, String.class); assertEquals("Hello beer", out); } @Test public void testToDSlashed() { - template.sendBodyAndHeader("direct:startSlashed", "Hello bar", "where", "bar"); - String out = consumer.receiveBody("activemq://bar", 2000, String.class); + template.sendBodyAndHeader("direct:startSlashed", "Hello bar", "where", "JmsToDSendDynamicTest.bar"); + String out = consumer.receiveBody("activemq://JmsToDSendDynamicTest.bar", 2000, String.class); assertEquals("Hello bar", out); } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoDisabledTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoDisabledTest.java index 3081d5d4e61..97dddad6ddb 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoDisabledTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoDisabledTest.java @@ -20,13 +20,13 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; -public class JmsToDSendDynamicTwoDisabledTest extends CamelTestSupport { +public class JmsToDSendDynamicTwoDisabledTest extends AbstractPersistentJMSTest { @Test public void testToD() { @@ -46,7 +46,7 @@ public class JmsToDSendDynamicTwoDisabledTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoTest.java index bc0bf0cf234..409cb9f9d82 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDSendDynamicTwoTest.java @@ -20,21 +20,20 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertEquals; -public class JmsToDSendDynamicTwoTest extends CamelTestSupport { +public class JmsToDSendDynamicTwoTest extends AbstractPersistentJMSTest { @Test public void testToD() { - template.sendBodyAndHeader("direct:start", "Hello bar", "where", "bar"); - template.sendBodyAndHeader("direct:start", "Hello beer", "where", "beer"); - template.sendBodyAndHeader("direct:start", "Hello gin", "where", "gin"); + template.sendBodyAndHeader("direct:start", "Hello bar", "where", "JmsToDSendDynamicTwoTest.bar"); + template.sendBodyAndHeader("direct:start", "Hello beer", "where", "JmsToDSendDynamicTwoTest.beer"); + template.sendBodyAndHeader("direct:start", "Hello gin", "where", "JmsToDSendDynamicTwoTest.gin"); - template.sendBodyAndHeader("direct:start2", "Hello beer", "where2", "beer"); + template.sendBodyAndHeader("direct:start2", "Hello beer", "where2", "JmsToDSendDynamicTwoTest.beer"); template.sendBodyAndHeader("direct:start2", "Hello whiskey", "where2", "whiskey"); // there should be 2 activemq endpoint diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTest.java index 45191878423..e4bd5aabc24 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTest.java @@ -25,7 +25,7 @@ import javax.management.ObjectName; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; @@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; /** * */ -public class ManagedJmsEndpointTest extends CamelTestSupport { +public class ManagedJmsEndpointTest extends AbstractPersistentJMSTest { @Override protected boolean useJmx() { @@ -46,7 +46,7 @@ public class ManagedJmsEndpointTest extends CamelTestSupport { protected CamelContext createCamelContext() { CamelContext context = new DefaultCamelContext(); - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); context.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return context; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameQueueTest.java index 6e627edf183..58e78d4019e 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameQueueTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameQueueTest.java @@ -20,13 +20,14 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertTrue; -public class TwoConsumerOnSameQueueTest extends CamelTestSupport { +@TestInstance(TestInstance.Lifecycle.PER_METHOD) +public class TwoConsumerOnSameQueueTest extends AbstractPersistentJMSTest { @Test public void testTwoConsumerOnSameQueue() throws Exception { @@ -46,8 +47,8 @@ public class TwoConsumerOnSameQueueTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedMessageCount(0); getMockEndpoint("mock:b").expectedBodiesReceived("Bye World", "Bye World"); - template.sendBody("activemq:queue:foo", "Bye World"); - template.sendBody("activemq:queue:foo", "Bye World"); + template.sendBody("activemq:queue:TwoConsumerOnSameQueueTest", "Bye World"); + template.sendBody("activemq:queue:TwoConsumerOnSameQueueTest", "Bye World"); assertMockEndpointsSatisfied(); @@ -74,8 +75,8 @@ public class TwoConsumerOnSameQueueTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedMessageCount(0); getMockEndpoint("mock:b").expectedBodiesReceived("Bye World", "Bye World"); - template.sendBody("activemq:queue:foo", "Bye World"); - template.sendBody("activemq:queue:foo", "Bye World"); + template.sendBody("activemq:queue:TwoConsumerOnSameQueueTest", "Bye World"); + template.sendBody("activemq:queue:TwoConsumerOnSameQueueTest", "Bye World"); assertMockEndpointsSatisfied(); } @@ -84,8 +85,8 @@ public class TwoConsumerOnSameQueueTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedBodiesReceived("Hello World"); getMockEndpoint("mock:b").expectedBodiesReceived("Hello World"); - template.sendBody("activemq:queue:foo", "Hello World"); - template.sendBody("activemq:queue:foo", "Hello World"); + template.sendBody("activemq:queue:TwoConsumerOnSameQueueTest", "Hello World"); + template.sendBody("activemq:queue:TwoConsumerOnSameQueueTest", "Hello World"); assertMockEndpointsSatisfied(); } @@ -105,10 +106,10 @@ public class TwoConsumerOnSameQueueTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("activemq:queue:foo").routeId("a") + from("activemq:queue:TwoConsumerOnSameQueueTest").routeId("a") .to("log:a", "mock:a"); - from("activemq:queue:foo").routeId("b") + from("activemq:queue:TwoConsumerOnSameQueueTest").routeId("b") .to("log:b", "mock:b"); } }; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameTopicTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameTopicTest.java index 387a07929b3..6aebeac21ff 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameTopicTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameTopicTest.java @@ -20,13 +20,15 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.junit.jupiter.api.Assertions.assertTrue; -public class TwoConsumerOnSameTopicTest extends CamelTestSupport { +@TestInstance(TestInstance.Lifecycle.PER_METHOD) +public class TwoConsumerOnSameTopicTest extends AbstractPersistentJMSTest { @Test public void testTwoConsumerOnSameTopic() throws Exception { @@ -41,10 +43,10 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedBodiesReceived("Hello Camel 1", "Hello Camel 2", "Hello Camel 3", "Hello Camel 4"); getMockEndpoint("mock:b").expectedBodiesReceived("Hello Camel 1", "Hello Camel 2", "Hello Camel 3", "Hello Camel 4"); - template.sendBody("activemq:topic:foo", "Hello Camel 1"); - template.sendBody("activemq:topic:foo", "Hello Camel 2"); - template.sendBody("activemq:topic:foo", "Hello Camel 3"); - template.sendBody("activemq:topic:foo", "Hello Camel 4"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Hello Camel 1"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Hello Camel 2"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Hello Camel 3"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Hello Camel 4"); assertMockEndpointsSatisfied(); } @@ -62,7 +64,7 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedMessageCount(0); getMockEndpoint("mock:b").expectedBodiesReceived("Bye World"); - template.sendBody("activemq:topic:foo", "Bye World"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Bye World"); assertMockEndpointsSatisfied(); @@ -89,7 +91,7 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedMessageCount(0); getMockEndpoint("mock:b").expectedBodiesReceived("Bye World"); - template.sendBody("activemq:topic:foo", "Bye World"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Bye World"); assertMockEndpointsSatisfied(); } @@ -101,7 +103,7 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport { getMockEndpoint("mock:a").expectedBodiesReceived("Hello World"); getMockEndpoint("mock:b").expectedBodiesReceived("Hello World"); - template.sendBody("activemq:topic:foo", "Hello World"); + template.sendBody("activemq:topic:TwoConsumerOnSameTopicTest", "Hello World"); assertMockEndpointsSatisfied(); } @@ -111,7 +113,7 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport { CamelContext camelContext = super.createCamelContext(); // must be persistent to remember the messages - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; @@ -122,10 +124,10 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("activemq:topic:foo").routeId("a") + from("activemq:topic:TwoConsumerOnSameTopicTest").routeId("a") .to("log:a", "mock:a"); - from("activemq:topic:foo").routeId("b") + from("activemq:topic:TwoConsumerOnSameTopicTest").routeId("b") .to("log:b", "mock:b"); } }; diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java index 5d2273f7da8..aa7fa24bf02 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java @@ -40,8 +40,8 @@ public class AsyncConsumerInOutTest extends AbstractJMSTest { // process the 2nd message on the queue getMockEndpoint("mock:result").expectedBodiesReceived("Hello World", "Bye Camel"); - template.sendBody("activemq:queue:start", "Hello Camel"); - template.sendBody("activemq:queue:start", "Hello World"); + template.sendBody("activemq:queue:AsyncConsumerInOutTest.start", "Hello Camel"); + template.sendBody("activemq:queue:AsyncConsumerInOutTest.start", "Hello World"); assertMockEndpointsSatisfied(); } @@ -52,8 +52,7 @@ public class AsyncConsumerInOutTest extends AbstractJMSTest { camelContext.addComponent("async", new MyAsyncComponent()); - ConnectionFactory connectionFactory - = createConnectionFactory(service); + ConnectionFactory connectionFactory = createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; @@ -65,17 +64,17 @@ public class AsyncConsumerInOutTest extends AbstractJMSTest { @Override public void configure() { // enable async in only mode on the consumer - from("activemq:queue:start?asyncConsumer=true") + from("activemq:queue:AsyncConsumerInOutTest.start?asyncConsumer=true") .choice() .when(body().contains("Camel")) .to("async:camel?delay=2000") - .to(ExchangePattern.InOut, "activemq:queue:camel") + .to(ExchangePattern.InOut, "activemq:queue:AsyncConsumerInOutTest.camel") .to("mock:result") .otherwise() .to("log:other") .to("mock:result"); - from("activemq:queue:camel") + from("activemq:queue:AsyncConsumerInOutTest.camel") .to("log:camel") .transform(constant("Bye Camel")); } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsDirectStartupOrderIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsDirectStartupOrderIssueTest.java index 0ed3dacf554..f64e2c16829 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsDirectStartupOrderIssueTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsDirectStartupOrderIssueTest.java @@ -22,10 +22,10 @@ import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.jms.CamelJmsTestHelper; +import org.apache.camel.component.jms.AbstractPersistentJMSTest; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.RouteStartupOrder; -import org.apache.camel.test.junit5.CamelTestSupport; +import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; @@ -34,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; /** * */ -public class JmsDirectStartupOrderIssueTest extends CamelTestSupport { +public class JmsDirectStartupOrderIssueTest extends AbstractPersistentJMSTest { @Test public void testJmsDirectStartupOrderIssue() throws Exception { @@ -63,7 +63,7 @@ public class JmsDirectStartupOrderIssueTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - ConnectionFactory connectionFactory = CamelJmsTestHelper.createPersistentConnectionFactory(); + ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service); camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory)); return camelContext; diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java index 25aa2af28e0..27b6eac6e85 100644 --- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java +++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.net.URI; import java.util.List; +import java.util.concurrent.ThreadLocalRandom; import java.util.function.Consumer; import javax.management.ObjectName; @@ -612,4 +613,21 @@ public class ActiveMQEmbeddedServiceBuilder { .withDataDirectory(ActiveMQEmbeddedServiceBuilder.class.getResource("/").getFile()); } + public static ActiveMQEmbeddedServiceBuilder persistentBroker() { + final String name = ActiveMQEmbeddedServiceBuilder.class.getSimpleName() + ThreadLocalRandom.current().nextInt(1000); + return persistentBroker(name); + } + + public static ActiveMQEmbeddedServiceBuilder persistentBroker(String name) { + final String dataDirectory = ActiveMQEmbeddedServiceBuilder.class.getResource("/").getFile() + File.separator + name; + + return new ActiveMQEmbeddedServiceBuilder() + .withDeleteAllMessagesOnStartup(true) + .withBrokerName(name) + .withAdvisorySupport(false) + .withUseJmx(false) + .withPersistent(true) + .withDataDirectory(dataDirectory); + } + } diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQPersistentVMService.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQPersistentVMService.java new file mode 100644 index 00000000000..a99e5f98036 --- /dev/null +++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQPersistentVMService.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.camel.test.infra.activemq.services; + +import org.apache.activemq.broker.BrokerService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * An embedded broker that relies on the VM transport for communication. + * + * @see <a href="https://activemq.apache.org/vm-transport-reference">VM Transport Reference</a> + */ +public class ActiveMQPersistentVMService extends AbstractActiveMQEmbeddedService { + private static final Logger LOG = LoggerFactory.getLogger(ActiveMQPersistentVMService.class); + + public ActiveMQPersistentVMService() { + this(ActiveMQEmbeddedServiceBuilder.persistentBroker().brokerService()); + } + + public ActiveMQPersistentVMService(BrokerService brokerService) { + this(brokerService, true); + } + + public ActiveMQPersistentVMService(BrokerService brokerService, boolean recycle) { + super(brokerService, recycle); + } + + @Override + public String getVmURL() { + return getVmURL(true); + } + + @Override + public String getVmURL(boolean create) { + return getVmURL(false, create); + } + + @Override + public String serviceAddress() { + return getVmURL(true); + } + + @Override + public String userName() { + return null; + } + + @Override + public String password() { + return null; + } +} diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java index bddb725c436..07cd13bdf5f 100644 --- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java +++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java @@ -104,4 +104,28 @@ public final class ActiveMQServiceFactory { return service; } + + public static synchronized ActiveMQService createPersistentVMService() { + return createSingletonPersistentVMService(); + } + + public static synchronized ActiveMQService createPersistentVMServiceInstance() { + if (service == null) { + if (instance == null) { + instance = new SimpleTestServiceBuilder<>("activemq"); + + instance.addLocalMapping(() -> new SingletonActiveMQService(new ActiveMQPersistentVMService(), "activemq")); + } + } + + return instance.build(); + } + + public static synchronized ActiveMQService createSingletonPersistentVMService() { + if (service == null) { + service = createVMServiceInstance(); + } + + return service; + } }