Repository: camel Updated Branches: refs/heads/master 2054cdf1b -> 25cc73f26
CAMEL-11446: Use awaitility in camel-core for testing where we otherwise use thred sleep which can be speeded up. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/25cc73f2 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/25cc73f2 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/25cc73f2 Branch: refs/heads/master Commit: 25cc73f26bcdd60986f2418bcfa3337d337fb1b0 Parents: 2054cdf Author: Claus Ibsen <[email protected]> Authored: Sun Jul 9 11:52:50 2017 +0200 Committer: Claus Ibsen <[email protected]> Committed: Sun Jul 9 11:57:39 2017 +0200 ---------------------------------------------------------------------- .../camel/impl/FileWatcherReloadStrategy.java | 10 +++++++++- .../component/seda/SedaConcurrentTest.java | 20 ++++++++++---------- .../impl/FileWatcherReloadStrategyTest.java | 2 ++ .../impl/StopRouteAbortAfterTimeoutTest.java | 10 +++++----- ...ontextScopedUntilRecipientListIssueTest.java | 2 +- ...opedUntilRecipientListParallelIssueTest.java | 2 +- ...yRouteScopedUntilRecipientListIssueTest.java | 2 +- ...opedUntilRecipientListParallelIssueTest.java | 2 +- ...nagedRouteStopWithAbortAfterTimeoutTest.java | 12 ++++++------ 9 files changed, 36 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/main/java/org/apache/camel/impl/FileWatcherReloadStrategy.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/FileWatcherReloadStrategy.java b/camel-core/src/main/java/org/apache/camel/impl/FileWatcherReloadStrategy.java index 7949f3e..b908054 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/FileWatcherReloadStrategy.java +++ b/camel-core/src/main/java/org/apache/camel/impl/FileWatcherReloadStrategy.java @@ -59,6 +59,7 @@ public class FileWatcherReloadStrategy extends ReloadStrategySupport { private ExecutorService executorService; private WatchFileChangesTask task; private Map<WatchKey, Path> folderKeys; + private long pollTimeout = 2000; public FileWatcherReloadStrategy() { setRecursive(false); @@ -82,6 +83,13 @@ public class FileWatcherReloadStrategy extends ReloadStrategySupport { this.isRecursive = isRecursive; } + /** + * Sets the poll timeout in millis. The default value is 2000. + */ + public void setPollTimeout(long pollTimeout) { + this.pollTimeout = pollTimeout; + } + @ManagedAttribute(description = "Folder being watched") public String getFolder() { return folder; @@ -214,7 +222,7 @@ public class FileWatcherReloadStrategy extends ReloadStrategySupport { try { log.trace("ReloadStrategy is polling for file changes in directory: {}", folder); // wait for a key to be available - key = watcher.poll(2, TimeUnit.SECONDS); + key = watcher.poll(pollTimeout, TimeUnit.MILLISECONDS); } catch (InterruptedException ex) { break; } http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentTest.java b/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentTest.java index 9682485..1c3aca1 100644 --- a/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentTest.java +++ b/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentTest.java @@ -38,8 +38,8 @@ public class SedaConcurrentTest extends ContextTestSupport { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedMessageCount(20); - // should at least take 3 sec - mock.setResultMinimumWaitTime(3000); + // should at least take 0.5 sec + mock.setResultMinimumWaitTime(500); for (int i = 0; i < 20; i++) { template.sendBody("seda:foo", "Message " + i); @@ -52,8 +52,8 @@ public class SedaConcurrentTest extends ContextTestSupport { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedMessageCount(20); - // should at least take 3 sec - mock.setResultMinimumWaitTime(3000); + // should at least take 0.5 sec + mock.setResultMinimumWaitTime(500); for (int i = 0; i < 20; i++) { template.asyncSendBody("seda:foo", "Message " + i); @@ -67,8 +67,8 @@ public class SedaConcurrentTest extends ContextTestSupport { mock.expectedMessageCount(20); mock.allMessages().body().startsWith("Bye"); - // should at least take 3 sec - mock.setResultMinimumWaitTime(3000); + // should at least take 0.5 sec + mock.setResultMinimumWaitTime(500); ExecutorService executors = Executors.newFixedThreadPool(10); List<Object> replies = new ArrayList<Object>(20); @@ -93,8 +93,8 @@ public class SedaConcurrentTest extends ContextTestSupport { mock.expectedMessageCount(20); mock.allMessages().body().startsWith("Bye"); - // should at least take 3 sec - mock.setResultMinimumWaitTime(3000); + // should at least take 0.5 sec + mock.setResultMinimumWaitTime(500); // use our own template that has a higher thread pool than default camel that uses 5 ExecutorService executor = Executors.newFixedThreadPool(10); @@ -125,10 +125,10 @@ public class SedaConcurrentTest extends ContextTestSupport { @Override public void configure() throws Exception { from("seda:foo?concurrentConsumers=10") - .to("mock:before").delay(2000).to("mock:result"); + .to("mock:before").delay(500).to("mock:result"); from("seda:bar?concurrentConsumers=10") - .to("mock:before").delay(2000).transform(body().prepend("Bye ")).to("mock:result"); + .to("mock:before").delay(500).transform(body().prepend("Bye ")).to("mock:result"); } }; } http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/impl/FileWatcherReloadStrategyTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/impl/FileWatcherReloadStrategyTest.java b/camel-core/src/test/java/org/apache/camel/impl/FileWatcherReloadStrategyTest.java index 86b8e47..df7a4ab 100644 --- a/camel-core/src/test/java/org/apache/camel/impl/FileWatcherReloadStrategyTest.java +++ b/camel-core/src/test/java/org/apache/camel/impl/FileWatcherReloadStrategyTest.java @@ -44,6 +44,8 @@ public class FileWatcherReloadStrategyTest extends ContextTestSupport { CamelContext context = super.createCamelContext(); reloadStrategy = new FileWatcherReloadStrategy(); reloadStrategy.setFolder("target/dummy"); + // to make unit test faster + reloadStrategy.setPollTimeout(100); context.setReloadStrategy(reloadStrategy); return context; } http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/impl/StopRouteAbortAfterTimeoutTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/impl/StopRouteAbortAfterTimeoutTest.java b/camel-core/src/test/java/org/apache/camel/impl/StopRouteAbortAfterTimeoutTest.java index 70df458..910d6fe 100644 --- a/camel-core/src/test/java/org/apache/camel/impl/StopRouteAbortAfterTimeoutTest.java +++ b/camel-core/src/test/java/org/apache/camel/impl/StopRouteAbortAfterTimeoutTest.java @@ -38,8 +38,8 @@ public class StopRouteAbortAfterTimeoutTest extends ContextTestSupport { template.sendBody("seda:start", "message-" + i); } - // stop route with a 2s timeout and abortAfterTimeout=true (should abort after 2s) - boolean stopRouteResponse = context.stopRoute("start", 2, TimeUnit.SECONDS, true); + // stop route with a 1s timeout and abortAfterTimeout=true (should abort after 1s) + boolean stopRouteResponse = context.stopRoute("start", 1, TimeUnit.SECONDS, true); // confirm that route is still running assertFalse("stopRoute response should be False", stopRouteResponse); @@ -66,8 +66,8 @@ public class StopRouteAbortAfterTimeoutTest extends ContextTestSupport { template.sendBody("seda:start", "message-" + i); } - // stop route with a 2s timeout and abortAfterTimeout=false (normal timeout behavior) - boolean stopRouteResponse = context.stopRoute("start", 2, TimeUnit.SECONDS, false); + // stop route with a 1s timeout and abortAfterTimeout=false (normal timeout behavior) + boolean stopRouteResponse = context.stopRoute("start", 1, TimeUnit.SECONDS, false); // the route should have been forced stopped assertTrue("stopRoute response should be True", stopRouteResponse); @@ -92,7 +92,7 @@ public class StopRouteAbortAfterTimeoutTest extends ContextTestSupport { // shutdown this test faster context.getShutdownStrategy().setTimeout(3); - from("seda:start").routeId("start").delay(500).to("mock:result"); + from("seda:start").routeId("start").delay(100).to("mock:result"); } }; } http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListIssueTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListIssueTest.java index 3ebacd0..d5ab96a 100644 --- a/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListIssueTest.java +++ b/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListIssueTest.java @@ -28,7 +28,7 @@ public class RetryContextScopedUntilRecipientListIssueTest extends RetryRouteSco return new RouteBuilder() { @Override public void configure() throws Exception { - onException(Exception.class).retryWhile(method("myRetryBean")).end(); + onException(Exception.class).redeliveryDelay(0).retryWhile(method("myRetryBean")).end(); from("seda:start") .recipientList(header("recipientListHeader")) http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListParallelIssueTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListParallelIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListParallelIssueTest.java index 632dabc..61000d7 100644 --- a/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListParallelIssueTest.java +++ b/camel-core/src/test/java/org/apache/camel/issues/RetryContextScopedUntilRecipientListParallelIssueTest.java @@ -28,7 +28,7 @@ public class RetryContextScopedUntilRecipientListParallelIssueTest extends Retry return new RouteBuilder() { @Override public void configure() throws Exception { - onException(Exception.class).retryWhile(method("myRetryBean")).end(); + onException(Exception.class).redeliveryDelay(0).retryWhile(method("myRetryBean")).end(); from("seda:start") .recipientList(header("recipientListHeader")).parallelProcessing() http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java index ed11b4b..5cc6883 100644 --- a/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java +++ b/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListIssueTest.java @@ -257,7 +257,7 @@ public class RetryRouteScopedUntilRecipientListIssueTest extends ContextTestSupp @Override public void configure() throws Exception { from("seda:start") - .onException(Exception.class).retryWhile(method("myRetryBean")).end() + .onException(Exception.class).redeliveryDelay(0).retryWhile(method("myRetryBean")).end() .recipientList(header("recipientListHeader")) .to("mock:result"); http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListParallelIssueTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListParallelIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListParallelIssueTest.java index e0643fa..894b4b7 100644 --- a/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListParallelIssueTest.java +++ b/camel-core/src/test/java/org/apache/camel/issues/RetryRouteScopedUntilRecipientListParallelIssueTest.java @@ -30,7 +30,7 @@ public class RetryRouteScopedUntilRecipientListParallelIssueTest extends RetryRo public void configure() throws Exception { from("seda:start") - .onException(Exception.class).retryWhile(method("myRetryBean")).end() + .onException(Exception.class).redeliveryDelay(0).retryWhile(method("myRetryBean")).end() .recipientList(header("recipientListHeader")).parallelProcessing() .to("mock:result"); http://git-wip-us.apache.org/repos/asf/camel/blob/25cc73f2/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopWithAbortAfterTimeoutTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopWithAbortAfterTimeoutTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopWithAbortAfterTimeoutTest.java index 87de272..bb116e7 100644 --- a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopWithAbortAfterTimeoutTest.java +++ b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopWithAbortAfterTimeoutTest.java @@ -51,8 +51,8 @@ public class ManagedRouteStopWithAbortAfterTimeoutTest extends ManagementTestSup template.sendBody("seda:start", "message-" + i); } - // stop route with a 2s timeout and abortAfterTimeout=true (should abort after 2s) - Long timeout = new Long(2); + // stop route with a 1s timeout and abortAfterTimeout=true (should abort after 1s) + Long timeout = new Long(1); Boolean abortAfterTimeout = Boolean.TRUE; Object[] params = {timeout, abortAfterTimeout}; String[] sig = {"java.lang.Long", "java.lang.Boolean"}; @@ -91,8 +91,8 @@ public class ManagedRouteStopWithAbortAfterTimeoutTest extends ManagementTestSup template.sendBody("seda:start", "message-" + i); } - // stop route with a 2s timeout and abortAfterTimeout=false (normal timeout behavior) - Long timeout = new Long(2); + // stop route with a 1s timeout and abortAfterTimeout=false (normal timeout behavior) + Long timeout = new Long(1); Boolean abortAfterTimeout = Boolean.FALSE; Object[] params = {timeout, abortAfterTimeout}; String[] sig = {"java.lang.Long", "java.lang.Boolean"}; @@ -108,7 +108,7 @@ public class ManagedRouteStopWithAbortAfterTimeoutTest extends ManagementTestSup template.sendBody("seda:start", "message-" + i); } - Thread.sleep(3000); + Thread.sleep(1000); assertTrue("Should not have received more than 5 messages", mockEP.getExchanges().size() <= 5); } @@ -127,7 +127,7 @@ public class ManagedRouteStopWithAbortAfterTimeoutTest extends ManagementTestSup // shutdown this test faster context.getShutdownStrategy().setTimeout(3); - from("seda:start").delay(500).to("mock:result"); + from("seda:start").delay(100).to("mock:result"); } }; }
