Author: kwall
Date: Mon Jul 30 13:59:07 2012
New Revision: 1367095

URL: http://svn.apache.org/viewvc?rev=1367095&view=rev
Log:
QPID-4164: Patch to extend MaxDeliveryCountTest to check for this bug

Applied patch from Philip Harvey <[email protected]>

Modified:
    
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
    qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes

Modified: 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java?rev=1367095&r1=1367094&r2=1367095&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
 (original)
+++ 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/MaxDeliveryCountTest.java
 Mon Jul 30 13:59:07 2012
@@ -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 extend
     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 extend
      */
     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 extend
      */
     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 extend
      */
     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 extend
      */
     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 extend
      */
     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 extend
      */
     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 extend
             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 extend
     }
 
     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 extend
     }
 
     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 extend
                             //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;
                     }
 

Modified: qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes?rev=1367095&r1=1367094&r2=1367095&view=diff
==============================================================================
--- qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes (original)
+++ qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes Mon Jul 30 
13:59:07 2012
@@ -47,3 +47,5 @@ org.apache.qpid.systest.management.jmx.Q
 
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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to