You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/08/14 04:13:36 UTC
git commit: Fix for CAMEL-7694 Eliminated race condition which caused
intermittent test failures
Repository: camel
Updated Branches:
refs/heads/master 343dd7733 -> b2c3b31bb
Fix for CAMEL-7694 Eliminated race condition which caused intermittent test failures
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b2c3b31b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b2c3b31b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b2c3b31b
Branch: refs/heads/master
Commit: b2c3b31bba3191aa193cbb672b5d353fd2818ed2
Parents: 343dd77
Author: Kevin Earls <ke...@kevinearls.com>
Authored: Wed Aug 13 19:42:00 2014 +0200
Committer: Kevin Earls <ke...@kevinearls.com>
Committed: Wed Aug 13 19:42:34 2014 +0200
----------------------------------------------------------------------
.../restlet/example/RestletGroovyIssueTest.java | 23 ++++++++++++++------
1 file changed, 16 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/b2c3b31b/tests/camel-itest/src/test/java/org/apache/camel/itest/restlet/example/RestletGroovyIssueTest.java
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/restlet/example/RestletGroovyIssueTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/restlet/example/RestletGroovyIssueTest.java
index 2803ac9..68f68f4 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/restlet/example/RestletGroovyIssueTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/restlet/example/RestletGroovyIssueTest.java
@@ -16,39 +16,48 @@
*/
package org.apache.camel.itest.restlet.example;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @version
*/
public class RestletGroovyIssueTest extends CamelTestSupport {
-
+ protected static final Logger LOG = LoggerFactory.getLogger(RestletGroovyIssueTest.class);
private long port = AvailablePortFinder.getNextAvailable(16000);
private ExecutorService executorService = Executors.newFixedThreadPool(5);
@Test
public void testRestletGroovy() throws Exception {
- getMockEndpoint("mock:input").expectedMessageCount(10);
- getMockEndpoint("mock:output").expectedBodiesReceivedInAnyOrder("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
-
- for (int i = 0; i < 10; i++) {
- final Integer num = i;
+ String[] bodies = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
+ List<String> expectedBodies = Arrays.asList(bodies);
+ final CountDownLatch responsesToReceive = new CountDownLatch(expectedBodies.size());
+ getMockEndpoint("mock:input").expectedMessageCount(expectedBodies.size());
+ getMockEndpoint("mock:output").expectedBodiesReceivedInAnyOrder(expectedBodies);
+
+ for (final String s : expectedBodies) {
executorService.submit(new Runnable() {
@Override
public void run() {
- String s = "" + num;
Object response = template.requestBody("restlet:http://localhost:" + port + "/foo/" + s + "?restletMethod=GET", "");
assertEquals(s, response);
+ responsesToReceive.countDown();
};
});
}
+ responsesToReceive.await(5, TimeUnit.SECONDS);
assertMockEndpointsSatisfied();
executorService.shutdownNow();