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 ad888c89bffb12a14b01daa4a19c57d27a028ccb Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Tue Jun 28 12:07:46 2022 +0200 (chores) camel-jms: cleanup a few test cases - replaced a few Thread.sleep calls with awaitility - replaced a few Thread.sleep calls with delay() - adjusted exception checks for the affected tests - removed unused exceptions for the affected tests --- .../camel/component/jms/JmsDurableTopicTest.java | 16 ++++++------ .../jms/JmsInOutFixedReplyQueueTimeoutTest.java | 25 ++++++++----------- ...ueueTimeoutUseMessageIDAsCorrelationIDTest.java | 13 +++++----- .../jms/JmsInOutIndividualRequestTimeoutTest.java | 29 +++++++++++----------- .../jms/issues/JmsConcurrentConsumersTest.java | 10 +++----- 5 files changed, 44 insertions(+), 49 deletions(-) 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 d9b67700063..bae10dcf7b4 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 @@ -16,12 +16,15 @@ */ package org.apache.camel.component.jms; +import java.util.concurrent.TimeUnit; + 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; @@ -29,19 +32,18 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow public class JmsDurableTopicTest extends CamelTestSupport { @Test - public void testDurableTopic() throws Exception { + public void testDurableTopic() { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Hello World"); MockEndpoint mock2 = getMockEndpoint("mock:result2"); mock2.expectedBodiesReceived("Hello World"); - // wait a bit and send the message - Thread.sleep(1000); - - template.sendBody("activemq:topic:foo", "Hello World"); - - assertMockEndpointsSatisfied(); + Awaitility.await().atMost(2, TimeUnit.SECONDS) + .untilAsserted(() -> { + template.sendBody("activemq:topic:foo", "Hello World"); + assertMockEndpointsSatisfied(); + }); } @Override diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java index 3a36be39812..da7c7c833d1 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.component.jms; +import java.time.Duration; + import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; @@ -29,7 +31,7 @@ import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * @@ -52,13 +54,11 @@ public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport { public void testTimeout() throws Exception { getMockEndpoint("mock:result").expectedMessageCount(0); - try { - template.requestBody("direct:start", "World", String.class); - fail("Should have thrown exception"); - } catch (CamelExecutionException e) { - assertIsInstanceOf(ExchangeTimedOutException.class, e.getCause()); - } + Exception ex = assertThrows(CamelExecutionException.class, + () -> template.requestBody("direct:start", "World", String.class), + "Should have thrown exception"); + assertIsInstanceOf(ExchangeTimedOutException.class, ex.getCause()); assertMockEndpointsSatisfied(); } @@ -81,13 +81,10 @@ public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport { .to("mock:result"); from("activemq:queue:foo") - .process(exchange -> { - String body = exchange.getIn().getBody(String.class); - if ("World".equals(body)) { - log.debug("Sleeping for 4 sec to force a timeout"); - Thread.sleep(4000); - } - }).transform(body().prepend("Bye ")).to("log:reply"); + .choice().when(body().isEqualTo("World")) + .log("Sleeping for 4 sec to force a timeout") + .delay(Duration.ofSeconds(4).toMillis()).endChoice().end() + .transform(body().prepend("Bye ")).to("log:reply"); } }; } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java index 7a7df658bd1..1f2bd73ffd2 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.component.jms; +import java.time.Duration; + import org.apache.camel.ExchangePattern; import org.apache.camel.builder.RouteBuilder; @@ -34,13 +36,10 @@ public class JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest exten .to("mock:result"); from("activemq:queue:foo") - .process(exchange -> { - String body = exchange.getIn().getBody(String.class); - if ("World".equals(body)) { - log.debug("Sleeping for 4 sec to force a timeout"); - Thread.sleep(4000); - } - }).transform(body().prepend("Bye ")).to("log:reply"); + .choice().when(body().isEqualTo("World")) + .log("Sleeping for 4 sec to force a timeout") + .delay(Duration.ofSeconds(4).toMillis()).endChoice().end() + .transform(body().prepend("Bye ")).to("log:reply"); } }; } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java index c8f9488179c..8df36925403 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.component.jms; +import java.time.Duration; + import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; @@ -29,7 +31,7 @@ import org.junit.jupiter.api.Test; import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge; import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * @@ -52,13 +54,13 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport { public void testTimeout() throws Exception { getMockEndpoint("mock:result").expectedMessageCount(0); - try { - template.requestBodyAndHeader("direct:start", "World", JmsConstants.JMS_REQUEST_TIMEOUT, 1500L, String.class); - fail("Should have thrown exception"); - } catch (CamelExecutionException e) { - ExchangeTimedOutException timeout = assertIsInstanceOf(ExchangeTimedOutException.class, e.getCause()); - assertEquals(1500, timeout.getTimeout()); - } + Exception ex = assertThrows(CamelExecutionException.class, + () -> template.requestBodyAndHeader("direct:start", "World", JmsConstants.JMS_REQUEST_TIMEOUT, 1500L, + String.class), + "Should have thrown exception"); + + ExchangeTimedOutException timeout = assertIsInstanceOf(ExchangeTimedOutException.class, ex.getCause()); + assertEquals(1500, timeout.getTimeout()); assertMockEndpointsSatisfied(); } @@ -93,13 +95,10 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport { .to("mock:result"); from("activemq:queue:foo") - .process(exchange -> { - String body = exchange.getIn().getBody(String.class); - if ("World".equals(body)) { - log.debug("Sleeping for 4 sec to force a timeout"); - Thread.sleep(4000); - } - }).transform(body().prepend("Bye ")).to("log:reply"); + .choice().when(body().isEqualTo("World")) + .log("Sleeping for 4 sec to force a timeout") + .delay(Duration.ofSeconds(4).toMillis()).endChoice().end() + .transform(body().prepend("Bye ")).to("log:reply"); } }; } diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java index 2845ce68e38..a212776e6a2 100644 --- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java +++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.jms.issues; +import java.time.Duration; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -83,12 +84,9 @@ public class JmsConcurrentConsumersTest extends CamelTestSupport { public void configure() { from("activemq:a?concurrentConsumers=3").to("activemq:b?concurrentConsumers=3"); - from("activemq:b?concurrentConsumers=3").process(exchange -> { - String body = exchange.getIn().getBody(String.class); - // sleep a little to simulate heavy work and force concurrency processing - Thread.sleep(3000); - exchange.getMessage().setBody("Bye " + body); - }); + from("activemq:b?concurrentConsumers=3") + .delay(Duration.ofSeconds(3).toMillis()) + .transform(body().prepend("Bye ")).to("log:reply"); } }; }
