async def _test_pick_fastest(self): ledger = Mock( config={ 'default_servers': [ # fast but unhealthy, should be discarded await self._make_bad_server(), ('localhost', 1), ('example.that.doesnt.resolve', 9000), await self._make_fake_server(latency=1.0, port=1340), await self._make_fake_server(latency=0.1, port=1337), await self._make_fake_server(latency=0.4, port=1339), ], 'connect_timeout': 3 }) network = Network(ledger) self.addCleanup(network.stop) await network.start() await asyncio.wait_for(network.on_connected.first, timeout=10) self.assertTrue(network.is_connected) self.assertTupleEqual(network.client.server, ('127.0.0.1', 1337)) self.assertTrue( all([ not session.is_closing() for session in network.session_pool.available_sessions ])) # ensure we are connected to all of them after a while await asyncio.sleep(1) self.assertEqual(len(list(network.session_pool.available_sessions)), 3)
async def test_pick_fastest(self): ledger = Mock(config={ 'default_servers': [ # fast but unhealthy, should be discarded # await self._make_bad_server(), ('localhost', 1), ('example.that.doesnt.resolve', 9000), await self._make_fake_server(latency=1.0, port=1340), await self._make_fake_server(latency=0.1, port=1337), await self._make_fake_server(latency=0.4, port=1339), ], 'connect_timeout': 3 }) network = Network(ledger) self.addCleanup(network.stop) await network.start() await asyncio.wait_for(network.on_connected.first, timeout=10) self.assertTrue(network.is_connected) self.assertTupleEqual(network.client.server, ('127.0.0.1', 1337))