#!/usr/bin/env python # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # from common import * policy_file = join(BUILD_DIR, "src", "tests", "policy.acl") broker_args = "--acl-file {0}".format(policy_file) broker_port = start_broker("broker", broker_args, "--log-enable debug+:acl") broker_i_port = start_broker("broker_i", broker_args, "--connection-limit-per-ip 2") broker_u_port = start_broker("broker_u", broker_args, "--connection-limit-per-user 2") broker_q_port = start_broker("broker_q", broker_args, "--max-queues-per-user 2") run_broker_tests(broker_port, "-m acl", "-Dport-i={0}".format(broker_i_port), "-Dport-u={0}".format(broker_u_port), "-Dport-q={0}".format(broker_q_port), "-Dpolicy-file={0}".format(policy_file)) # Test interaction of authentication and link creation broker_1_port = start_broker("broker_1") broker_2_port = start_broker("broker_2") configure_broker(broker_1_port, "add exchange topic fed.topic") configure_broker(broker_2_port, "add exchange topic fed.topic") connect_brokers("dynamic add", "localhost:{0}".format(broker_1_port), "localhost:{0}".format(broker_2_port), "fed.topic") sasl_config_dir = join(BUILD_DIR, "src", "tests", "sasl_config") broker_args = "--auth yes --sasl-config {0}".format(sasl_config_dir) broker_3_port = start_broker("broker_3", broker_args, auth_disabled=False) broker_4_port = start_broker("broker_4", broker_args, auth_disabled=False) configure_broker(broker_3_port, "add exchange topic fed.topic") configure_broker(broker_4_port, "add exchange topic fed.topic") try: connect_brokers("dynamic add", "localhost:{0}".format(broker_3_port), "localhost:{0}".format(broker_4_port), "fed.topic") fail("Broker with no ACLs but auth enabled did not deny link creation") except: pass check_results()