def test_client_connect_auto(self): """ A server will automatically accept client connections by default. """ fake_server = FakeServer(self.server_factory) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) client = self.successResultOf(client_d) conn = self.successResultOf(conn_d) self.assert_connected(conn, client)
def test_client_connect_auto(self): """ A server will automatically accept client connections by default. """ fake_server = FakeServer(self.server_factory) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) client = self.successResultOf(client_d) conn = self.successResultOf(conn_d) self.assert_connected(conn, client)
def test_reject_connection_with_reason(self): """ Connections can be rejected with a custom reason. """ fake_server = FakeServer(self.server_factory, auto_accept=False) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) self.assertNoResult(client_d) conn = self.successResultOf(conn_d) self.assert_pending(conn) connected_d = conn.await_connected() self.assertNoResult(connected_d) conn.reject_connection(UnknownHostError()) self.assertNoResult(connected_d) self.failureResultOf(client_d, UnknownHostError) self.assert_connection_rejected(conn)
def test_reject_connection(self): """ Connections can be rejected manually if desired. """ fake_server = FakeServer(self.server_factory, auto_accept=False) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) self.assertNoResult(client_d) conn = self.successResultOf(conn_d) self.assert_pending(conn) connected_d = conn.await_connected() self.assertNoResult(connected_d) conn.reject_connection() self.assertNoResult(connected_d) self.failureResultOf(client_d, ConnectionRefusedError) self.assert_connection_rejected(conn)
def test_reject_connection_with_reason(self): """ Connections can be rejected with a custom reason. """ fake_server = FakeServer(self.server_factory, auto_accept=False) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) self.assertNoResult(client_d) conn = self.successResultOf(conn_d) self.assert_pending(conn) connected_d = conn.await_connected() self.assertNoResult(connected_d) conn.reject_connection(UnknownHostError()) self.assertNoResult(connected_d) self.failureResultOf(client_d, UnknownHostError) self.assert_connection_rejected(conn)
def test_reject_connection(self): """ Connections can be rejected manually if desired. """ fake_server = FakeServer(self.server_factory, auto_accept=False) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) self.assertNoResult(client_d) conn = self.successResultOf(conn_d) self.assert_pending(conn) connected_d = conn.await_connected() self.assertNoResult(connected_d) conn.reject_connection() self.assertNoResult(connected_d) self.failureResultOf(client_d, ConnectionRefusedError) self.assert_connection_rejected(conn)
def test_client_connect_hook(self): """ An on_connect function can be passed to the server to be called whenever a connection is made. """ def on_connect(conn): conn.hook_was_called = True conn.client_id_from_hook = id(conn.client_protocol) conn.server_id_from_hook = id(conn.server_protocol) fake_server = FakeServer(self.server_factory, on_connect=on_connect) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) client = self.successResultOf(client_d) conn = self.successResultOf(conn_d) self.assert_connected(conn, client) self.assertEqual(conn.hook_was_called, True) self.assertEqual(conn.client_id_from_hook, id(client)) self.assertEqual(conn.server_id_from_hook, id(conn.server_protocol))
def test_accept_connection(self): """ Connections can be accepted manually if desired. """ fake_server = FakeServer(self.server_factory, auto_accept=False) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) self.assertNoResult(client_d) conn = self.successResultOf(conn_d) self.assert_pending(conn) connected_d = conn.await_connected() self.assertNoResult(connected_d) accepted_d = conn.accept_connection() self.successResultOf(accepted_d) self.successResultOf(connected_d) client = self.successResultOf(client_d) self.assert_connected(conn, client)
def test_client_connect_hook(self): """ An on_connect function can be passed to the server to be called whenever a connection is made. """ def on_connect(conn): conn.hook_was_called = True conn.client_id_from_hook = id(conn.client_protocol) conn.server_id_from_hook = id(conn.server_protocol) fake_server = FakeServer(self.server_factory, on_connect=on_connect) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) client = self.successResultOf(client_d) conn = self.successResultOf(conn_d) self.assert_connected(conn, client) self.assertEqual(conn.hook_was_called, True) self.assertEqual(conn.client_id_from_hook, id(client)) self.assertEqual(conn.server_id_from_hook, id(conn.server_protocol))
def test_accept_connection(self): """ Connections can be accepted manually if desired. """ fake_server = FakeServer(self.server_factory, auto_accept=False) conn_d = fake_server.await_connection() self.assertNoResult(conn_d) client_d = fake_server.endpoint.connect(self.client_factory) self.assertNoResult(client_d) conn = self.successResultOf(conn_d) self.assert_pending(conn) connected_d = conn.await_connected() self.assertNoResult(connected_d) accepted_d = conn.accept_connection() self.successResultOf(accepted_d) self.successResultOf(connected_d) client = self.successResultOf(client_d) self.assert_connected(conn, client)