blob: dc6b9e8272c1da3daf90f4cd1836efdc6bd91fb2 [file] [log] [blame]
#!/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()