Example #1
0
function statusCodeAndMessage($stub)
{
    $echo_status = new grpc\testing\EchoStatus();
    $echo_status->setCode(2);
    $echo_status->setMessage('test status message');
    $request = new grpc\testing\SimpleRequest();
    $request->setResponseStatus($echo_status);
    $call = $stub->UnaryCall($request);
    list($result, $status) = $call->wait();
    hardAssert($status->code === 2, 'Received unexpected status code');
    hardAssert($status->details === 'test status message', 'Received unexpected status details');
    $streaming_call = $stub->FullDuplexCall();
    $streaming_request = new grpc\testing\StreamingOutputCallRequest();
    $streaming_request->setResponseStatus($echo_status);
    $streaming_call->write($streaming_request);
    $streaming_call->writesDone();
    $status = $streaming_call->getStatus();
    hardAssert($status->code === 2, 'Received unexpected status code');
    hardAssert($status->details === 'test status message', 'Received unexpected status details');
}
Example #2
0
function timeoutOnSleepingServer($stub)
{
    $call = $stub->FullDuplexCall([], ['timeout' => 1000]);
    $request = new grpc\testing\StreamingOutputCallRequest();
    $request->setResponseType(grpc\testing\PayloadType::COMPRESSABLE);
    $response_parameters = new grpc\testing\ResponseParameters();
    $response_parameters->setSize(8);
    $request->addResponseParameters($response_parameters);
    $payload = new grpc\testing\Payload();
    $payload->setBody(str_repeat("", 9));
    $request->setPayload($payload);
    $call->write($request);
    $response = $call->read();
    hardAssert($call->getStatus()->code === Grpc\STATUS_DEADLINE_EXCEEDED, 'Call status was not DEADLINE_EXCEEDED');
}
Example #3
0
function cancelAfterFirstResponse($stub)
{
    $call = $stub->FullDuplexCall();
    $request = new grpc\testing\StreamingOutputCallRequest();
    $request->setResponseType(grpc\testing\PayloadType::COMPRESSABLE);
    $response_parameters = new grpc\testing\ResponseParameters();
    $response_parameters->setSize(31415);
    $request->addResponseParameters($response_parameters);
    $payload = new grpc\testing\Payload();
    $payload->setBody(str_repeat("", 27182));
    $request->setPayload($payload);
    $call->write($request);
    $response = $call->read();
    $call->cancel();
    hardAssert($call->getStatus()->code === Grpc\STATUS_CANCELLED, 'Call status was not CANCELLED');
}