diff options
| author | Gordon Sim <gsim@apache.org> | 2011-02-25 20:52:17 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2011-02-25 20:52:17 +0000 |
| commit | 45a44737a2323ec1fa722305eb2c9e04ed2b0850 (patch) | |
| tree | 9f293c7aa9aae230efcff5a53d3fc63c84466512 /qpid/tests/src | |
| parent | 914e59bab342c08b9ba14b8187b6c954068b559d (diff) | |
| download | qpid-python-45a44737a2323ec1fa722305eb2c9e04ed2b0850.tar.gz | |
QPID-3087: fail rather than ignoring attempts to declare queues with bad arguments; ensure qpid-config can deal with different types of argument.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1074697 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/tests/src')
| -rw-r--r-- | qpid/tests/src/py/qpid_tests/broker_0_10/extensions.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/qpid/tests/src/py/qpid_tests/broker_0_10/extensions.py b/qpid/tests/src/py/qpid_tests/broker_0_10/extensions.py index 26ea3cb0e9..d9eeb8d1ea 100644 --- a/qpid/tests/src/py/qpid_tests/broker_0_10/extensions.py +++ b/qpid/tests/src/py/qpid_tests/broker_0_10/extensions.py @@ -20,6 +20,7 @@ from qpid.client import Client, Closed from qpid.queue import Empty from qpid.content import Content from qpid.testlib import TestBase010 +from qpid.session import SessionException from time import sleep class ExtensionTests(TestBase010): @@ -35,3 +36,50 @@ class ExtensionTests(TestBase010): sleep(5) result = session.queue_query(queue="my-queue") self.assert_(not result.queue) + + def valid_policy_args(self, args, name="test-queue"): + try: + self.session.queue_declare(queue=name, arguments=args) + self.session.queue_delete(queue=name) # cleanup + except SessionException, e: + self.fail("declare with valid policy args failed: %s" % (args)) + self.session = self.conn.session("replacement", 2) + + def invalid_policy_args(self, args, name="test-queue"): + # go through invalid declare attempts twice to make sure that + # the queue doesn't actually get created first time around + # even if exception is thrown + for i in range(1, 3): + try: + self.session.queue_declare(queue=name, arguments=args) + #self.session.queue_delete(queue=name) # cleanup + self.fail("declare with invalid policy args suceeded: %s (iteration %d)" % (args, i)) + except SessionException, e: + self.session = self.conn.session("replacement", 2) + + def test_policy_max_size_as_valid_string(self): + self.valid_policy_args({"qpid.max_size":"3"}) + + def test_policy_max_count_as_valid_string(self): + self.valid_policy_args({"qpid.max_count":"3"}) + + def test_policy_max_count_and_size_as_valid_strings(self): + self.valid_policy_args({"qpid.max_count":"3","qpid.max_size":"0"}) + + def test_policy_negative_count(self): + self.invalid_policy_args({"qpid.max_count":-1}) + + def test_policy_negative_size(self): + self.invalid_policy_args({"qpid.max_size":-1}) + + def test_policy_size_as_invalid_string(self): + self.invalid_policy_args({"qpid.max_size":"foo"}) + + def test_policy_count_as_invalid_string(self): + self.invalid_policy_args({"qpid.max_count":"foo"}) + + def test_policy_size_as_float(self): + self.invalid_policy_args({"qpid.max_size":3.14159}) + + def test_policy_count_as_float(self): + self.invalid_policy_args({"qpid.max_count":"2222222.22222"}) |
