From 8ebeb0ed934d9baae9ea72f9ad083605ecda315a Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Thu, 24 Jun 2010 17:34:34 +0000 Subject: added full support for unreliable, at-least-once, and at-most-once reliability options git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@957644 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/tests/messaging/endpoints.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'python/qpid/tests') diff --git a/python/qpid/tests/messaging/endpoints.py b/python/qpid/tests/messaging/endpoints.py index 3133fe73cd..dce8d9b5ff 100644 --- a/python/qpid/tests/messaging/endpoints.py +++ b/python/qpid/tests/messaging/endpoints.py @@ -685,6 +685,33 @@ class ReceiverTests(Base): # XXX: need testUnsettled() + def unreliabilityTest(self, mode="unreliable"): + msgs = [self.message("testUnreliable", i) for i in range(3)] + snd = self.ssn.sender("test-unreliability-queue; {create: sender, delete: receiver}") + rcv = self.ssn.receiver(snd.target) + for m in msgs: + snd.send(m) + + # close without ack on reliable receiver, messages should be requeued + ssn = self.conn.session() + rrcv = ssn.receiver("test-unreliability-queue") + self.drain(rrcv, expected=msgs) + ssn.close() + + # close without ack on unreliable receiver, messages should not be requeued + ssn = self.conn.session() + urcv = ssn.receiver("test-unreliability-queue; {link: {reliability: %s}}" % mode) + self.drain(urcv, expected=msgs, redelivered=True) + ssn.close() + + self.assertEmpty(rcv) + + def testUnreliable(self): + self.unreliabilityTest(mode="unreliable") + + def testAtMostOnce(self): + self.unreliabilityTest(mode="at-most-once") + class AddressTests(Base): def setup_connection(self): -- cgit v1.2.1