From 01b50e941ba89816275dd30591ef99fd50be1566 Mon Sep 17 00:00:00 2001 From: "Jonas B. Lim" Date: Wed, 1 Mar 2006 13:06:55 +0000 Subject: [PATCH] added test to verify that messages sent are received in order. git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@382007 13f79535-47bb-0310-9956-ffa450edef68 --- .../activemq/transport/stomp/StompTest.java | 57 ++++++++++++++++++- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java b/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java index 7af0b21724..8303f58b8e 100644 --- a/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java +++ b/activemq-core/src/test/java/org/apache/activemq/transport/stomp/StompTest.java @@ -104,7 +104,8 @@ public class StompTest extends CombinationTestSupport { } } - + + public void sendMessage(String msg) throws Exception { sendMessage(msg, "foo", "xyz"); } @@ -213,7 +214,59 @@ public class StompTest extends CombinationTestSupport { Stomp.NULL; sendFrame(frame); } - + + + public void testMessagesAreInOrder() throws Exception { + int ctr = 10; + String[] data = new String[ctr]; + + String frame = + "CONNECT\n" + + "login: brianm\n" + + "passcode: wombats\n\n" + + Stomp.NULL; + sendFrame(frame); + + frame = receiveFrame(100000); + assertTrue(frame.startsWith("CONNECTED")); + + frame = + "SUBSCRIBE\n" + + "destination:/queue/" + getQueueName() + "\n" + + "ack:auto\n\n" + + Stomp.NULL; + sendFrame(frame); + + for (int i = 0; i < ctr; ++i) { + data[i] = getName() + i; + sendMessage(data[i]); + } + + for (int i = 0; i < ctr; ++i) { + frame = receiveFrame(1000); + assertTrue("Message not in order", frame.indexOf(data[i]) >=0 ); + } + + // sleep a while before publishing another set of messages + waitForFrameToTakeEffect(); + + for (int i = 0; i < ctr; ++i) { + data[i] = getName() + ":second:" + i; + sendMessage(data[i]); + } + + for (int i = 0; i < ctr; ++i) { + frame = receiveFrame(1000); + assertTrue("Message not in order", frame.indexOf(data[i]) >=0 ); + } + + frame = + "DISCONNECT\n" + + "\n\n" + + Stomp.NULL; + sendFrame(frame); + } + public void testSubscribeWithAutoAckAndSelector() throws Exception {