Merge pull request #346 from murgatroid99/php_weak_comparison

Php weak comparison removal
pull/341/head^2
Tim Emiola 10 years ago
commit 9068b55359
  1. 2
      src/php/lib/Grpc/AbstractSurfaceActiveCall.php
  2. 7
      src/php/lib/Grpc/ActiveCall.php
  3. 2
      src/php/lib/Grpc/ServerStreamingSurfaceActiveCall.php
  4. 20
      src/php/tests/generated_code/GeneratedCodeTest.php
  5. 34
      src/php/tests/interop/interop_client.php
  6. 90
      src/php/tests/unit_tests/EndToEndTest.php
  7. 89
      src/php/tests/unit_tests/SecureEndToEndTest.php
  8. 2
      src/php/tests/unit_tests/TimevalTest.php

@ -44,7 +44,7 @@ abstract class AbstractSurfaceActiveCall {
protected function _read() { protected function _read() {
$response = $this->active_call->read(); $response = $this->active_call->read();
if ($response == null) { if ($response === null) {
return null; return null;
} }
return call_user_func($this->deserialize, $response); return call_user_func($this->deserialize, $response);

@ -66,12 +66,7 @@ class ActiveCall {
* @param ByteBuffer $data The data to write * @param ByteBuffer $data The data to write
*/ */
public function write($data) { public function write($data) {
if($this->call->start_write($data, $this->call->start_write($data, WRITE_ACCEPTED, $this->flags);
WRITE_ACCEPTED,
$this->flags) != OP_OK) {
// TODO(mlumish): more useful error
throw new \Exception("Cannot call write after writesDone");
}
$this->completion_queue->pluck(WRITE_ACCEPTED, Timeval::inf_future()); $this->completion_queue->pluck(WRITE_ACCEPTED, Timeval::inf_future());
} }

@ -31,7 +31,7 @@ class ServerStreamingSurfaceActiveCall extends AbstractSurfaceActiveCall {
* @return An iterator of response values * @return An iterator of response values
*/ */
public function responses() { public function responses() {
while(($response = $this->_read()) != null) { while(($response = $this->_read()) !== null) {
yield $response; yield $response;
} }
} }

@ -17,9 +17,9 @@ class GeneratedCodeTest extends PHPUnit_Framework_TestCase {
$div_arg->setDividend(7); $div_arg->setDividend(7);
$div_arg->setDivisor(4); $div_arg->setDivisor(4);
list($response, $status) = self::$client->Div($div_arg)->wait(); list($response, $status) = self::$client->Div($div_arg)->wait();
$this->assertEquals(1, $response->getQuotient()); $this->assertSame(1, $response->getQuotient());
$this->assertEquals(3, $response->getRemainder()); $this->assertSame(3, $response->getRemainder());
$this->assertEquals(\Grpc\STATUS_OK, $status->code); $this->assertSame(\Grpc\STATUS_OK, $status->code);
} }
public function testServerStreaming() { public function testServerStreaming() {
@ -31,9 +31,9 @@ class GeneratedCodeTest extends PHPUnit_Framework_TestCase {
return $num->getNum(); return $num->getNum();
}; };
$values = array_map($extract_num, $result_array); $values = array_map($extract_num, $result_array);
$this->assertEquals([1, 1, 2, 3, 5, 8, 13], $values); $this->assertSame([1, 1, 2, 3, 5, 8, 13], $values);
$status = $call->getStatus(); $status = $call->getStatus();
$this->assertEquals(\Grpc\STATUS_OK, $status->code); $this->assertSame(\Grpc\STATUS_OK, $status->code);
} }
public function testClientStreaming() { public function testClientStreaming() {
@ -46,8 +46,8 @@ class GeneratedCodeTest extends PHPUnit_Framework_TestCase {
}; };
$call = self::$client->Sum($num_iter()); $call = self::$client->Sum($num_iter());
list($response, $status) = $call->wait(); list($response, $status) = $call->wait();
$this->assertEquals(21, $response->getNum()); $this->assertSame(21, $response->getNum());
$this->assertEquals(\Grpc\STATUS_OK, $status->code); $this->assertSame(\Grpc\STATUS_OK, $status->code);
} }
public function testBidiStreaming() { public function testBidiStreaming() {
@ -58,11 +58,11 @@ class GeneratedCodeTest extends PHPUnit_Framework_TestCase {
$div_arg->setDivisor(2); $div_arg->setDivisor(2);
$call->write($div_arg); $call->write($div_arg);
$response = $call->read(); $response = $call->read();
$this->assertEquals($i, $response->getQuotient()); $this->assertSame($i, $response->getQuotient());
$this->assertEquals(1, $response->getRemainder()); $this->assertSame(1, $response->getRemainder());
} }
$call->writesDone(); $call->writesDone();
$status = $call->getStatus(); $status = $call->getStatus();
$this->assertEquals(\Grpc\STATUS_OK, $status->code); $this->assertSame(\Grpc\STATUS_OK, $status->code);
} }
} }

