示例#1
0
def _cancel_after_first_response(stub):
    request_response_sizes = (31415, 9, 2653, 58979)
    request_payload_sizes = (27182, 8, 1828, 45904)
    with stub, _Pipe() as pipe:
        response_iterator = stub.FullDuplexCall(pipe, _TIMEOUT)

        response_size = request_response_sizes[0]
        payload_size = request_payload_sizes[0]
        request = messages_pb2.StreamingOutputCallRequest(
            response_type=messages_pb2.COMPRESSABLE,
            response_parameters=(messages_pb2.ResponseParameters(
                size=response_size), ),
            payload=messages_pb2.Payload(body=b'\x00' * payload_size))
        pipe.add(request)
        response = next(response_iterator)
        # We test the contents of `response` in the Ping Pong test - don't check
        # them here.
        response_iterator.cancel()

        try:
            next(response_iterator)
        except Exception:
            pass
        else:
            raise ValueError('expected call to be cancelled')
示例#2
0
def _client_streaming(stub):
    with stub:
        payload_body_sizes = (27182, 8, 1828, 45904)
        payloads = (messages_pb2.Payload(body=b'\x00' * size)
                    for size in payload_body_sizes)
        requests = (messages_pb2.StreamingInputCallRequest(payload=payload)
                    for payload in payloads)
        response = stub.StreamingInputCall(requests, _TIMEOUT)
        if response.aggregated_payload_size != 74922:
            raise ValueError('incorrect size %d!' %
                             response.aggregated_payload_size)
示例#3
0
文件: methods.py 项目: wfarr/grpc
def _large_unary(stub):
  with stub:
    request = messages_pb2.SimpleRequest(
        response_type=messages_pb2.COMPRESSABLE, response_size=314159,
        payload=messages_pb2.Payload(body=b'\x00' * 271828))
    response_future = stub.UnaryCall.async(request, _TIMEOUT)
    response = response_future.result()
    if response.payload.type is not messages_pb2.COMPRESSABLE:
      raise ValueError(
          'response payload type is "%s"!' % type(response.payload.type))
    if len(response.payload.body) != 314159:
      raise ValueError(
          'response body of incorrect size %d!' % len(response.payload.body))
示例#4
0
def _cancel_after_begin(stub):
    with stub:
        sizes = (27182, 8, 1828, 45904)
        payloads = [
            messages_pb2.Payload(body=b'\x00' * size) for size in sizes
        ]
        requests = [
            messages_pb2.StreamingInputCallRequest(payload=payload)
            for payload in payloads
        ]
        responses = stub.StreamingInputCall. async (requests, _TIMEOUT)
        responses.cancel()
        if not responses.cancelled():
            raise ValueError('expected call to be cancelled')
示例#5
0
def _ping_pong(stub):
    request_response_sizes = (31415, 9, 2653, 58979)
    request_payload_sizes = (27182, 8, 1828, 45904)

    with stub, _Pipe() as pipe:
        response_iterator = stub.FullDuplexCall(pipe, _TIMEOUT)
        print 'Starting ping-pong with response iterator %s' % response_iterator
        for response_size, payload_size in zip(request_response_sizes,
                                               request_payload_sizes):
            request = messages_pb2.StreamingOutputCallRequest(
                response_type=messages_pb2.COMPRESSABLE,
                response_parameters=(messages_pb2.ResponseParameters(
                    size=response_size), ),
                payload=messages_pb2.Payload(body=b'\x00' * payload_size))
            pipe.add(request)
            response = next(response_iterator)
            if response.payload.type != messages_pb2.COMPRESSABLE:
                raise ValueError('response body of invalid type %s!' %
                                 response.payload.type)
            if len(response.payload.body) != response_size:
                raise ValueError('response body of invalid size %d!' %
                                 len(response.payload.body))
示例#6
0
def _streaming_output_call(request, unused_context):
    for response_parameters in request.response_parameters:
        yield messages_pb2.StreamingOutputCallResponse(
            payload=messages_pb2.Payload(type=request.response_type,
                                         body=b'\x00' *
                                         response_parameters.size))
示例#7
0
def _unary_call(request, unused_context):
    return messages_pb2.SimpleResponse(payload=messages_pb2.Payload(
        type=messages_pb2.COMPRESSABLE, body=b'\x00' * request.response_size))
示例#8
0
def _full_duplex_call(request_iterator, unused_context):
    for request in request_iterator:
        yield messages_pb2.StreamingOutputCallResponse(
            payload=messages_pb2.Payload(type=request.payload.type,
                                         body=b'\x00' *
                                         request.response_parameters[0].size))