def test_echo(self): TcpServer(self.ip, self.port, EchoService) client = TcpClient(self.ip, self.port, EchoClient, IEchoService_Stub) client.async_connect() echo_recorder = EchoRecorder() rpc_count = 0 for i in xrange(10): asyncore.loop(0.1, count=1) if client.stub: if not client.service.streamout: client.service.set_streamout(echo_recorder) request = EchoString() request.message = str(rpc_count) controller = RpcController(client.rpc_channel) client.stub.echo(controller, request, None) rpc_count += 1 asyncore.loop(0.1, count=30) self.assertEqual(len(echo_recorder.record), rpc_count) echo_recorder.record.sort(cmp=lambda x, y: int(x) < int(y)) for i in xrange(rpc_count): self.assertEqual(echo_recorder.record[i], str(i))
def test_connection(self): server = TcpServer(self.ip, self.port, DummyService) client = TcpClient(self.ip, self.port, DummyService, DummyStub) client.async_connect() asyncore.loop(timeout=0.1, count=10) self.assertEqual(client.status, TcpConnection.ST_ESTABLISHED) server.close() client.close()