diff options
Diffstat (limited to 'cpp/src/tests/acl.py')
-rwxr-xr-x | cpp/src/tests/acl.py | 89 |
1 files changed, 30 insertions, 59 deletions
diff --git a/cpp/src/tests/acl.py b/cpp/src/tests/acl.py index 0cae148769..b62288a769 100755 --- a/cpp/src/tests/acl.py +++ b/cpp/src/tests/acl.py @@ -23,36 +23,10 @@ import qpid from qpid.util import connect from qpid.connection import Connection from qpid.datatypes import uuid4 -from qpid.testlib import TestBase010, testrunner +from qpid.testlib import TestBase010 from qmf.console import Session from qpid.datatypes import Message -def scan_args(name, default=None, args=sys.argv[1:]): - if (name in args): - pos = args.index(name) - return args[pos + 1] - elif default: - return default - else: - print "Please specify extra argument: %s" % name - sys.exit(2) - -def extract_args(name, args): - if (name in args): - pos = args.index(name) - del args[pos:pos+2] - else: - return None - -def get_broker_port(): - return scan_args("--port", "5672") - -def get_session(user, passwd): - socket = connect('127.0.0.1', int(get_broker_port())) - connection = Connection (sock=socket, username=user, password=passwd) - connection.start() - return connection.session(str(uuid4())) - class ACLFile: def __init__(self): self.f = open('data_dir/policy.acl','w'); @@ -65,6 +39,12 @@ class ACLFile: class ACLTests(TestBase010): + def get_session(self, user, passwd): + socket = connect(self.broker.host, self.broker.port) + connection = Connection (sock=socket, username=user, password=passwd) + connection.start() + return connection.session(str(uuid4())) + def reload_acl(self): acl = self.qmf.getObjects(_class="acl")[0] return acl.reloadACLFile() @@ -93,7 +73,7 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_declare(queue="deny_queue") except qpid.session.SessionException, e: @@ -118,7 +98,7 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_declare(queue="allow_queue") except qpid.session.SessionException, e: @@ -146,7 +126,7 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_declare(queue="allow_queue") except qpid.session.SessionException, e: @@ -243,21 +223,21 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_declare(queue="q1", durable='true', passive='true') self.fail("ACL should deny queue create request with name=q1 durable=true passive=true"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_declare(queue="q2", exclusive='true') self.fail("ACL should deny queue create request with name=q2 exclusive=true"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_declare(queue="q3", exclusive='true') @@ -271,14 +251,14 @@ class ACLTests(TestBase010): self.fail("ACL should deny queue query request for q3"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_purge(queue="q3") self.fail("ACL should deny queue purge request for q3"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_purge(queue="q4") @@ -291,7 +271,7 @@ class ACLTests(TestBase010): self.fail("ACL should deny queue delete request for q4"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.queue_delete(queue="q3") @@ -319,21 +299,21 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_declare(exchange='testEx', durable='true', passive='true') self.fail("ACL should deny exchange create request with name=testEx durable=true passive=true"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_declare(exchange='ex1', type='direct') self.fail("ACL should deny exchange create request with name=ex1 type=direct"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_declare(exchange='myXml', type='direct') @@ -347,14 +327,14 @@ class ACLTests(TestBase010): self.fail("ACL should deny queue query request for q3"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_bind(exchange='myEx', queue='q1', binding_key='rk1') self.fail("ACL should deny exchange bind request with exchange='myEx' queuename='q1' bindingkey='rk1'"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_bind(exchange='myXml', queue='q1', binding_key='x') @@ -366,7 +346,7 @@ class ACLTests(TestBase010): self.fail("ACL should deny exchange unbind request with exchange='myEx' queuename='q1' bindingkey='rk1'"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_unbind(exchange='myXml', queue='q1', binding_key='x') @@ -379,7 +359,7 @@ class ACLTests(TestBase010): self.fail("ACL should deny exchange delete request for myEx"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_delete(exchange='myXml') @@ -404,7 +384,7 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: @@ -420,14 +400,14 @@ class ACLTests(TestBase010): self.fail("ACL should deny message subscriber request for queue='q1'"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.message_subscribe(queue='q2', destination='myq1') self.fail("ACL should deny message subscriber request for queue='q2'"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.message_subscribe(queue='q3', destination='myq1') @@ -453,7 +433,7 @@ class ACLTests(TestBase010): self.reload_acl() - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.exchange_declare(exchange='myEx', type='topic') @@ -468,14 +448,14 @@ class ACLTests(TestBase010): self.fail("ACL should deny message transfer to name=amq.direct routingkey=rk1"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.message_transfer(destination="amq.topic", message=Message(props,"Test")) self.fail("ACL should deny message transfer to name=amq.topic"); except qpid.session.SessionException, e: self.assertEqual(530,e.args[0].error_code) - session = get_session('bob','bob') + session = self.get_session('bob','bob') try: session.message_transfer(destination="myEx", message=Message(props,"Test")) @@ -489,13 +469,4 @@ class ACLTests(TestBase010): session.message_transfer(destination="amq.direct", message=Message(props,"Test")) except qpid.session.SessionException, e: if (530 == e.args[0].error_code): - self.fail("ACL should allow message transfer to exchange amq.direct"); - - -if __name__ == '__main__': - args = sys.argv[1:] - #need to remove the extra options from args as test runner doesn't recognize them - extract_args("--port", args) - args.append("acl") - - if not testrunner.run(args): sys.exit(1) + self.fail("ACL should allow message transfer to exchange amq.direct"); |