Author: ritchiem
Date: Tue Nov 27 17:01:05 2007
New Revision: 598835

URL: http://svn.apache.org/viewvc?rev=598835&view=rev
Log:
CommitRollbackTest - this one just was never right.. now we have something 
better.

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

Modified: 
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java?rev=598835&r1=598834&r2=598835&view=diff
==============================================================================
--- 
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
 (original)
+++ 
incubator/qpid/branches/M2.1.1/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
 Tue Nov 27 17:01:05 2007
@@ -418,14 +418,14 @@
             {
                 _logger.info("Got 2 redelivered, message was prefetched");
                 _gottwoRedelivered = true;
-                
+
             }
             else
             {
-                _logger.warn("Got 2, message prefetched wasn't cleared or 
messages was in transit when rollback occured");                
+                _logger.warn("Got 2, message prefetched wasn't cleared or 
messages was in transit when rollback occured");
                 assertFalse("Already received message two", _gottwo);
                 assertFalse("Already received message redelivered two", 
_gottwoRedelivered);
-                
+
                 _gottwo = true;
             }
         }
@@ -437,7 +437,7 @@
      * This test sends two messages receives on of them but doesn't ack it.
      * The consumer is then closed
      * the first message should be returned as redelivered.
-     *  the second message should be delivered normally. 
+     *  the second message should be delivered normally.
      * @throws Exception
      */
     public void testSend2ThenCloseAfter1andTryAgain() throws Exception
@@ -458,7 +458,7 @@
         assertTrue("Messasge is marked as redelivered" + result, 
!result.getJMSRedelivered());
 
         _logger.info("Closing Consumer");
-        _session.rollback();
+        
         _consumer.close();
 
         _logger.info("Creating New consumer");
@@ -466,32 +466,19 @@
 
         _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(5000);
-        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())
-        {
-            assertTrue("Messasge is not marked as redelivered" + result, 
result.getJMSRedelivered());
-        }
-        else // or it will be msg 2 arriving the first time due to latency.
-        {
-            _logger.info("Message 2 wasn't prefetched so wasn't rejected");
-            assertEquals("2", ((TextMessage) result).getText());
-        }
+        // Message 2 may be marked as redelivered if it was prefetched.
+        result = _consumer.receive(5000);
+        assertNotNull("Second message was not consumed, but is gone", result);
 
-        Message result2 = _consumer.receive(5000);
-        assertNotNull("test message was consumed and rolled back, but is 
gone", result2);
+        // The first message back will be 2, message 1 has been received but 
not committed
+        // Closing the consumer does not commit the session.
 
         // if this is message 1 then it should be marked as redelivered
-        if("1".equals(((TextMessage) result2).getText()))
+        if("1".equals(((TextMessage) result).getText()))
         {
-            assertTrue("Messasge is not marked as redelivered" + result2, 
result2.getJMSRedelivered());
+            fail("First message was recieved again");
         }
-
-        assertNotSame("Messages should not have the same 
content",((TextMessage) result2).getText(), ((TextMessage) result).getText() );
 
         result = _consumer.receive(1000);
         assertNull("test message should be null:" + result, result);


Reply via email to