summaryrefslogtreecommitdiff
path: root/qpid/extras/dispatch/tests
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2013-09-05 21:46:14 +0000
committerTed Ross <tross@apache.org>2013-09-05 21:46:14 +0000
commit3b6c1b687d371e036f41419cbb51a5127c1ffded (patch)
tree3119c3578a102e9e8da759c0c09ed49419126ee1 /qpid/extras/dispatch/tests
parentf57e0169b389ce053e23c3ae75606b1220411926 (diff)
downloadqpid-python-3b6c1b687d371e036f41419cbb51a5127c1ffded.tar.gz
QPID-5068 - Beefed up the the annotation test and fixed an additional exposed bug.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1520435 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/extras/dispatch/tests')
-rw-r--r--qpid/extras/dispatch/tests/system_tests_one_router.py63
1 files changed, 61 insertions, 2 deletions
diff --git a/qpid/extras/dispatch/tests/system_tests_one_router.py b/qpid/extras/dispatch/tests/system_tests_one_router.py
index ee9b8a2472..a952195785 100644
--- a/qpid/extras/dispatch/tests/system_tests_one_router.py
+++ b/qpid/extras/dispatch/tests/system_tests_one_router.py
@@ -275,8 +275,65 @@ class RouterTest(unittest.TestCase):
rm = Message()
tm.address = addr
- tm.instructions = {'qdx.trace' : []}
+
+ ##
+ ## No inbound delivery annotations
+ ##
+ for i in range(10):
+ tm.body = {'number': i}
+ M1.put(tm)
+ M1.send()
+
+ for i in range(10):
+ M2.recv(1)
+ M2.get(rm)
+ self.assertEqual(i, rm.body['number'])
+ da = rm.instructions
+ self.assertEqual(da.__class__, dict)
+ self.assertEqual(da['qdx.ingress'], 'Qpid.Dispatch.Router.A')
+ self.assertFalse('qdx.trace' in da)
+
+ ##
+ ## Pre-existing ingress
+ ##
+ tm.instructions = {'qdx.ingress': 'ingress-router'}
+ for i in range(10):
+ tm.body = {'number': i}
+ M1.put(tm)
+ M1.send()
+
+ for i in range(10):
+ M2.recv(1)
+ M2.get(rm)
+ self.assertEqual(i, rm.body['number'])
+ da = rm.instructions
+ self.assertEqual(da.__class__, dict)
+ self.assertEqual(da['qdx.ingress'], 'ingress-router')
+ self.assertFalse('qdx.trace' in da)
+
+ ##
+ ## Invalid trace type
+ ##
+ tm.instructions = {'qdx.trace' : 45}
+ for i in range(10):
+ tm.body = {'number': i}
+ M1.put(tm)
+ M1.send()
+
+ for i in range(10):
+ M2.recv(1)
+ M2.get(rm)
+ self.assertEqual(i, rm.body['number'])
+ da = rm.instructions
+ self.assertEqual(da.__class__, dict)
+ self.assertEqual(da['qdx.ingress'], 'Qpid.Dispatch.Router.A')
+ self.assertFalse('qdx.trace' in da)
+
+ ##
+ ## Empty trace
+ ##
+ tm.instructions = {'qdx.trace' : []}
for i in range(10):
tm.body = {'number': i}
M1.put(tm)
@@ -291,8 +348,10 @@ class RouterTest(unittest.TestCase):
self.assertEqual(da['qdx.ingress'], 'Qpid.Dispatch.Router.A')
self.assertEqual(da['qdx.trace'], ['Qpid.Dispatch.Router.A'])
+ ##
+ ## Non-empty trace
+ ##
tm.instructions = {'qdx.trace' : ['first.hop']}
-
for i in range(10):
tm.body = {'number': i}
M1.put(tm)