예제 #1
0
파일: methods.py 프로젝트: zwong91/grpc
def _status_code_and_message(stub):
    details = 'test status message'
    code = 2
    status = grpc.StatusCode.UNKNOWN  # code = 2

    # Test with a UnaryCall
    request = messages_pb2.SimpleRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_size=1,
        payload=messages_pb2.Payload(body=b'\x00'),
        response_status=messages_pb2.EchoStatus(code=code, message=details))
    response_future = stub.UnaryCall.future(request)
    _validate_status_code_and_details(response_future, status, details)

    # Test with a FullDuplexCall
    with _Pipe() as pipe:
        response_iterator = stub.FullDuplexCall(pipe)
        request = messages_pb2.StreamingOutputCallRequest(
            response_type=messages_pb2.COMPRESSABLE,
            response_parameters=(messages_pb2.ResponseParameters(size=1), ),
            payload=messages_pb2.Payload(body=b'\x00'),
            response_status=messages_pb2.EchoStatus(code=code,
                                                    message=details))
        pipe.add(request)  # sends the initial request.
    # Dropping out of with block closes the pipe
    _validate_status_code_and_details(response_iterator, status, details)
예제 #2
0
async def _status_code_and_message(stub: test_pb2_grpc.TestServiceStub):
    details = 'test status message'
    status = grpc.StatusCode.UNKNOWN  # code = 2

    # Test with a UnaryCall
    request = messages_pb2.SimpleRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_size=1,
        payload=messages_pb2.Payload(body=b'\x00'),
        response_status=messages_pb2.EchoStatus(code=status.value[0],
                                                message=details))
    call = stub.UnaryCall(request)
    await _validate_status_code_and_details(call, status, details)

    # Test with a FullDuplexCall
    call = stub.FullDuplexCall()
    request = messages_pb2.StreamingOutputCallRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_parameters=(messages_pb2.ResponseParameters(size=1),),
        payload=messages_pb2.Payload(body=b'\x00'),
        response_status=messages_pb2.EchoStatus(code=status.value[0],
                                                message=details))
    await call.write(request)  # sends the initial request.
    await call.done_writing()
    await _validate_status_code_and_details(call, status, details)
예제 #3
0
def _status_code_and_message(stub):
    message = 'test status message'
    code = 2
    status = grpc.StatusCode.UNKNOWN  # code = 2
    request = messages_pb2.SimpleRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_size=1,
        payload=messages_pb2.Payload(body=b'\x00'),
        response_status=messages_pb2.EchoStatus(code=code, message=message))
    response_future = stub.UnaryCall.future(request)
    if response_future.code() != status:
        raise ValueError('expected code %s, got %s' %
                         (status, response_future.code()))
    elif response_future.details() != message:
        raise ValueError('expected message %s, got %s' %
                         (message, response_future.details()))

    request = messages_pb2.StreamingOutputCallRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_parameters=(messages_pb2.ResponseParameters(size=1), ),
        response_status=messages_pb2.EchoStatus(code=code, message=message))
    response_iterator = stub.StreamingOutputCall(request)
    if response_future.code() != status:
        raise ValueError('expected code %s, got %s' %
                         (status, response_iterator.code()))
    elif response_future.details() != message:
        raise ValueError('expected message %s, got %s' %
                         (message, response_iterator.details()))
예제 #4
0
파일: methods.py 프로젝트: zwong91/grpc
def _special_status_message(stub, args):
    details = b'\t\ntest with whitespace\r\nand Unicode BMP \xe2\x98\xba and non-BMP \xf0\x9f\x98\x88\t\n'.decode(
        'utf-8')
    code = 2
    status = grpc.StatusCode.UNKNOWN  # code = 2

    # Test with a UnaryCall
    request = messages_pb2.SimpleRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_size=1,
        payload=messages_pb2.Payload(body=b'\x00'),
        response_status=messages_pb2.EchoStatus(code=code, message=details))
    response_future = stub.UnaryCall.future(request)
    _validate_status_code_and_details(response_future, status, details)
예제 #5
0
async def _special_status_message(stub: test_pb2_grpc.TestServiceStub):
    details = b'\t\ntest with whitespace\r\nand Unicode BMP \xe2\x98\xba and non-BMP \xf0\x9f\x98\x88\t\n'.decode(
        'utf-8')
    status = grpc.StatusCode.UNKNOWN  # code = 2

    # Test with a UnaryCall
    request = messages_pb2.SimpleRequest(
        response_type=messages_pb2.COMPRESSABLE,
        response_size=1,
        payload=messages_pb2.Payload(body=b'\x00'),
        response_status=messages_pb2.EchoStatus(code=status.value[0],
                                                message=details))
    call = stub.UnaryCall(request)
    await _validate_status_code_and_details(call, status, details)