diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2010-06-24 17:34:34 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2010-06-24 17:34:34 +0000 |
| commit | 8ebeb0ed934d9baae9ea72f9ad083605ecda315a (patch) | |
| tree | 653c6786ab2935015e3bdb89233765996fc55d66 /python/qpid/tests/messaging | |
| parent | c54e5f2960f37bf059ee9b1b0560b9f9706e67e0 (diff) | |
| download | qpid-python-8ebeb0ed934d9baae9ea72f9ad083605ecda315a.tar.gz | |
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
Diffstat (limited to 'python/qpid/tests/messaging')
| -rw-r--r-- | python/qpid/tests/messaging/endpoints.py | 27 |
1 files changed, 27 insertions, 0 deletions
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): |
