[hornetq-commits] JBoss hornetq SVN: r11833 - trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/stomp/v11.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Dec 5 09:25:39 EST 2011


Author: gaohoward
Date: 2011-12-05 09:25:39 -0500 (Mon, 05 Dec 2011)
New Revision: 11833

Modified:
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/stomp/v11/ExtraStompTest.java
Log:
more tests



Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/stomp/v11/ExtraStompTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/stomp/v11/ExtraStompTest.java	2011-12-05 14:19:44 UTC (rev 11832)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/stomp/v11/ExtraStompTest.java	2011-12-05 14:25:39 UTC (rev 11833)
@@ -293,4 +293,128 @@
       }
    }
 
+   public void testNoGarbageAfterPersistentMessageV11() throws Exception
+   {
+      StompClientConnection connV11 = StompClientConnectionFactory
+            .createClientConnection("1.1", hostname, port);
+      try
+      {
+         connV11.connect(defUser, defPass);
+
+         ClientStompFrame subFrame = connV11.createFrame("SUBSCRIBE");
+         subFrame.addHeader("id", "a-sub");
+         subFrame.addHeader("destination", getQueuePrefix() + getQueueName());
+         subFrame.addHeader("ack", "auto");
+
+         connV11.sendFrame(subFrame);
+
+         ClientStompFrame frame = connV11.createFrame("SEND");
+         frame.addHeader("destination", getQueuePrefix() + getQueueName());
+         frame.addHeader("content-length", "11");
+         frame.addHeader("persistent", "true");
+         frame.setBody("Hello World");
+
+         connV11.sendFrame(frame);
+
+         frame = connV11.createFrame("SEND");
+         frame.addHeader("destination", getQueuePrefix() + getQueueName());
+         frame.addHeader("content-length", "11");
+         frame.addHeader("persistent", "true");
+         frame.setBody("Hello World");
+
+         connV11.sendFrame(frame);
+
+         frame = connV11.receiveFrame(10000);
+         
+         System.out.println("received: " + frame);
+         
+         assertEquals("Hello World", frame.getBody());
+
+         //if hornetq sends trailing garbage bytes, the second message
+         //will not be normal
+         frame = connV11.receiveFrame(10000);
+         
+         System.out.println("received: " + frame);
+         
+         assertEquals("Hello World", frame.getBody());
+
+         //unsub
+         ClientStompFrame unsubFrame = connV11.createFrame("UNSUBSCRIBE");
+         unsubFrame.addHeader("id", "a-sub");
+         connV11.sendFrame(unsubFrame);
+      }
+      finally
+      {
+         connV11.disconnect();
+      }
+   }
+   
+   public void testNoGarbageOnPersistentRedeliveryV11() throws Exception
+   {
+      StompClientConnection connV11 = StompClientConnectionFactory
+            .createClientConnection("1.1", hostname, port);
+      try
+      {
+         connV11.connect(defUser, defPass);
+
+         ClientStompFrame frame = connV11.createFrame("SEND");
+         frame.addHeader("destination", getQueuePrefix() + getQueueName());
+         frame.addHeader("content-length", "11");
+         frame.addHeader("persistent", "true");
+         frame.setBody("Hello World");
+
+         connV11.sendFrame(frame);
+
+         frame = connV11.createFrame("SEND");
+         frame.addHeader("destination", getQueuePrefix() + getQueueName());
+         frame.addHeader("content-length", "11");
+         frame.addHeader("persistent", "true");
+         frame.setBody("Hello World");
+
+         connV11.sendFrame(frame);
+
+         ClientStompFrame subFrame = connV11.createFrame("SUBSCRIBE");
+         subFrame.addHeader("id", "a-sub");
+         subFrame.addHeader("destination", getQueuePrefix() + getQueueName());
+         subFrame.addHeader("ack", "client");
+
+         connV11.sendFrame(subFrame);
+
+         // receive but don't ack
+         frame = connV11.receiveFrame(10000);
+         frame = connV11.receiveFrame(10000);
+         
+         System.out.println("received: " + frame);
+
+         //unsub
+         ClientStompFrame unsubFrame = connV11.createFrame("UNSUBSCRIBE");
+         unsubFrame.addHeader("id", "a-sub");
+         connV11.sendFrame(unsubFrame);
+
+         subFrame = connV11.createFrame("SUBSCRIBE");
+         subFrame.addHeader("id", "a-sub");
+         subFrame.addHeader("destination", getQueuePrefix() + getQueueName());
+         subFrame.addHeader("ack", "auto");
+
+         connV11.sendFrame(subFrame);
+         
+         frame = connV11.receiveFrame(10000);
+         frame = connV11.receiveFrame(10000);
+         
+         //second receive will get problem if trailing bytes
+         assertEquals("Hello World", frame.getBody());
+         
+         System.out.println("received again: " + frame);
+
+         //unsub
+         unsubFrame = connV11.createFrame("UNSUBSCRIBE");
+         unsubFrame.addHeader("id", "a-sub");
+         connV11.sendFrame(unsubFrame);
+      }
+      finally
+      {
+         connV11.disconnect();
+      }
+   }
+
 }



More information about the hornetq-commits mailing list