You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2013/08/04 17:10:51 UTC

git commit: added unit test based on an error reported in user forum

Updated Branches:
  refs/heads/master 88cbc9266 -> 5cb4eb39c


added unit test based on an error reported in user forum


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5cb4eb39
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5cb4eb39
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5cb4eb39

Branch: refs/heads/master
Commit: 5cb4eb39c9356fdb73ea83e0ae13d093f8206274
Parents: 88cbc92
Author: cmueller <cm...@apache.org>
Authored: Sun Aug 4 17:10:41 2013 +0200
Committer: cmueller <cm...@apache.org>
Committed: Sun Aug 4 17:10:41 2013 +0200

----------------------------------------------------------------------
 .../jms/TwoConsumerOnSameTopicTest.java         | 70 +++++++++-----------
 1 file changed, 31 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/5cb4eb39/components/camel-jms/src/test/java/org/apache/camel/component/jms/TwoConsumerOnSameTopicTest.java
----------------------------------------------------------------------
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 ba53be3..a389fa2 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
@@ -32,77 +32,54 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport {
 
     @Test
     public void testTwoConsumerOnSameTopic() throws Exception {
-        // give a bit of time for AMQ to properly setup topic subscribers
-        Thread.sleep(500);
-
-        getMockEndpoint("mock:a").expectedBodiesReceived("Hello World");
-        getMockEndpoint("mock:b").expectedBodiesReceived("Hello World");
-
-        template.sendBody("activemq:topic:foo", "Hello World");
-
-        assertMockEndpointsSatisfied();
+        sendAMessageToOneTopicWithTwoSubscribers();
     }
 
     @Test
-    public void testStopOneRoute() throws Exception {
+    public void testMultipleMessagesOnSameTopic() throws Exception {
         // give a bit of time for AMQ to properly setup topic subscribers
         Thread.sleep(500);
 
-        getMockEndpoint("mock:a").expectedBodiesReceived("Hello World");
-        getMockEndpoint("mock:b").expectedBodiesReceived("Hello World");
-        template.sendBody("activemq:topic:foo", "Hello World");
-        assertMockEndpointsSatisfied();
+        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");
 
-        // now stop route A
-        context.stopRoute("a");
+        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");
 
-        // send new message should go to B only
-        resetMocks();
-        getMockEndpoint("mock:a").expectedMessageCount(0);
-        getMockEndpoint("mock:b").expectedBodiesReceived("Bye World");
-        template.sendBody("activemq:topic:foo", "Bye World");
         assertMockEndpointsSatisfied();
     }
 
     @Test
     public void testStopAndStartOneRoute() throws Exception {
-        // give a bit of time for AMQ to properly setup topic subscribers
-        Thread.sleep(500);
-
-        getMockEndpoint("mock:a").expectedBodiesReceived("Hello World");
-        getMockEndpoint("mock:b").expectedBodiesReceived("Hello World");
-        template.sendBody("activemq:topic:foo", "Hello World");
-        assertMockEndpointsSatisfied();
+        sendAMessageToOneTopicWithTwoSubscribers();
 
         // now stop route A
         context.stopRoute("a");
 
         // send new message should go to B only
         resetMocks();
+
         getMockEndpoint("mock:a").expectedMessageCount(0);
         getMockEndpoint("mock:b").expectedBodiesReceived("Bye World");
+
         template.sendBody("activemq:topic:foo", "Bye World");
+
         assertMockEndpointsSatisfied();
 
         // send new message should go to both A and B
         resetMocks();
-        getMockEndpoint("mock:a").expectedBodiesReceived("Hi Camel");
-        getMockEndpoint("mock:b").expectedBodiesReceived("Hi Camel");
+
         // now start route A
         context.startRoute("a");
-        template.sendBody("activemq:topic:foo", "Hi Camel");
-        assertMockEndpointsSatisfied();
+
+        sendAMessageToOneTopicWithTwoSubscribers();
     }
 
     @Test
     public void testRemoveOneRoute() throws Exception {
-        // give a bit of time for AMQ to properly setup topic subscribers
-        Thread.sleep(500);
-
-        getMockEndpoint("mock:a").expectedBodiesReceived("Hello World");
-        getMockEndpoint("mock:b").expectedBodiesReceived("Hello World");
-        template.sendBody("activemq:topic:foo", "Hello World");
-        assertMockEndpointsSatisfied();
+        sendAMessageToOneTopicWithTwoSubscribers();
 
         // now stop and remove route A
         context.stopRoute("a");
@@ -110,9 +87,24 @@ public class TwoConsumerOnSameTopicTest extends CamelTestSupport {
 
         // send new message should go to B only
         resetMocks();
+
         getMockEndpoint("mock:a").expectedMessageCount(0);
         getMockEndpoint("mock:b").expectedBodiesReceived("Bye World");
+
         template.sendBody("activemq:topic:foo", "Bye World");
+
+        assertMockEndpointsSatisfied();
+    }
+
+    private void sendAMessageToOneTopicWithTwoSubscribers() throws Exception {
+        // give a bit of time for AMQ to properly setup topic subscribers
+        Thread.sleep(500);
+
+        getMockEndpoint("mock:a").expectedBodiesReceived("Hello World");
+        getMockEndpoint("mock:b").expectedBodiesReceived("Hello World");
+
+        template.sendBody("activemq:topic:foo", "Hello World");
+
         assertMockEndpointsSatisfied();
     }