summaryrefslogtreecommitdiff
path: root/python/tests_0-10/message.py
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-10-04 12:46:42 +0000
committerGordon Sim <gsim@apache.org>2007-10-04 12:46:42 +0000
commit0fef8091470cb69f14bcbd3daee9f877eca37f3f (patch)
tree8f26b7476bc5ca8250e1bb967019b4a9f3eebad5 /python/tests_0-10/message.py
parent44c50b719e5685bd7a25cdeb9c5c9202ed8dc29a (diff)
downloadqpid-python-0fef8091470cb69f14bcbd3daee9f877eca37f3f.tar.gz
Added test for ordering of released messages
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@581880 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/tests_0-10/message.py')
-rw-r--r--python/tests_0-10/message.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/python/tests_0-10/message.py b/python/tests_0-10/message.py
index 967c03bbea..6931f83a6b 100644
--- a/python/tests_0-10/message.py
+++ b/python/tests_0-10/message.py
@@ -589,6 +589,30 @@ class MessageTests(TestBase):
#message should not have been removed from the queue:
self.assertEquals(1, channel.queue_query(queue = "q").message_count)
+ def test_release_ordering(self):
+ """
+ Test order of released messages is as expected
+ """
+ channel = self.channel
+ channel.queue_declare(queue = "q", exclusive=True)
+ for i in range (1, 11):
+ channel.message_transfer(content=Content(properties={'routing_key' : "q"}, body = "released message %s" % (i)))
+
+ channel.message_subscribe(queue = "q", destination = "a", confirm_mode = 1)
+ channel.message_flow(unit = 0, value = 10, destination = "a")
+ channel.message_flow(unit = 1, value = 0xFFFFFFFF, destination = "a")
+ queue = self.client.queue("a")
+ first = queue.get(timeout = 1)
+ for i in range (2, 10):
+ self.assertEquals("released message %s" % (i), queue.get(timeout = 1).content.body)
+ last = queue.get(timeout = 1)
+ self.assertEmpty(queue)
+ channel.message_release([first.command_id, last.command_id])
+ last.complete()#will re-allocate credit, as in window mode
+ for i in range (1, 11):
+ self.assertEquals("released message %s" % (i), queue.get(timeout = 1).content.body)
+
+
def assertDataEquals(self, channel, msg, expected):
self.assertEquals(expected, msg.content.body)