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 | 0bde4bed715b57c971b7be594f66953e731a2a00 (patch) | |
tree | 03ed5d62a620124c9f854694ac4eabd12b797fdb /tests | |
parent | 57208a0fe53211efd075cf77baae79a36e7e71f0 (diff) | |
download | qpid-python-0bde4bed715b57c971b7be594f66953e731a2a00.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/qpid@1074697 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/py/qpid_tests/broker_0_10/extensions.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/src/py/qpid_tests/broker_0_10/extensions.py b/tests/src/py/qpid_tests/broker_0_10/extensions.py index 26ea3cb0e9..d9eeb8d1ea 100644 --- a/tests/src/py/qpid_tests/broker_0_10/extensions.py +++ b/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"}) |