def test_router_aliasing(self): """ The router will try to re-use existing adapter instances. """ wrapper1 = RoutingWrapper('http://localhost:14265') adapter_default = wrapper1.adapter # The router will try to minimize the number of adapter instances # that it creates from URIs. wrapper1\ .add_route('alpha', 'http://localhost:14265')\ .add_route('bravo', 'http://localhost:14265')\ # Two routes with the same URI => same adapter instance. self.assertIs( wrapper1.get_adapter('bravo'), wrapper1.get_adapter('alpha'), ) # "127.0.0.1" != "localhost", so separate adapters created. wrapper1.add_route('charlie', 'http://127.0.0.1:14265') self.assertIsNot( wrapper1.get_adapter('charlie'), wrapper1.get_adapter('alpha'), ) # Providing an adapter instance bypasses the whole setup. wrapper1.add_route('delta', HttpAdapter('http://localhost:14265')) self.assertIsNot( wrapper1.get_adapter('delta'), wrapper1.get_adapter('alpha'), ) # The default adapter is always kept separate, even if it URI # matches a routing adapter. self.assertIsNot( wrapper1.get_adapter('foo'), wrapper1.get_adapter('alpha'), ) # Aliased adapters are not shared between routers. wrapper2 = RoutingWrapper(adapter_default) wrapper2.add_route('echo', 'http://localhost:14265') self.assertIsNot( wrapper2.get_adapter('echo'), wrapper1.get_adapter('alpha'), )
def test_router_aliasing(self): """ The router will try to re-use existing adapter instances. """ wrapper1 = RoutingWrapper('http://localhost:14265') print_var_type_n_val(var001 = wrapper1, pointer = "#2345trezGH-(")#2345trezGH-( # Value: # # <iota.adapter.wrappers.RoutingWrapper object at 0x0000024C271B17B8> # Type: <class 'iota.adapter.wrappers.RoutingWrapper'> adapter_default = wrapper1.adapter print_var_type_n_val(var001 = adapter_default, pointer = "#SDFGnbvc1234098QSDnbe")#SDFGnbvc1234098QSDnbe # Value: # # <iota.adapter.HttpAdapter object at 0x0000024C25E7AB70> # Type: <class 'iota.adapter.HttpAdapter'> # The router will try to minimize the number of adapter instances # that it creates from URIs. wrapper1\ .add_route('alpha', 'http://localhost:14265')\ .add_route('bravo', 'http://localhost:14265')\ print_var_type_n_val(var001 = wrapper1, pointer = "#2345trezGH2345YTRE")#2345trezGH2345YTRE # Value: # # <iota.adapter.wrappers.RoutingWrapper object at 0x000001601AD6FD68> # Type: <class 'iota.adapter.wrappers.RoutingWrapper'> # Two routes with the same URI => same adapter instance. self.assertIs( wrapper1.get_adapter('bravo'), wrapper1.get_adapter('alpha'), ) # "127.0.0.1" != "localhost", so separate adapters created. wrapper1.add_route('charlie', 'http://127.0.0.1:14265') self.assertIsNot( wrapper1.get_adapter('charlie'), wrapper1.get_adapter('alpha'), ) # Providing an adapter instance bypasses the whole setup. wrapper1.add_route('delta', HttpAdapter('http://localhost:14265')) self.assertIsNot( wrapper1.get_adapter('delta'), wrapper1.get_adapter('alpha'), ) # The default adapter is always kept separate, even if it URI # matches a routing adapter. self.assertIsNot( wrapper1.get_adapter('foo'), wrapper1.get_adapter('alpha'), ) # Aliased adapters are not shared between routers. wrapper2 = RoutingWrapper(adapter_default) wrapper2.add_route('echo', 'http://localhost:14265') self.assertIsNot( wrapper2.get_adapter('echo'), wrapper1.get_adapter('alpha'), )