public function setUp() { $credentials = Grpc\Credentials::createSsl(file_get_contents(dirname(__FILE__) . '/../data/ca.pem')); $server_credentials = Grpc\ServerCredentials::createSsl(null, file_get_contents(dirname(__FILE__) . '/../data/server1.key'), file_get_contents(dirname(__FILE__) . '/../data/server1.pem')); $this->server = new Grpc\Server(); $port = $this->server->addSecureHttp2Port('0.0.0.0:0', $server_credentials); $this->server->start(); $this->channel = new Grpc\Channel('localhost:' . $port, ['grpc.ssl_target_name_override' => 'foo.test.google.fr', 'credentials' => $credentials]); }
$host_override = $args['server_host_override']; } $use_tls = false; if (array_key_exists('use_tls', $args) && $args['use_tls'] != 'false') { $use_tls = true; } $use_test_ca = false; if (array_key_exists('use_test_ca', $args) && $args['use_test_ca'] != 'false') { $use_test_ca = true; } $opts = []; if ($use_tls) { if ($use_test_ca) { $ssl_credentials = Grpc\Credentials::createSsl(file_get_contents(dirname(__FILE__) . '/../data/ca.pem')); } else { $ssl_credentials = Grpc\Credentials::createSsl(); } $opts['credentials'] = $ssl_credentials; $opts['grpc.ssl_target_name_override'] = $host_override; } if (in_array($test_case, array('service_account_creds', 'compute_engine_creds', 'jwt_token_creds'))) { if ($test_case == 'jwt_token_creds') { $auth_credentials = ApplicationDefaultCredentials::getCredentials(); } else { $auth_credentials = ApplicationDefaultCredentials::getCredentials($args['oauth_scope']); } $opts['update_metadata'] = $auth_credentials->getUpdateMetadataFunc(); } if ($test_case == 'oauth2_auth_token') { $auth_credentials = ApplicationDefaultCredentials::getCredentials($args['oauth_scope']); $token = $auth_credentials->fetchAuthToken();
if (!array_key_exists('server_host', $args) || !array_key_exists('server_port', $args) || !array_key_exists('test_case', $args)) { throw new Exception('Missing argument'); } if ($args['server_port'] == 443) { $server_address = $args['server_host']; } else { $server_address = $args['server_host'] . ':' . $args['server_port']; } if (!array_key_exists('server_host_override', $args)) { $args['server_host_override'] = 'foo.test.google.fr'; } $ssl_cert_file = getenv('SSL_CERT_FILE'); if (!$ssl_cert_file) { $ssl_cert_file = dirname(__FILE__) . '/../data/ca.pem'; } $credentials = Grpc\Credentials::createSsl(file_get_contents($ssl_cert_file)); $opts = ['grpc.ssl_target_name_override' => $args['server_host_override'], 'credentials' => $credentials]; if (in_array($args['test_case'], array('service_account_creds', 'compute_engine_creds', 'jwt_token_creds'))) { if ($args['test_case'] == 'jwt_token_creds') { $auth = Google\Auth\ApplicationDefaultCredentials::getCredentials(); } else { $auth = Google\Auth\ApplicationDefaultCredentials::getCredentials($args['oauth_scope']); } $opts['update_metadata'] = $auth->getUpdateMetadataFunc(); } $stub = new grpc\testing\TestServiceClient($server_address, $opts); echo "Connecting to {$server_address}\n"; echo "Running test case {$args['test_case']}\n"; switch ($args['test_case']) { case 'empty_unary': emptyUnary($stub);
$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'); } $args = getopt('', array('server_host:', 'server_port:', 'test_case:')); if (!array_key_exists('server_host', $args) || !array_key_exists('server_port', $args) || !array_key_exists('test_case', $args)) { throw new Exception('Missing argument'); } $server_address = $args['server_host'] . ':' . $args['server_port']; $credentials = Grpc\Credentials::createSsl(file_get_contents(dirname(__FILE__) . '/../data/ca.pem')); $stub = new grpc\testing\TestServiceClient(new Grpc\BaseStub($server_address, ['grpc.ssl_target_name_override' => 'foo.test.google.fr', 'credentials' => $credentials])); echo "Connecting to {$server_address}\n"; echo "Running test case {$args['test_case']}\n"; switch ($args['test_case']) { case 'empty_unary': emptyUnary($stub); break; case 'large_unary': largeUnary($stub); break; case 'client_streaming': clientStreaming($stub); break; case 'server_streaming': serverStreaming($stub);