From 4a815ef3a1fac122c16c7a97516612a1fa8793c0 Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Thu, 14 Oct 2010 21:21:02 +0000 Subject: QPID-2418 The tests "testResubscribeWithChangedSelectorNoClose" and "testDurSubAddMessageSelectorNoClose" are failing against the c++ broker due to wrong assumptions made in the test cases. It creates subscriptions, then sends messages and tries to check the queue depth. However the c++ broker (not sure what the java broker behaviour is) will imediately send the messages to the java client. All though the messages are received in no-acquire mode the broker will not show them as available unless the client releases them. I added a connection stop immediately before the messages were sent, preventing the broker from sending them to the consumer. And then I added a connection start soon after the queue depth is querried. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1022722 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/test/unit/topic/DurableSubscriptionTest.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'qpid/java') diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java index d73761d12a..915eccee3a 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/topic/DurableSubscriptionTest.java @@ -671,7 +671,7 @@ public class DurableSubscriptionTest extends QpidBrokerTestCase *
  • create another durable subscriber with a different selector and same name *
  • check first subscriber is now closed *
  • create a publisher and send messages - *
  • check messages are recieved correctly + *
  • check messages are received correctly * *

    * QPID-2418 @@ -704,6 +704,8 @@ public class DurableSubscriptionTest extends QpidBrokerTestCase e.printStackTrace(); } + conn.stop(); + // Send 1 matching message and 1 non-matching message MessageProducer producer = session.createProducer(topic); TextMessage msg = session.createTextMessage("testResubscribeWithChangedSelectorAndRestart1"); @@ -718,6 +720,8 @@ public class DurableSubscriptionTest extends QpidBrokerTestCase AMQQueue queue = new AMQQueue("amq.topic", "clientid" + ":" + "testResubscribeWithChangedSelectorNoClose"); assertEquals("Queue depth is wrong", isJavaBroker() ? 1 : 2, ((AMQSession) session).getQueueDepth(queue)); + conn.start(); + Message rMsg = subB.receive(1000); assertNotNull(rMsg); assertEquals("Content was wrong", @@ -768,6 +772,8 @@ public class DurableSubscriptionTest extends QpidBrokerTestCase e.printStackTrace(); } + conn.stop(); + // Send 1 matching message and 1 non-matching message MessageProducer producer = session.createProducer(topic); TextMessage msg = session.createTextMessage("testResubscribeWithChangedSelectorAndRestart1"); @@ -782,6 +788,8 @@ public class DurableSubscriptionTest extends QpidBrokerTestCase AMQQueue queue = new AMQQueue("amq.topic", "clientid" + ":" + "subscriptionName"); assertEquals("Queue depth is wrong", isJavaBroker() ? 1 : 2, ((AMQSession) session).getQueueDepth(queue)); + conn.start(); + Message rMsg = subTwo.receive(1000); assertNotNull(rMsg); assertEquals("Content was wrong", -- cgit v1.2.1