def setUp(self): config = { "transport_names": [ "transport_1", "transport_2", "transport_3", ], "exposed_names": ["muxed"], "router_class": "vumi.dispatchers.base.FromAddrMultiplexRouter", "fromaddr_mappings": { "thing1@muxme": "transport_1", "thing2@muxme": "transport_2", "thing3@muxme": "transport_3", }, } self.dispatcher = DummyDispatcher(config) self.router = FromAddrMultiplexRouter(self.dispatcher, config)
def setUp(self): config = { "transport_names": [ "transport_1", "transport_2", "transport_3", ], "exposed_names": ["muxed"], "router_class": "vumi.dispatchers.base.FromAddrMultiplexRouter", "fromaddr_mappings": { "thing1@muxme": "transport_1", "thing2@muxme": "transport_2", "thing3@muxme": "transport_3", }, } self.dispatcher = DummyDispatcher(config) self.router = FromAddrMultiplexRouter(self.dispatcher, config) self.add_cleanup(self.router.teardown_routing) yield self.router.setup_routing() self.msg_helper = self.add_helper(MessageHelper())
class TestFromAddrMultiplexRouter(TestCase, MessageMakerMixIn): def setUp(self): config = { "transport_names": [ "transport_1", "transport_2", "transport_3", ], "exposed_names": ["muxed"], "router_class": "vumi.dispatchers.base.FromAddrMultiplexRouter", "fromaddr_mappings": { "thing1@muxme": "transport_1", "thing2@muxme": "transport_2", "thing3@muxme": "transport_3", }, } self.dispatcher = DummyDispatcher(config) self.router = FromAddrMultiplexRouter(self.dispatcher, config) def mkmsg_in_mux(self, content, from_addr, transport_name): return self.mkmsg_in( transport_name, content=content, from_addr=from_addr) def mkmsg_ack_mux(self, from_addr, transport_name): return self.mkmsg_ack( transport_name, from_addr=from_addr) def mkmsg_out_mux(self, content, from_addr): return self.mkmsg_out( 'muxed', content=content, from_addr=from_addr) def test_inbound_message_routing(self): msg1 = self.mkmsg_in_mux('mux 1', 'thing1@muxme', 'transport_1') self.router.dispatch_inbound_message(msg1) msg2 = self.mkmsg_in_mux('mux 2', 'thing2@muxme', 'transport_2') self.router.dispatch_inbound_message(msg2) publishers = self.dispatcher.exposed_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_inbound_event_routing(self): msg1 = self.mkmsg_ack_mux('thing1@muxme', 'transport_1') self.router.dispatch_inbound_event(msg1) msg2 = self.mkmsg_ack_mux('thing2@muxme', 'transport_2') self.router.dispatch_inbound_event(msg2) publishers = self.dispatcher.exposed_event_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_outbound_message_routing(self): msg1 = self.mkmsg_out_mux('mux 1', 'thing1@muxme') self.router.dispatch_outbound_message(msg1) msg2 = self.mkmsg_out_mux('mux 2', 'thing2@muxme') self.router.dispatch_outbound_message(msg2) publishers = self.dispatcher.transport_publisher self.assertEqual(publishers['transport_1'].msgs, [msg1]) self.assertEqual(publishers['transport_2'].msgs, [msg2])
class TestFromAddrMultiplexRouter(VumiTestCase): @inlineCallbacks def setUp(self): config = { "transport_names": [ "transport_1", "transport_2", "transport_3", ], "exposed_names": ["muxed"], "router_class": "vumi.dispatchers.base.FromAddrMultiplexRouter", "fromaddr_mappings": { "thing1@muxme": "transport_1", "thing2@muxme": "transport_2", "thing3@muxme": "transport_3", }, } self.dispatcher = DummyDispatcher(config) self.router = FromAddrMultiplexRouter(self.dispatcher, config) self.add_cleanup(self.router.teardown_routing) yield self.router.setup_routing() self.msg_helper = self.add_helper(MessageHelper()) def make_inbound_mux(self, content, from_addr, transport_name): return self.msg_helper.make_inbound(content, transport_name=transport_name, from_addr=from_addr) def make_ack_mux(self, from_addr, transport_name): return self.msg_helper.make_ack(transport_name=transport_name, from_addr=from_addr) def make_outbound_mux(self, content, from_addr): return self.msg_helper.make_outbound(content, transport_name='muxed', from_addr=from_addr) def test_inbound_message_routing(self): msg1 = self.make_inbound_mux('mux 1', 'thing1@muxme', 'transport_1') self.router.dispatch_inbound_message(msg1) msg2 = self.make_inbound_mux('mux 2', 'thing2@muxme', 'transport_2') self.router.dispatch_inbound_message(msg2) publishers = self.dispatcher.exposed_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_inbound_event_routing(self): msg1 = self.make_ack_mux('thing1@muxme', 'transport_1') self.router.dispatch_inbound_event(msg1) msg2 = self.make_ack_mux('thing2@muxme', 'transport_2') self.router.dispatch_inbound_event(msg2) publishers = self.dispatcher.exposed_event_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_outbound_message_routing(self): msg1 = self.make_outbound_mux('mux 1', 'thing1@muxme') self.router.dispatch_outbound_message(msg1) msg2 = self.make_outbound_mux('mux 2', 'thing2@muxme') self.router.dispatch_outbound_message(msg2) publishers = self.dispatcher.transport_publisher self.assertEqual(publishers['transport_1'].msgs, [msg1]) self.assertEqual(publishers['transport_2'].msgs, [msg2])
class TestFromAddrMultiplexRouter(VumiTestCase): @inlineCallbacks def setUp(self): config = { "transport_names": [ "transport_1", "transport_2", "transport_3", ], "exposed_names": ["muxed"], "router_class": "vumi.dispatchers.base.FromAddrMultiplexRouter", "fromaddr_mappings": { "thing1@muxme": "transport_1", "thing2@muxme": "transport_2", "thing3@muxme": "transport_3", }, } self.dispatcher = DummyDispatcher(config) self.router = FromAddrMultiplexRouter(self.dispatcher, config) self.add_cleanup(self.router.teardown_routing) yield self.router.setup_routing() self.msg_helper = self.add_helper(MessageHelper()) def make_inbound_mux(self, content, from_addr, transport_name): return self.msg_helper.make_inbound( content, transport_name=transport_name, from_addr=from_addr) def make_ack_mux(self, from_addr, transport_name): return self.msg_helper.make_ack( transport_name=transport_name, from_addr=from_addr) def make_outbound_mux(self, content, from_addr): return self.msg_helper.make_outbound( content, transport_name='muxed', from_addr=from_addr) def test_inbound_message_routing(self): msg1 = self.make_inbound_mux('mux 1', 'thing1@muxme', 'transport_1') self.router.dispatch_inbound_message(msg1) msg2 = self.make_inbound_mux('mux 2', 'thing2@muxme', 'transport_2') self.router.dispatch_inbound_message(msg2) publishers = self.dispatcher.exposed_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_inbound_event_routing(self): msg1 = self.make_ack_mux('thing1@muxme', 'transport_1') self.router.dispatch_inbound_event(msg1) msg2 = self.make_ack_mux('thing2@muxme', 'transport_2') self.router.dispatch_inbound_event(msg2) publishers = self.dispatcher.exposed_event_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_outbound_message_routing(self): msg1 = self.make_outbound_mux('mux 1', 'thing1@muxme') self.router.dispatch_outbound_message(msg1) msg2 = self.make_outbound_mux('mux 2', 'thing2@muxme') self.router.dispatch_outbound_message(msg2) publishers = self.dispatcher.transport_publisher self.assertEqual(publishers['transport_1'].msgs, [msg1]) self.assertEqual(publishers['transport_2'].msgs, [msg2])
class TestFromAddrMultiplexRouter(TestCase, MessageMakerMixIn): def setUp(self): config = { "transport_names": [ "transport_1", "transport_2", "transport_3", ], "exposed_names": ["muxed"], "router_class": "vumi.dispatchers.base.FromAddrMultiplexRouter", "fromaddr_mappings": { "thing1@muxme": "transport_1", "thing2@muxme": "transport_2", "thing3@muxme": "transport_3", }, } self.dispatcher = DummyDispatcher(config) self.router = FromAddrMultiplexRouter(self.dispatcher, config) def mkmsg_in_mux(self, content, from_addr, transport_name): return self.mkmsg_in(transport_name, content=content, from_addr=from_addr) def mkmsg_ack_mux(self, from_addr, transport_name): return self.mkmsg_ack(transport_name, from_addr=from_addr) def mkmsg_out_mux(self, content, from_addr): return self.mkmsg_out('muxed', content=content, from_addr=from_addr) def test_inbound_message_routing(self): msg1 = self.mkmsg_in_mux('mux 1', 'thing1@muxme', 'transport_1') self.router.dispatch_inbound_message(msg1) msg2 = self.mkmsg_in_mux('mux 2', 'thing2@muxme', 'transport_2') self.router.dispatch_inbound_message(msg2) publishers = self.dispatcher.exposed_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_inbound_event_routing(self): msg1 = self.mkmsg_ack_mux('thing1@muxme', 'transport_1') self.router.dispatch_inbound_event(msg1) msg2 = self.mkmsg_ack_mux('thing2@muxme', 'transport_2') self.router.dispatch_inbound_event(msg2) publishers = self.dispatcher.exposed_event_publisher self.assertEqual(publishers['muxed'].msgs, [msg1, msg2]) def test_outbound_message_routing(self): msg1 = self.mkmsg_out_mux('mux 1', 'thing1@muxme') self.router.dispatch_outbound_message(msg1) msg2 = self.mkmsg_out_mux('mux 2', 'thing2@muxme') self.router.dispatch_outbound_message(msg2) publishers = self.dispatcher.transport_publisher self.assertEqual(publishers['transport_1'].msgs, [msg1]) self.assertEqual(publishers['transport_2'].msgs, [msg2])