@ -26,8 +26,8 @@ function hardAssert($value, $error_message) {
*/ */
function emptyUnary($stub) { function emptyUnary($stub) {
list($result, $status) = $stub->EmptyCall(new grpc\testing\EmptyMessage())->wait(); list($result, $status) = $stub->EmptyCall(new grpc\testing\EmptyMessage())->wait();
hardAssert($status->code == Grpc\STATUS_OK, 'Call did not complete successfully'); hardAssert($status->code === Grpc\STATUS_OK, 'Call did not complete successfully');
hardAssert($result != null, 'Call completed with a null response'); hardAssert($result !== null, 'Call completed with a null response');
} }
/** /**
@ -49,14 +49,14 @@ function largeUnary($stub) {
$request->setPayload($payload); $request->setPayload($payload);
list($result, $status) = $stub->UnaryCall($request)->wait(); list($result, $status) = $stub->UnaryCall($request)->wait();
hardAssert($status->code == Grpc\STATUS_OK, 'Call did not complete successfully'); hardAssert($status->code === Grpc\STATUS_OK, 'Call did not complete successfully');
hardAssert($result != null, 'Call returned a null response'); hardAssert($result !== null, 'Call returned a null response');
$payload = $result->getPayload(); $payload = $result->getPayload();
hardAssert($payload->getType() == grpc\testing\PayloadType::COMPRESSABLE, hardAssert($payload->getType() === grpc\testing\PayloadType::COMPRESSABLE,
'Payload had the wrong type'); 'Payload had the wrong type');
hardAssert(strlen($payload->getBody()) == $response_len, hardAssert(strlen($payload->getBody()) === $response_len,
'Payload had the wrong length'); 'Payload had the wrong length');
hardAssert($payload->getBody() == str_repeat("\0", $response_len), hardAssert($payload->getBody() === str_repeat("\0", $response_len),
'Payload had the wrong content'); 'Payload had the wrong content');
} }
@ -78,8 +78,8 @@ function clientStreaming($stub) {
}, $request_lengths); }, $request_lengths);
list($result, $status) = $stub->StreamingInputCall($requests)->wait(); list($result, $status) = $stub->StreamingInputCall($requests)->wait();
hardAssert($status->code == Grpc\STATUS_OK, 'Call did not complete successfully'); hardAssert($status->code === Grpc\STATUS_OK, 'Call did not complete successfully');
hardAssert($result->getAggregatedPayloadSize() == 74922, hardAssert($result->getAggregatedPayloadSize() === 74922,
'aggregated_payload_size was incorrect'); 'aggregated_payload_size was incorrect');
} }
@ -100,15 +100,15 @@ function serverStreaming($stub) {
} }
$call = $stub->StreamingOutputCall($request); $call = $stub->StreamingOutputCall($request);
hardAssert($call->getStatus()->code == Grpc\STATUS_OK, hardAssert($call->getStatus()->code === Grpc\STATUS_OK,
'Call did not complete successfully'); 'Call did not complete successfully');
$i = 0; $i = 0;
foreach($call->responses() as $value) { foreach($call->responses() as $value) {
hardAssert($i < 4, 'Too many responses'); hardAssert($i < 4, 'Too many responses');
$payload = $value->getPayload(); $payload = $value->getPayload();
hardAssert($payload->getType() == grpc\testing\PayloadType::COMPRESSABLE, hardAssert($payload->getType() === grpc\testing\PayloadType::COMPRESSABLE,
'Payload ' . $i . ' had the wrong type'); 'Payload ' . $i . ' had the wrong type');
hardAssert(strlen($payload->getBody()) == $sizes[$i], hardAssert(strlen($payload->getBody()) === $sizes[$i],
'Response ' . $i . ' had the wrong length'); 'Response ' . $i . ' had the wrong length');
} }
} }
@ -136,16 +136,16 @@ function pingPong($stub) {
$call->write($request); $call->write($request);
$response = $call->read(); $response = $call->read();
hardAssert($response != null, 'Server returned too few responses'); hardAssert($response !== null, 'Server returned too few responses');
$payload = $response->getPayload(); $payload = $response->getPayload();
hardAssert($payload->getType() == grpc\testing\PayloadType::COMPRESSABLE, hardAssert($payload->getType() === grpc\testing\PayloadType::COMPRESSABLE,
'Payload ' . $i . ' had the wrong type'); 'Payload ' . $i . ' had the wrong type');
hardAssert(strlen($payload->getBody()) == $response_lengths[$i], hardAssert(strlen($payload->getBody()) === $response_lengths[$i],
'Payload ' . $i . ' had the wrong length'); 'Payload ' . $i . ' had the wrong length');
} }
$call->writesDone(); $call->writesDone();
hardAssert($call->read() == null, 'Server returned too many responses'); hardAssert($call->read() === null, 'Server returned too many responses');
hardAssert($call->getStatus()->code == Grpc\STATUS_OK, hardAssert($call->getStatus()->code === Grpc\STATUS_OK,
'Call did not complete successfully'); 'Call did not complete successfully');
} }

@ -24,62 +24,52 @@ class EndToEndTest extends PHPUnit_Framework_TestCase{
'dummy_method', 'dummy_method',
$deadline); $deadline);
$tag = 1; $tag = 1;
$this->assertEquals(Grpc\CALL_OK, $call->invoke($this->client_queue, $tag, $tag);
$call->invoke($this->client_queue,
$tag,
$tag));
$server_tag = 2; $server_tag = 2;
$call->writes_done($tag); $call->writes_done($tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// check that a server rpc new was received // check that a server rpc new was received
$this->server->start(); $this->server->start();
$this->server->request_call($server_tag); $this->server->request_call($server_tag);
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\SERVER_RPC_NEW, $event->type); $this->assertSame(Grpc\SERVER_RPC_NEW, $event->type);
$server_call = $event->call; $server_call = $event->call;
$this->assertNotNull($server_call); $this->assertNotNull($server_call);
$this->assertEquals(Grpc\CALL_OK, $server_call->server_accept($this->server_queue, $server_tag);
$server_call->server_accept($this->server_queue,
$server_tag));
$this->assertEquals(Grpc\CALL_OK, $server_call->server_end_initial_metadata();
$server_call->server_end_initial_metadata());
// the server sends the status // the server sends the status
$this->assertEquals(Grpc\CALL_OK, $server_call->start_write_status(Grpc\STATUS_OK, $status_text, $server_tag);
$server_call->start_write_status(Grpc\STATUS_OK,
$status_text,
$server_tag));
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// the client gets CLIENT_METADATA_READ // the client gets CLIENT_METADATA_READ
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\CLIENT_METADATA_READ, $event->type); $this->assertSame(Grpc\CLIENT_METADATA_READ, $event->type);
// the client gets FINISHED // the client gets FINISHED
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
$status = $event->data; $status = $event->data;
$this->assertEquals(Grpc\STATUS_OK, $status->code); $this->assertSame(Grpc\STATUS_OK, $status->code);
$this->assertEquals($status_text, $status->details); $this->assertSame($status_text, $status->details);
// and the server gets FINISHED // and the server gets FINISHED
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
$status = $event->data; $status = $event->data;
unset($call); unset($call);
@ -96,10 +86,7 @@ class EndToEndTest extends PHPUnit_Framework_TestCase{
'dummy_method', 'dummy_method',
$deadline); $deadline);
$tag = 1; $tag = 1;
$this->assertEquals(Grpc\CALL_OK, $call->invoke($this->client_queue, $tag, $tag);
$call->invoke($this->client_queue,
$tag,
$tag));
$server_tag = 2; $server_tag = 2;
@ -107,76 +94,69 @@ class EndToEndTest extends PHPUnit_Framework_TestCase{
$call->start_write($req_text, $tag); $call->start_write($req_text, $tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\WRITE_ACCEPTED, $event->type); $this->assertSame(Grpc\WRITE_ACCEPTED, $event->type);
// check that a server rpc new was received // check that a server rpc new was received
$this->server->start(); $this->server->start();
$this->server->request_call($server_tag); $this->server->request_call($server_tag);
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\SERVER_RPC_NEW, $event->type); $this->assertSame(Grpc\SERVER_RPC_NEW, $event->type);
$server_call = $event->call; $server_call = $event->call;
$this->assertNotNull($server_call); $this->assertNotNull($server_call);
$this->assertEquals(Grpc\CALL_OK, $server_call->server_accept($this->server_queue, $server_tag);
$server_call->server_accept($this->server_queue,
$server_tag));
$this->assertEquals(Grpc\CALL_OK, $server_call->server_end_initial_metadata();
$server_call->server_end_initial_metadata());
// start the server read // start the server read
$server_call->start_read($server_tag); $server_call->start_read($server_tag);
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\READ, $event->type); $this->assertSame(Grpc\READ, $event->type);
$this->assertEquals($req_text, $event->data); $this->assertSame($req_text, $event->data);
// the server replies // the server replies
$this->assertEquals(Grpc\CALL_OK, $server_call->start_write($reply_text, $server_tag);
$server_call->start_write($reply_text, $server_tag));
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\WRITE_ACCEPTED, $event->type); $this->assertSame(Grpc\WRITE_ACCEPTED, $event->type);
// the client reads the metadata // the client reads the metadata
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\CLIENT_METADATA_READ, $event->type); $this->assertSame(Grpc\CLIENT_METADATA_READ, $event->type);
// the client reads the reply // the client reads the reply
$call->start_read($tag); $call->start_read($tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\READ, $event->type); $this->assertSame(Grpc\READ, $event->type);
$this->assertEquals($reply_text, $event->data); $this->assertSame($reply_text, $event->data);
// the client sends writes done // the client sends writes done
$call->writes_done($tag); $call->writes_done($tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// the server sends the status // the server sends the status
$this->assertEquals(Grpc\CALL_OK, $server_call->start_write_status(GRPC\STATUS_OK, $status_text, $server_tag);
$server_call->start_write_status(GRPC\STATUS_OK,
$status_text,
$server_tag));
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// the client gets FINISHED // the client gets FINISHED
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
$status = $event->data; $status = $event->data;
$this->assertEquals(Grpc\STATUS_OK, $status->code); $this->assertSame(Grpc\STATUS_OK, $status->code);
$this->assertEquals($status_text, $status->details); $this->assertSame($status_text, $status->details);
// and the server gets FINISHED // and the server gets FINISHED
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
unset($call); unset($call);
unset($server_call); unset($server_call);

@ -36,59 +36,50 @@ class SecureEndToEndTest extends PHPUnit_Framework_TestCase{
'dummy_method', 'dummy_method',
$deadline); $deadline);
$tag = 1; $tag = 1;
$this->assertEquals(Grpc\CALL_OK, $call->invoke($this->client_queue, $tag, $tag);
$call->invoke($this->client_queue,
$tag,
$tag));
$server_tag = 2; $server_tag = 2;
$call->writes_done($tag); $call->writes_done($tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// check that a server rpc new was received // check that a server rpc new was received
$this->server->request_call($server_tag); $this->server->request_call($server_tag);
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\SERVER_RPC_NEW, $event->type); $this->assertSame(Grpc\SERVER_RPC_NEW, $event->type);
$server_call = $event->call; $server_call = $event->call;
$this->assertNotNull($server_call); $this->assertNotNull($server_call);
$this->assertEquals(Grpc\CALL_OK, $server_call->server_accept($this->server_queue, $server_tag);
$server_call->server_accept($this->server_queue,
$server_tag));
$this->assertEquals(Grpc\CALL_OK, $server_call->server_end_initial_metadata();
$server_call->server_end_initial_metadata());
// the server sends the status // the server sends the status
$this->assertEquals(Grpc\CALL_OK, $server_call->start_write_status(Grpc\STATUS_OK, $status_text, $server_tag);
$server_call->start_write_status(Grpc\STATUS_OK,
$status_text,
$server_tag));
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// the client gets CLIENT_METADATA_READ // the client gets CLIENT_METADATA_READ
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\CLIENT_METADATA_READ, $event->type); $this->assertSame(Grpc\CLIENT_METADATA_READ, $event->type);
// the client gets FINISHED // the client gets FINISHED
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
$status = $event->data; $status = $event->data;
$this->assertEquals(Grpc\STATUS_OK, $status->code); $this->assertSame(Grpc\STATUS_OK, $status->code);
$this->assertEquals($status_text, $status->details); $this->assertSame($status_text, $status->details);
// and the server gets FINISHED // and the server gets FINISHED
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
$status = $event->data; $status = $event->data;
unset($call); unset($call);
@ -106,10 +97,7 @@ class SecureEndToEndTest extends PHPUnit_Framework_TestCase{
'dummy_method', 'dummy_method',
$deadline); $deadline);
$tag = 1; $tag = 1;
$this->assertEquals(Grpc\CALL_OK, $call->invoke($this->client_queue, $tag, $tag);
$call->invoke($this->client_queue,
$tag,
$tag));
$server_tag = 2; $server_tag = 2;
@ -117,75 +105,68 @@ class SecureEndToEndTest extends PHPUnit_Framework_TestCase{
$call->start_write($req_text, $tag); $call->start_write($req_text, $tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\WRITE_ACCEPTED, $event->type); $this->assertSame(Grpc\WRITE_ACCEPTED, $event->type);
// check that a server rpc new was received // check that a server rpc new was received
$this->server->request_call($server_tag); $this->server->request_call($server_tag);
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\SERVER_RPC_NEW, $event->type); $this->assertSame(Grpc\SERVER_RPC_NEW, $event->type);
$server_call = $event->call; $server_call = $event->call;
$this->assertNotNull($server_call); $this->assertNotNull($server_call);
$this->assertEquals(Grpc\CALL_OK, $server_call->server_accept($this->server_queue, $server_tag);
$server_call->server_accept($this->server_queue,
$server_tag));
$this->assertEquals(Grpc\CALL_OK, $server_call->server_end_initial_metadata();
$server_call->server_end_initial_metadata());
// start the server read // start the server read
$server_call->start_read($server_tag); $server_call->start_read($server_tag);
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\READ, $event->type); $this->assertSame(Grpc\READ, $event->type);
$this->assertEquals($req_text, $event->data); $this->assertSame($req_text, $event->data);
// the server replies // the server replies
$this->assertEquals(Grpc\CALL_OK, $server_call->start_write($reply_text, $server_tag);
$server_call->start_write($reply_text, $server_tag));
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\WRITE_ACCEPTED, $event->type); $this->assertSame(Grpc\WRITE_ACCEPTED, $event->type);
// the client reads the metadata // the client reads the metadata
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\CLIENT_METADATA_READ, $event->type); $this->assertSame(Grpc\CLIENT_METADATA_READ, $event->type);
// the client reads the reply // the client reads the reply
$call->start_read($tag); $call->start_read($tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\READ, $event->type); $this->assertSame(Grpc\READ, $event->type);
$this->assertEquals($reply_text, $event->data); $this->assertSame($reply_text, $event->data);
// the client sends writes done // the client sends writes done
$call->writes_done($tag); $call->writes_done($tag);
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// the server sends the status // the server sends the status
$this->assertEquals(Grpc\CALL_OK, $server_call->start_write_status(GRPC\STATUS_OK, $status_text, $server_tag);
$server_call->start_write_status(GRPC\STATUS_OK,
$status_text,
$server_tag));
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertEquals(Grpc\FINISH_ACCEPTED, $event->type); $this->assertSame(Grpc\FINISH_ACCEPTED, $event->type);
$this->assertEquals(Grpc\OP_OK, $event->data); $this->assertSame(Grpc\OP_OK, $event->data);
// the client gets FINISHED // the client gets FINISHED
$event = $this->client_queue->next($deadline); $event = $this->client_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
$status = $event->data; $status = $event->data;
$this->assertEquals(Grpc\STATUS_OK, $status->code); $this->assertSame(Grpc\STATUS_OK, $status->code);
$this->assertEquals($status_text, $status->details); $this->assertSame($status_text, $status->details);
// and the server gets FINISHED // and the server gets FINISHED
$event = $this->server_queue->next($deadline); $event = $this->server_queue->next($deadline);
$this->assertNotNull($event); $this->assertNotNull($event);
$this->assertEquals(Grpc\FINISHED, $event->type); $this->assertSame(Grpc\FINISHED, $event->type);
unset($call); unset($call);
unset($server_call); unset($server_call);

@ -2,7 +2,7 @@
class TimevalTest extends PHPUnit_Framework_TestCase{ class TimevalTest extends PHPUnit_Framework_TestCase{
public function testCompareSame() { public function testCompareSame() {
$zero = Grpc\Timeval::zero(); $zero = Grpc\Timeval::zero();
$this->assertEquals(0, Grpc\Timeval::compare($zero, $zero)); $this->assertSame(0, Grpc\Timeval::compare($zero, $zero));
} }
public function testPastIsLessThanZero() { public function testPastIsLessThanZero() {

Loading…
Cancel
Save