You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/04/30 16:39:19 UTC

svn commit: r533765 - /incubator/qpid/branches/M2/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java

Author: ritchiem
Date: Mon Apr 30 07:39:18 2007
New Revision: 533765

URL: http://svn.apache.org/viewvc?view=rev&rev=533765
Log:
QPID-461 Update to CommitRollbackTest. Ensuring messages received have the correct redelivered value, regardless of order.

Modified:
    incubator/qpid/branches/M2/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java

Modified: incubator/qpid/branches/M2/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java?view=diff&rev=533765&r1=533764&r2=533765
==============================================================================
--- incubator/qpid/branches/M2/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java (original)
+++ incubator/qpid/branches/M2/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java Mon Apr 30 07:39:18 2007
@@ -390,7 +390,6 @@
         assertEquals("1", ((TextMessage) result).getText());
         assertTrue("Messasge is marked as redelivered" + result, !result.getJMSRedelivered());
 
-
         _logger.info("Closing Consumer");
         _consumer.close();
 
@@ -398,30 +397,31 @@
         _consumer = _session.createConsumer(_jmsQueue);
 
         _logger.info("receiving result");
+
+        // NOTE: Both msg 1 & 2 will be marked as redelivered as they have both will have been rejected.
+        // Only the occasion where it is not rejected will it mean it hasn't arrived at the client yet.
         result = _consumer.receive(1000);
         assertNotNull("test message was consumed and rolled back, but is gone", result);
+
+        // The first message back will be either 1 or 2 being redelivered
         if (result.getJMSRedelivered())
         {
-            assertEquals("1", ((TextMessage) result).getText());
-
-            result = _consumer.receive(1000);
-            assertNotNull("test message was consumed and rolled back, but is gone", result);
-            assertEquals("2", ((TextMessage) result).getText());
             assertTrue("Messasge is not marked as redelivered" + result, result.getJMSRedelivered());
         }
-        else
+        else // or it will be msg 2 arriving the first time due to latency.  
         {
-            assertEquals("2", ((TextMessage) result).getText());
-            assertTrue("Messasge is marked as redelivered" + result, !result.getJMSRedelivered());
+            _logger.info("Message 2 wasn't prefetched so wasn't rejected");
+            assertEquals("2", ((TextMessage) result).getText());            
+        }
 
-            result = _consumer.receive(1000);
-            assertNotNull("test message was consumed and rolled back, but is gone", result);
-            assertEquals("1", ((TextMessage) result).getText());
-            assertTrue("Messasge is not marked as redelivered" + result, result.getJMSRedelivered());
+        result = _consumer.receive(1000);
+        assertNotNull("test message was consumed and rolled back, but is gone", result);
+        assertTrue("Messasge is not marked as redelivered" + result, result.getJMSRedelivered());
 
-        }
         result = _consumer.receive(1000);
         assertNull("test message should be null:" + result, result);
+
+        _session.commit();
 
     }