def test_cleanup_resolved_hosts_on_500(self, m_request): c = HttpClient( [('localhost', 56777), ('localhost', 56778)], conn_timeout=0.0001, loop=self.loop) called = False class M: def clear(self): nonlocal called called = True def __contains__(self, key): return True def __getitem__(self, key): return 'localhost' c._connector._resolved_hosts = M() resp = unittest.mock.Mock() resp.status = 500 m_request.return_value = asyncio.Future(loop=self.loop) m_request.return_value.set_result(resp) self.loop.run_until_complete(c.request('get', path='/')) self.assertTrue(called)
def test_cleanup_resolved_hosts_on_500(self, m_request): c = HttpClient( [('localhost', 56777), ('localhost', 56778)], conn_timeout=0.0001, loop=self.loop) called = False class m: def clear(self): nonlocal called called = True def __contains__(self, key): return True def __getitem__(self, key): return 'localhost' c._connector._resolved_hosts = m() resp = unittest.mock.Mock() resp.status = 500 m_request.return_value = asyncio.Future(loop=self.loop) m_request.return_value.set_result(resp) self.loop.run_until_complete(c.request('get', path='/')) self.assertTrue(called)
def test_failed_request_conn(self): c = HttpClient([('localhost', 56777), ('localhost', 56778)], loop=self.loop) self.assertRaises(aiohttp.ConnectionError, self.loop.run_until_complete, c.request('get', path='/', conn_timeout=0.0001))
def test_failed_request_conn(self): c = HttpClient( [('localhost', 56777), ('localhost', 56778)], loop=self.loop) self.assertRaises( aiohttp.ConnectionError, self.loop.run_until_complete, c.request('get', path='/', conn_timeout=0.0001))
def test_failed_request_one_failed(self): now = int(time.time()) c = HttpClient([('localhost', 56777), ('localhost', 56778)], loop=self.loop) c._hosts = [] c._failed.append((('localhost', 1000), now - 10)) c._failed.append((('localhost', 1001), now - 10)) self.assertRaises(aiohttp.ConnectionError, self.loop.run_until_complete, c.request('get', path='/', timeout=0.0001))
def test_failed_request_one_failed(self): now = int(time.time()) c = HttpClient( [('localhost', 56777), ('localhost', 56778)], loop=self.loop) c._hosts = [] c._failed.append((('localhost', 1000), now - 10)) c._failed.append((('localhost', 1001), now - 10)) self.assertRaises( aiohttp.ConnectionError, self.loop.run_until_complete, c.request('get', path='/', timeout=0.0001))
def test_failed_request_one_failed(self): now = int(time.time()) c = HttpClient( [('localhost', 56777), ('localhost', 56778)], loop=self.loop) c._hosts = [] has_http_server = True sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: sock.connect(('127.0.0.1', 80)) except ConnectionError: has_http_server = False finally: sock.close() c._failed.append((('localhost', 1000, has_http_server), now - 10)) c._failed.append((('localhost', 1001, True), now - 10)) self.assertRaises( aiohttp.ClientConnectionError, self.loop.run_until_complete, c.request('get', path='/'))
def test_failed_request_one_failed(self): now = int(time.time()) c = HttpClient( [('localhost', 56777), ('localhost', 56778)], loop=self.loop) c._hosts = [] has_http_server = True sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: sock.connect(('127.0.0.1', 80)) except ConnectionError: has_http_server = False finally: sock.close() c._failed.append((('localhost', 1000, has_http_server), now - 10)) c._failed.append((('localhost', 1001, True), now - 10)) self.assertRaises( aiohttp.ConnectionError, self.loop.run_until_complete, c.request('get', path='/'))