summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-07-31 13:22:11 +0000
committerRobert Gemmell <robbie@apache.org>2012-07-31 13:22:11 +0000
commitabb12c5103fa33efb763e32800a4cfd72117ed7b (patch)
tree1efcf12adfb30b29dcbd5ea3b4acd2d1cf815d70
parentfabdad61ee5e206bfeb5bc8b96d6c1109229a562 (diff)
downloadqpid-python-abb12c5103fa33efb763e32800a4cfd72117ed7b.tar.gz
QPID-4164: Patch to extend MaxDeliveryCountTest to check for this bug
Applied patch from Philip Harvey <phil@philharveyonline.com> merged from trunk r1367095 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1367534 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java74
-rw-r--r--qpid/java/test-profiles/JavaTransientExcludes2
2 files changed, 23 insertions, 53 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
index fa0fe7e0b5..bc1eead8b4 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
@@ -41,6 +41,7 @@ import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -67,6 +68,9 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
private static final int MAX_DELIVERY_COUNT = 2;
private CountDownLatch _awaitCompletion;
+ /** index numbers of messages to be redelivered */
+ private final List<Integer> _redeliverMsgs = Arrays.asList(1, 2, 5, 14);
+
public void setUp() throws Exception
{
//enable DLQ/maximumDeliveryCount support for all queues at the vhost level
@@ -144,13 +148,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
*/
public void testAsynchronousClientAckSession() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(5);
- redeliverMsgs.add(14);
-
- doTest(Session.CLIENT_ACKNOWLEDGE, redeliverMsgs, false, false);
+ doTest(Session.CLIENT_ACKNOWLEDGE, _redeliverMsgs, false, false);
}
/**
@@ -159,13 +157,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
*/
public void testAsynchronousTransactedSession() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(5);
- redeliverMsgs.add(14);
-
- doTest(Session.SESSION_TRANSACTED, redeliverMsgs, false, false);
+ doTest(Session.SESSION_TRANSACTED, _redeliverMsgs, false, false);
}
/**
@@ -174,13 +166,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
*/
public void testAsynchronousAutoAckSession() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(5);
- redeliverMsgs.add(14);
-
- doTest(Session.AUTO_ACKNOWLEDGE, redeliverMsgs, false, false);
+ doTest(Session.AUTO_ACKNOWLEDGE, _redeliverMsgs, false, false);
}
/**
@@ -189,13 +175,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
*/
public void testAsynchronousDupsOkSession() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(5);
- redeliverMsgs.add(14);
-
- doTest(Session.DUPS_OK_ACKNOWLEDGE, redeliverMsgs, false, false);
+ doTest(Session.DUPS_OK_ACKNOWLEDGE, _redeliverMsgs, false, false);
}
/**
@@ -204,13 +184,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
*/
public void testSynchronousClientAckSession() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(3);
- redeliverMsgs.add(14);
-
- doTest(Session.CLIENT_ACKNOWLEDGE, redeliverMsgs, true, false);
+ doTest(Session.CLIENT_ACKNOWLEDGE, _redeliverMsgs, true, false);
}
/**
@@ -219,27 +193,22 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
*/
public void testSynchronousTransactedSession() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(5);
- redeliverMsgs.add(14);
-
- doTest(Session.SESSION_TRANSACTED, redeliverMsgs, true, false);
+ doTest(Session.SESSION_TRANSACTED, _redeliverMsgs, true, false);
}
public void testDurableSubscription() throws Exception
{
- final ArrayList<Integer> redeliverMsgs = new ArrayList<Integer>();
- redeliverMsgs.add(1);
- redeliverMsgs.add(2);
- redeliverMsgs.add(5);
- redeliverMsgs.add(14);
+ doTest(Session.SESSION_TRANSACTED, _redeliverMsgs, false, true);
+ }
+
+ public void testWhenBrokerIsRestartedAfterEnqeuingMessages() throws Exception
+ {
+ restartBroker();
- doTest(Session.SESSION_TRANSACTED, redeliverMsgs, false, true);
+ doTest(Session.SESSION_TRANSACTED, _redeliverMsgs, true, false);
}
- public void doTest(final int deliveryMode, final ArrayList<Integer> redeliverMsgs, final boolean synchronous, final boolean durableSub) throws Exception
+ private void doTest(final int deliveryMode, final List<Integer> redeliverMsgs, final boolean synchronous, final boolean durableSub) throws Exception
{
final Connection clientConnection = getConnection();
@@ -311,7 +280,6 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
restartBroker();
final Connection clientConnection2 = getConnection();
- final Session clientSession2 = clientConnection2.createSession(transacted, deliveryMode);
clientConnection2.start();
//verify the messages on the DLQ
@@ -406,7 +374,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
}
private void addMessageListener(final Session session, final MessageConsumer consumer, final int deliveryMode, final int maxDeliveryCount,
- final int expectedTotalNumberOfDeliveries, final ArrayList<Integer> redeliverMsgs) throws JMSException
+ final int expectedTotalNumberOfDeliveries, final List<Integer> redeliverMsgs) throws JMSException
{
if(deliveryMode == org.apache.qpid.jms.Session.NO_ACKNOWLEDGE
|| deliveryMode == org.apache.qpid.jms.Session.PRE_ACKNOWLEDGE)
@@ -567,7 +535,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
}
private void doSynchronousTest(final Session session, final MessageConsumer consumer, final int deliveryMode, final int maxDeliveryCount,
- final int expectedTotalNumberOfDeliveries, final ArrayList<Integer> redeliverMsgs) throws JMSException, AMQException, InterruptedException
+ final int expectedTotalNumberOfDeliveries, final List<Integer> redeliverMsgs) throws JMSException, AMQException, InterruptedException
{
if(deliveryMode == Session.AUTO_ACKNOWLEDGE
|| deliveryMode == Session.DUPS_OK_ACKNOWLEDGE
@@ -637,7 +605,7 @@ public class MaxDeliveryCountTest extends QpidBrokerTestCase
//sleep then do a synchronous op to give the broker
//time to resend all the messages
Thread.sleep(500);
- ((AMQSession) session).sync();
+ ((AMQSession<?,?>) session).sync();
break;
}
diff --git a/qpid/java/test-profiles/JavaTransientExcludes b/qpid/java/test-profiles/JavaTransientExcludes
index c49653051a..e7b423ef34 100644
--- a/qpid/java/test-profiles/JavaTransientExcludes
+++ b/qpid/java/test-profiles/JavaTransientExcludes
@@ -47,3 +47,5 @@ org.apache.qpid.systest.management.jmx.QueueManagementTest#testAlternateExchange
org.apache.qpid.systest.management.jmx.QueueManagementTest#testQueueDescriptionSurvivesRestart
org.apache.qpid.systest.management.jmx.QueueManagementTest#testMoveMessageBetweenQueuesWithBrokerRestart
org.apache.qpid.systest.management.jmx.QueueManagementTest#testCopyMessageBetweenQueuesWithBrokerRestart
+
+org.apache.qpid.test.unit.client.MaxDeliveryCountTest#testWhenBrokerIsRestartedAfterEnqeuingMessages