diff options
author | Robert Gemmell <robbie@apache.org> | 2012-07-31 13:22:11 +0000 |
---|---|---|
committer | Robert Gemmell <robbie@apache.org> | 2012-07-31 13:22:11 +0000 |
commit | abb12c5103fa33efb763e32800a4cfd72117ed7b (patch) | |
tree | 1efcf12adfb30b29dcbd5ea3b4acd2d1cf815d70 | |
parent | fabdad61ee5e206bfeb5bc8b96d6c1109229a562 (diff) | |
download | qpid-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.java | 74 | ||||
-rw-r--r-- | qpid/java/test-profiles/JavaTransientExcludes | 2 |
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 |