def test_collect(transport: str = 'grpc'): client = EchoClient( credentials=credentials.AnonymousCredentials(), transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, # and we are mocking out the actual API, so just send an empty request. request = gs_echo.EchoRequest() requests = [request] # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client._transport.collect), '__call__') as call: # Designate an appropriate return value for the call. call.return_value = gs_echo.EchoResponse(content='content_value', ) response = client.collect(iter(requests)) # Establish that the underlying gRPC stub method was called. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] assert next(args[0]) == request # Establish that the response is the type that we expect. assert isinstance(response, gs_echo.EchoResponse) assert response.content == 'content_value'
def test_collect(): print("=================test collect ===================") client = EchoClient(transport=transport) content = 'The rain in Spain stays mainly on the Plain!' requests = content.split(' ') requests = map(lambda s: gs_echo.EchoRequest(content=s), requests) response = client.collect(iter(requests)) print(response)