|
|
|
@ -149,6 +149,25 @@ function pingPong($stub) { |
|
|
|
|
'Call did not complete successfully'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function cancelAfterFirstResponse($stub) { |
|
|
|
|
$call = $stub->StreamingInputCall(); |
|
|
|
|
$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("\0", 27182)); |
|
|
|
|
$request->setPayload($payload); |
|
|
|
|
|
|
|
|
|
$call->write($request); |
|
|
|
|
$response = $call->read(); |
|
|
|
|
|
|
|
|
|
$call->cancel(); |
|
|
|
|
hardAssert($call->getStatus()->code === Grpc\STATUS_CANCELLED, |
|
|
|
|
'Call status was not CANCELLED'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$args = getopt('', array('server_host:', 'server_port:', 'test_case:')); |
|
|
|
|
if (!array_key_exists('server_host', $args) || |
|
|
|
|
!array_key_exists('server_port', $args) || |
|
|
|
@ -187,4 +206,6 @@ switch($args['test_case']) { |
|
|
|
|
case 'ping_pong': |
|
|
|
|
pingPong($stub); |
|
|
|
|
break; |
|
|
|
|
case 'cancel_after_first_response': |
|
|
|
|
cancelAfterFirstResponse($stub); |
|
|
|
|
} |