def loopbackAsync(server, client, server_addr=None, client_addr=None): """ I'm a copy of twisted.protocols.loopback.loopbackAsync with support for choosing addresses. Am I a bad idea? You bet, I am. """ serverToClient = loopback._LoopbackQueue() clientToServer = loopback._LoopbackQueue() server.makeConnection(FakeTransport(serverToClient, client_addr, server_addr)) client.makeConnection(FakeTransport(clientToServer, server_addr, client_addr)) return loopback._loopbackAsyncBody( server, serverToClient, client, clientToServer, loopback.identityPumpPolicy)
def _versionTest(self, serverVersionResponse): """ Test L{DispatchClient} version negotiation. """ client = msn.DispatchClient() client.userHandle = "foo" transport = StringTransport() client.makeConnection(transport) self.assertEqual(transport.value(), "VER 1 MSNP8 CVR0\r\n") transport.clear() client.dataReceived(serverVersionResponse) self.assertEqual( transport.value(), "CVR 2 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS foo\r\n")
def _versionTest(self, serverVersionResponse): """ Test L{DispatchClient} version negotiation. """ client = msn.DispatchClient() client.userHandle = "foo" transport = StringTransport() client.makeConnection(transport) self.assertEquals( transport.value(), "VER 1 MSNP8 CVR0\r\n") transport.clear() client.dataReceived(serverVersionResponse) self.assertEquals( transport.value(), "CVR 2 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS foo\r\n")