diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2011-03-17 13:03:08 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2011-03-17 13:03:08 +0000 |
| commit | fa356bee994518e9f196be596199b5d518c048c8 (patch) | |
| tree | 21a3cda37d453e399e57f77116c3cb21c56791ae /python/qpid/messaging | |
| parent | 887da9b9cbe998b94563ad63be56eae4379e4d0a (diff) | |
| download | qpid-python-fa356bee994518e9f196be596199b5d518c048c8.tar.gz | |
added support for address assertion
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1082478 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/messaging')
| -rw-r--r-- | python/qpid/messaging/driver.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py index 1323e4185c..67b0ff909d 100644 --- a/python/qpid/messaging/driver.py +++ b/python/qpid/messaging/driver.py @@ -930,6 +930,7 @@ class Engine: def resolve_declare(self, sst, lnk, dir, action): declare = lnk.options.get("create") in ("always", dir) + assrt = lnk.options.get("assert") in ("always", dir) def do_resolved(type, subtype): err = None if type is None: @@ -938,7 +939,12 @@ class Engine: else: err = NotFound(text="no such queue: %s" % lnk.name) else: - action(type, subtype) + if assrt: + expected = lnk.options.get("node", {}).get("type") + if type != expected: + err = AssertionFailed(text="expected %s, got %s" % (expected, type)) + if err is None: + action(type, subtype) if err: tgt = lnk.target |
