Repository: qpid-dispatch Updated Branches: refs/heads/master d6544153e -> 94be97fa5
DISPATCH-1145 - Added mobile address tests for edge router Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/94be97fa Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/94be97fa Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/94be97fa Branch: refs/heads/master Commit: 94be97fa5ab2742a05e3d3f9a245cb1588f7a3c4 Parents: d654415 Author: Ted Ross <[email protected]> Authored: Mon Oct 15 15:43:22 2018 -0400 Committer: Ted Ross <[email protected]> Committed: Mon Oct 15 15:43:22 2018 -0400 ---------------------------------------------------------------------- tests/system_tests_edge_router.py | 82 ++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/94be97fa/tests/system_tests_edge_router.py ---------------------------------------------------------------------- diff --git a/tests/system_tests_edge_router.py b/tests/system_tests_edge_router.py index 1a70f2f..803ba6d 100644 --- a/tests/system_tests_edge_router.py +++ b/tests/system_tests_edge_router.py @@ -131,6 +131,45 @@ class RouterTest(TestCase): test.run() self.assertEqual(None, test.error) + def test_10_mobile_address_same_edge(self): + test = MobileAddressTest(self.routers[2].addresses[0], + self.routers[2].addresses[0], + "test_10") + test.run() + self.assertEqual(None, test.error) + + def test_11_mobile_address_interior_to_edge(self): + self.skipTest("Temporarily disabled") + test = MobileAddressTest(self.routers[2].addresses[0], + self.routers[0].addresses[0], + "test_11") + test.run() + self.assertEqual(None, test.error) + + def test_12_mobile_address_edge_to_interior(self): + self.skipTest("Temporarily disabled") + test = MobileAddressTest(self.routers[0].addresses[0], + self.routers[2].addresses[0], + "test_12") + test.run() + self.assertEqual(None, test.error) + + def test_13_mobile_address_edge_to_edge_one_interior(self): + self.skipTest("Temporarily disabled") + test = MobileAddressTest(self.routers[2].addresses[0], + self.routers[3].addresses[0], + "test_13") + test.run() + self.assertEqual(None, test.error) + + def test_14_mobile_address_edge_to_edge_two_interior(self): + self.skipTest("Temporarily disabled") + test = MobileAddressTest(self.routers[2].addresses[0], + self.routers[4].addresses[0], + "test_14") + test.run() + self.assertEqual(None, test.error) + class Entity(object): def __init__(self, status_code, status_description, body): @@ -286,5 +325,48 @@ class DynamicAddressTest(MessagingHandler): Container(self).run() +class MobileAddressTest(MessagingHandler): + def __init__(self, receiver_host, sender_host, address): + super(MobileAddressTest, self).__init__() + self.receiver_host = receiver_host + self.sender_host = sender_host + self.address = address + + self.receiver_conn = None + self.sender_conn = None + self.receiver = None + self.count = 10 + self.n_rcvd = 0 + self.n_sent = 0 + self.error = None + + def timeout(self): + self.error = "Timeout Expired - n_sent=%d n_rcvd=%d addr=%s" % (self.n_sent, self.n_rcvd, self.address) + self.receiver_conn.close() + self.sender_conn.close() + + def on_start(self, event): + self.timer = event.reactor.schedule(5.0, Timeout(self)) + self.receiver_conn = event.container.connect(self.receiver_host) + self.sender_conn = event.container.connect(self.sender_host) + self.receiver = event.container.create_receiver(self.receiver_conn, self.address) + self.sender = event.container.create_sender(self.sender_conn, self.address) + + def on_sendable(self, event): + while self.n_sent < self.count: + self.sender.send(Message(body="Message %d" % self.n_sent)) + self.n_sent += 1 + + def on_message(self, event): + self.n_rcvd += 1 + if self.n_rcvd == self.count: + self.receiver_conn.close() + self.sender_conn.close() + self.timer.cancel() + + def run(self): + Container(self).run() + + if __name__ == '__main__': unittest.main(main_module()) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
