summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2007-11-28 01:01:05 +0000
committerMartin Ritchie <ritchiem@apache.org>2007-11-28 01:01:05 +0000
commitea6f6edb7b4c7499de53ee6d24301f96f906d9df (patch)
tree2c472a4a1cb27b5af117ad8b54514c7af6db3d5b
parent0bda021568dda5c6d5a66de72f7b79567fbd40d9 (diff)
downloadqpid-python-ea6f6edb7b4c7499de53ee6d24301f96f906d9df.tar.gz
CommitRollbackTest - this one just was never right.. now we have something better.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1.1@598835 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java37
1 files changed, 12 insertions, 25 deletions
diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
index 3e2c027289..e45312448c 100644
--- a/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
+++ b/java/client/src/test/java/org/apache/qpid/test/unit/transacted/CommitRollbackTest.java
@@ -418,14 +418,14 @@ public class CommitRollbackTest extends TestCase
{
_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 @@ public class CommitRollbackTest extends TestCase
* 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 @@ public class CommitRollbackTest extends TestCase
assertTrue("Messasge is marked as redelivered" + result, !result.getJMSRedelivered());
_logger.info("Closing Consumer");
- _session.rollback();
+
_consumer.close();
_logger.info("Creating New consumer");
@@ -466,33 +466,20 @@ public class CommitRollbackTest extends TestCase
_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);