def test_expand_flattened_error(): client = EchoClient(credentials=credentials.AnonymousCredentials(), ) # Attempting to call a method with both a request object and flattened # fields is an error. with pytest.raises(ValueError): client.expand( gs_echo.ExpandRequest(), content='content_value', error=status.Status(code=411), )
def test_expand(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.ExpandRequest() # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client._transport.expand), '__call__') as call: # Designate an appropriate return value for the call. call.return_value = iter([gs_echo.EchoResponse()]) response = client.expand(request) # Establish that the underlying gRPC stub method was called. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] assert args[0] == request # Establish that the response is the type that we expect. for message in response: assert isinstance(message, gs_echo.EchoResponse)
def test_expand(): print("=================test expand ===================") client = EchoClient(transport=transport) request = gs_echo.ExpandRequest(content='one two three four') responses = client.expand(request) for message in responses: print(message) print("trailing metadata...") print(responses.trailing_metadata())
def run_should_pass(): print("================= should pass ====================") header_adder_interceptor = client_interceptor.header_adder_interceptor( 'one-time-password', '42') channel = grpc.insecure_channel('localhost:50051') intercept_channel = grpc.intercept_channel(channel, header_adder_interceptor) transport = transports.EchoGrpcTransport(channel=intercept_channel) client = EchoClient(transport=transport) request = gs_echo.ExpandRequest(content='one two three four') responses = client.expand(request) for message in responses: print(message) print("trailing metadata...") print(responses.trailing_metadata())
def run_should_fail(): print( "================= should fail with 'Access denied!' ====================" ) channel = grpc.insecure_channel('localhost:50051') transport = transports.EchoGrpcTransport(channel=channel) client = EchoClient(transport=transport) try: request = gs_echo.ExpandRequest(content='one two three four') responses = client.expand(request) for message in responses: print(message) print("trailing metadata...") print(responses.trailing_metadata()) except: print(sys.exc_info())
def test_expand_flattened(): client = EchoClient(credentials=credentials.AnonymousCredentials(), ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client._transport.expand), '__call__') as call: # Designate an appropriate return value for the call. call.return_value = iter([gs_echo.EchoResponse()]) # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. response = client.expand( content='content_value', error=status.Status(code=411), ) # Establish that the underlying call was made with the expected # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] assert args[0].content == 'content_value' assert args[0].error == status.Status(code=411)