def _poll_http_address(self, count=240, interval=0.5, is_running=None): address = self.addresses["http"] t0 = perf_counter() for _ in range(count): if callable(is_running) and not is_running(): break wire = None try: wire = Wire.open(address, keep_alive=True) wire.write("GET / HTTP/1.1\r\n" "Host: {}\r\n\r\n".format( address.host).encode("ASCII")) wire.send() data = wire.read(4) except OSError: sleep(interval) else: t1 = perf_counter() - t0 log.info("Machine {!r} available " "for HTTP traffic " "after {:.02f}s".format(self.fq_name, t1)) return True finally: if wire: wire.close() return False
def test_wire_open_with_connect_error(mock_socket): mock_socket.fail_on_connect = True try: with raises(WireError): _ = Wire.open(("localhost", 7687)) finally: mock_socket.fail_on_connect = False
def _poll_bolt_address(self, count=240, interval=0.5, is_running=None): address = self.addresses["bolt"] t0 = perf_counter() for _ in range(count): if callable(is_running) and not is_running(): break wire = None try: wire = Wire.open(address, keep_alive=True) wire.write(b"\x60\x60\xB0\x17" b"\x00\x00\x01\x04" b"\x00\x00\x00\x04" b"\x00\x00\x00\x03" b"\x00\x00\x00\x02") wire.send() data = wire.read(4) except OSError: sleep(interval) else: t1 = perf_counter() - t0 log.info("Machine {!r} available " "for Bolt traffic " "after {:.02f}s".format(self.fq_name, t1)) return True finally: if wire: wire.close() return False
def test_wire_read_with_recv_error(mock_socket): mock_socket.fail_on_recv = True try: wire = Wire.open(("localhost", 7687)) with raises(WireError): _ = wire.read(1) finally: mock_socket.fail_on_recv = False
def _connect(cls, profile, on_broken): log.debug("[#%04X] C: (Dialing <%s>)", 0, profile.address) wire = Wire.open(profile.address, keep_alive=True, on_broken=on_broken) local_port = wire.local_address.port_number log.debug("[#%04X] S: (Accepted)", local_port) if profile.secure: log.debug("[#%04X] C: (Securing connection)", local_port) wire.secure(verify=profile.verify, hostname=profile.host) return wire
def writer(into): s = FakeSocket(out_packets=into) return Wire(s)
def reader(packets): s = FakeSocket(packets) return Wire(s)
def test_wire_open_with_keep_alive(mock_socket): wire = Wire.open(("localhost", 7687), keep_alive=True) assert wire.remote_address == ("localhost", 7687)
def test_wire_open_simple(mock_socket): wire = Wire.open(("localhost", 7687)) assert wire.remote_address == ("localhost", 7687)