You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gm...@apache.org on 2018/07/11 17:06:56 UTC
qpid-dispatch git commit: DISPATCH-1062 - Moved receiver phase
related test from multi-tenancy test to auto link test
Repository: qpid-dispatch
Updated Branches:
refs/heads/master a6c4b94b8 -> 0e6932fae
DISPATCH-1062 - Moved receiver phase related test from multi-tenancy test to auto link test
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/0e6932fa
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/0e6932fa
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/0e6932fa
Branch: refs/heads/master
Commit: 0e6932fae833898ab0f44addff17f5215cee5dd4
Parents: a6c4b94
Author: Ganesh Murthy <gm...@redhat.com>
Authored: Wed Jul 11 13:06:40 2018 -0400
Committer: Ganesh Murthy <gm...@redhat.com>
Committed: Wed Jul 11 13:06:40 2018 -0400
----------------------------------------------------------------------
tests/system_tests_autolinks.py | 112 +++++++++++++++++++++++++++++++
tests/system_tests_multi_tenancy.py | 70 -------------------
2 files changed, 112 insertions(+), 70 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/0e6932fa/tests/system_tests_autolinks.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_autolinks.py b/tests/system_tests_autolinks.py
index a74bcef..2a7244f 100644
--- a/tests/system_tests_autolinks.py
+++ b/tests/system_tests_autolinks.py
@@ -35,6 +35,118 @@ from qpid_dispatch.management.client import Node
CONNECTION_PROPERTIES = {u'connection': u'properties', u'int_property': 6451}
+class WaypointReceiverPhaseTest(TestCase):
+ inter_router_port = None
+
+ @classmethod
+ def router(cls, name, config):
+ config = Qdrouterd.Config(config)
+
+ cls.routers.append(cls.tester.qdrouterd(name, config, wait=True))
+
+ @classmethod
+ def setUpClass(cls):
+ super(WaypointReceiverPhaseTest, cls).setUpClass()
+
+ cls.routers = []
+
+ cls.inter_router_port = cls.tester.get_port()
+ cls.inter_router_port_1 = cls.tester.get_port()
+ cls.backup_port = cls.tester.get_port()
+ cls.backup_url = 'amqp://0.0.0.0:' + str(cls.backup_port)
+
+ WaypointReceiverPhaseTest.router('A', [
+ ('router', {'mode': 'interior', 'id': 'A'}),
+ ('listener', {'host': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port()}),
+ ('listener', {'host': '0.0.0.0', 'role': 'inter-router', 'port': cls.inter_router_port}),
+ ('autoLink', {'addr': '0.0.0.0/queue.ext', 'direction': 'in', 'externalAddr': 'EXT'}),
+ ('autoLink', {'addr': '0.0.0.0/queue.ext', 'direction': 'out', 'externalAddr': 'EXT'}),
+ ('address', {'prefix': '0.0.0.0/queue', 'waypoint': 'yes'}),
+
+ ])
+
+ WaypointReceiverPhaseTest.router('B',
+ [
+ ('router', {'mode': 'interior', 'id': 'B'}),
+ ('listener', {'host': '0.0.0.0', 'role': 'normal', 'port': cls.tester.get_port()}),
+ ('connector', {'name': 'connectorToB', 'role': 'inter-router',
+ 'port': cls.inter_router_port, 'verifyHostname': 'no'}),
+ ('address', {'prefix': '0.0.0.0/queue', 'waypoint': 'yes'}),
+ ])
+
+ cls.routers[1].wait_router_connected('A')
+
+ def test_two_router_waypoint_no_tenant_external_addr_phase(self):
+ """
+ Attaches two receiver each to one router with an autoLinked address and makes sure that the phase
+ on both receivers is set to 1
+ :return:
+ """
+ test = WaypointTest(self.routers[0].addresses[0], self.routers[1].addresses[0], "0.0.0.0/queue.ext")
+ test.run()
+ self.assertEqual(None, test.error)
+
+
+class WaypointTest(MessagingHandler):
+ def __init__(self, first_host, second_host, dest):
+ super(WaypointTest, self).__init__()
+ self.first_host = first_host
+ self.second_host = second_host
+ self.first_conn = None
+ self.second_conn = None
+ self.error = None
+ self.timer = None
+ self.receiver1 = None
+ self.receiver2 = None
+ self.dest = dest
+ self.receiver1_phase = False
+ self.receiver2_phase = False
+
+ def timeout(self):
+ self.error = "The phase on the receiver links were not set to 1"
+ self.first_conn.close()
+ self.second_conn.close()
+
+ def on_start(self, event):
+ self.timer = event.reactor.schedule(TIMEOUT, Timeout(self))
+ self.first_conn = event.container.connect(self.first_host)
+ self.second_conn = event.container.connect(self.second_host)
+ self.receiver1 = event.container.create_receiver(self.first_conn, self.dest, name="AAA")
+ self.receiver2 = event.container.create_receiver(self.second_conn, self.dest, name="BBB")
+
+ def on_link_opened(self, event):
+ if event.receiver == self.receiver1:
+ local_node = Node.connect(self.first_host, timeout=TIMEOUT)
+ out = local_node.query(type='org.apache.qpid.dispatch.router.link')
+ link_type_index = out.attribute_names.index('linkType')
+ link_dir_index = out.attribute_names.index('linkDir')
+ owning_addr_index = out.attribute_names.index('owningAddr')
+ link_name_index = out.attribute_names.index('linkName')
+
+ for result in out.results:
+ if result[link_type_index] == "endpoint" and result[link_dir_index] == "out" and result[link_name_index] == 'AAA' and result[owning_addr_index] == 'M10.0.0.0/queue.ext':
+ self.receiver1_phase = True
+ elif event.receiver == self.receiver2:
+ local_node = Node.connect(self.second_host, timeout=TIMEOUT)
+ out = local_node.query(type='org.apache.qpid.dispatch.router.link')
+ link_type_index = out.attribute_names.index('linkType')
+ link_dir_index = out.attribute_names.index('linkDir')
+ owning_addr_index = out.attribute_names.index('owningAddr')
+ link_name_index = out.attribute_names.index('linkName')
+
+ for result in out.results:
+ if result[link_type_index] == "endpoint" and result[link_dir_index] == "out" and result[link_name_index] == 'BBB' and result[owning_addr_index] == 'M10.0.0.0/queue.ext':
+ self.receiver2_phase = True
+
+ if self.receiver1_phase and self.receiver2_phase:
+ self.first_conn.close()
+ self.second_conn.close()
+ self.timer.cancel()
+
+ def run(self):
+ Container(self).run()
+
+
class AutolinkTest(TestCase):
"""System tests involving a single router"""
@classmethod
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/0e6932fa/tests/system_tests_multi_tenancy.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_multi_tenancy.py b/tests/system_tests_multi_tenancy.py
index a651c96..8ce34d9 100644
--- a/tests/system_tests_multi_tenancy.py
+++ b/tests/system_tests_multi_tenancy.py
@@ -464,16 +464,6 @@ class RouterTest(TestCase):
test.run()
self.assertEqual(None, test.error)
- def test_37_two_router_waypoint_no_tenant_external_addr_phase(self):
- """
- Attaches two receiver each to one router with an autoLinked address and makes sure that the phase
- on both receivers is set to 1
- :return:
- """
- test = WaypointReceiverPhaseTest(self.routers[0].addresses[0], self.routers[1].addresses[2], "0.0.0.0/queue.ext")
- test.run()
- self.assertEqual(None, test.error)
-
class Entity(object):
def __init__(self, status_code, status_description, attrs):
@@ -846,66 +836,6 @@ class LinkRouteTest(MessagingHandler):
container.run()
-class WaypointReceiverPhaseTest(MessagingHandler):
- def __init__(self, first_host, second_host, dest):
- super(WaypointReceiverPhaseTest, self).__init__()
- self.first_host = first_host
- self.second_host = second_host
- self.first_conn = None
- self.second_conn = None
- self.error = None
- self.timer = None
- self.receiver1 = None
- self.receiver2 = None
- self.dest = dest
- self.receiver1_phase = False
- self.receiver2_phase = False
-
- def timeout(self):
- self.error = "The phase on the receiver links were not set to 1"
- self.first_conn.close()
- self.second_conn.close()
-
- def on_start(self, event):
- self.timer = event.reactor.schedule(TIMEOUT, Timeout(self))
- self.first_conn = event.container.connect(self.first_host)
- self.second_conn = event.container.connect(self.second_host)
- self.receiver1 = event.container.create_receiver(self.first_conn, self.dest, name="AAA")
- self.receiver2 = event.container.create_receiver(self.second_conn, self.dest, name="BBB")
-
- def on_link_opened(self, event):
- if event.receiver == self.receiver1:
- local_node = Node.connect(self.first_host, timeout=TIMEOUT)
- out = local_node.query(type='org.apache.qpid.dispatch.router.link')
- link_type_index = out.attribute_names.index('linkType')
- link_dir_index = out.attribute_names.index('linkDir')
- owning_addr_index = out.attribute_names.index('owningAddr')
- link_name_index = out.attribute_names.index('linkName')
-
- for result in out.results:
- if result[link_type_index] == "endpoint" and result[link_dir_index] == "out" and result[link_name_index] == 'AAA' and result[owning_addr_index] == 'M10.0.0.0/queue.ext':
- self.receiver1_phase = True
- elif event.receiver == self.receiver2:
- local_node = Node.connect(self.second_host, timeout=TIMEOUT)
- out = local_node.query(type='org.apache.qpid.dispatch.router.link')
- link_type_index = out.attribute_names.index('linkType')
- link_dir_index = out.attribute_names.index('linkDir')
- owning_addr_index = out.attribute_names.index('owningAddr')
- link_name_index = out.attribute_names.index('linkName')
-
- for result in out.results:
- if result[link_type_index] == "endpoint" and result[link_dir_index] == "out" and result[link_name_index] == 'BBB' and result[owning_addr_index] == 'M10.0.0.0/queue.ext':
- self.receiver2_phase = True
-
- if self.receiver1_phase and self.receiver2_phase:
- self.first_conn.close()
- self.second_conn.close()
- self.timer.cancel()
-
- def run(self):
- Container(self).run()
-
-
class WaypointTest(MessagingHandler):
def __init__(self, first_host, second_host, first_address, second_address, container_id="ALC"):
super(WaypointTest, self).__init__()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org