def test_relookup_on_failure(): hostname = 'example.org' port = 9092 conn = BrokerConnection(hostname, port, socket.AF_UNSPEC) assert conn.host == hostname mock_return1 = [] with mock.patch("socket.getaddrinfo", return_value=mock_return1) as m: last_attempt = conn.last_attempt conn.connect() m.assert_called_once_with(hostname, port, 0, 1) assert conn.disconnected() assert conn.last_attempt > last_attempt afi2 = socket.AF_INET sockaddr2 = ('127.0.0.2', 9092) mock_return2 = [ (afi2, socket.SOCK_STREAM, 6, '', sockaddr2), ] with mock.patch("socket.getaddrinfo", return_value=mock_return2) as m: conn.last_attempt = 0 conn.connect() m.assert_called_once_with(hostname, port, 0, 1) assert conn._sock_afi == afi2 assert conn._sock_addr == sockaddr2 conn.close()
def test_lookup_on_connect(): hostname = 'example.org' port = 9092 conn = BrokerConnection(hostname, port, socket.AF_UNSPEC) assert conn.host == hostname assert conn.port == port assert conn.afi == socket.AF_UNSPEC afi1 = socket.AF_INET sockaddr1 = ('127.0.0.1', 9092) mock_return1 = [ (afi1, socket.SOCK_STREAM, 6, '', sockaddr1), ] with mock.patch("socket.getaddrinfo", return_value=mock_return1) as m: conn.connect() m.assert_called_once_with(hostname, port, 0, 1) assert conn._sock_afi == afi1 assert conn._sock_addr == sockaddr1 conn.close() afi2 = socket.AF_INET6 sockaddr2 = ('::1', 9092, 0, 0) mock_return2 = [ (afi2, socket.SOCK_STREAM, 6, '', sockaddr2), ] with mock.patch("socket.getaddrinfo", return_value=mock_return2) as m: conn.last_attempt = 0 conn.connect() m.assert_called_once_with(hostname, port, 0, 1) assert conn._sock_afi == afi2 assert conn._sock_addr == sockaddr2 conn.close()
def test_lookup_on_connect(): hostname = 'example.org' port = 9092 conn = BrokerConnection(hostname, port, socket.AF_UNSPEC) assert conn.host == conn.hostname == hostname ip1 = '127.0.0.1' mock_return1 = [ (2, 2, 17, '', (ip1, 9092)), ] with mock.patch("socket.getaddrinfo", return_value=mock_return1) as m: conn.connect() m.assert_called_once_with(hostname, port, 0, 1) conn.close() assert conn.host == ip1 ip2 = '127.0.0.2' mock_return2 = [ (2, 2, 17, '', (ip2, 9092)), ] with mock.patch("socket.getaddrinfo", return_value=mock_return2) as m: conn.last_attempt = 0 conn.connect() m.assert_called_once_with(hostname, port, 0, 1) conn.close() assert conn.host == ip2