You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/10/02 10:00:31 UTC

svn commit: r1003752 - in /camel/trunk/components/camel-jms/src: main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java

Author: davsclaus
Date: Sat Oct  2 08:00:31 2010
New Revision: 1003752

URL: http://svn.apache.org/viewvc?rev=1003752&view=rev
Log:
Added unit test.

Added:
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java
      - copied, changed from r1003532, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java
Modified:
    camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java

Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java?rev=1003752&r1=1003751&r2=1003752&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java Sat Oct  2 08:00:31 2010
@@ -163,8 +163,7 @@ public class PersistentQueueReplyManager
 
         String replyToSelectorName = endpoint.getReplyToDestinationSelectorName();
         if (replyToSelectorName != null) {
-            // 24 max char is what IBM WebSphereMQ supports in CorrelationIDs
-            // use a fixed selector name so we can select the replies which is intended for us
+            // create a random selector value we will use for the persistent reply queue
             replyToSelectorValue = "ID:" + new BigInteger(24 * 8, new Random()).toString(16);
             String fixedMessageSelector = replyToSelectorName + "='" + replyToSelectorValue + "'";
             answer = new PersistentQueueMessageListenerContainer(fixedMessageSelector);

Copied: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java (from r1003532, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java?p2=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java&p1=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java&r1=1003532&r2=1003752&rev=1003752&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java (original)
+++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java Sat Oct  2 08:00:31 2010
@@ -20,51 +20,38 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.camel.CamelContext;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
+
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentClientAcknowledge;
 
 /**
  * A simple request / reply test
  */
-public class JmsSimpleRequestReplyTest extends CamelTestSupport {
+public class JmsSimpleRequestReply2Test extends CamelTestSupport {
 
     protected String componentName = "activemq";
 
     @Test
-    public void testRequetReply() throws Exception {
-        MockEndpoint result = getMockEndpoint("mock:result");
-        result.expectedMessageCount(1);
-
-        Exchange out = template.send("activemq:queue:hello", ExchangePattern.InOut, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("Hello World");
-                exchange.getIn().setHeader("foo", 123);
-            }
-        });
+    public void testWithInOnly() throws Exception {
+        getMockEndpoint("mock:result").expectedBodiesReceived("Hello World");
 
-        result.assertIsSatisfied();
+        // send an InOnly
+        template.sendBody("direct:start", "World");
 
-        assertNotNull(out);
-
-        assertEquals("Bye World", out.getOut().getBody(String.class));
-        assertEquals(123, out.getOut().getHeader("foo"));
+        assertMockEndpointsSatisfied();
     }
 
     @Test
-    public void testRequetReply2Messages() throws Exception {
-        MockEndpoint result = getMockEndpoint("mock:result");
-        result.expectedMessageCount(2);
+    public void testWithInOut() throws Exception {
+        getMockEndpoint("mock:result").expectedBodiesReceived("Hello World");
 
-        template.requestBody("activemq:queue:hello", "Hello World");
-        template.requestBody("activemq:queue:hello", "Gooday World");
+        // send an InOnly
+        String out = template.requestBody("direct:start", "World", String.class);
+        assertEquals("Hello World", out);
 
-        result.assertIsSatisfied();
+        assertMockEndpointsSatisfied();
     }
 
     protected CamelContext createCamelContext() throws Exception {
@@ -79,12 +66,12 @@ public class JmsSimpleRequestReplyTest e
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("activemq:queue:hello").process(new Processor() {
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setBody("Bye World");
-                        assertNotNull(exchange.getIn().getHeader("JMSReplyTo"));
-                    }
-                }).to("mock:result");
+                from("direct:start")
+                    .inOut("activemq:queue:foo")
+                    .to("mock:result");
+
+                from("activemq:queue:foo")
+                    .transform(body().prepend("Hello "));
             }
         };
     }