diff options
author | 2015-10-09 11:36:33 -0700 | |
---|---|---|
committer | 2015-10-09 12:55:34 -0700 | |
commit | 6374f9dc8368d3cbd65293e129a28a448adb75e9 (patch) | |
tree | 89e913be7008b3a3b1e2f6f7f737e634c07a2f0b /src | |
parent | 2e58fafe55b540e1faaa892743b41d3dfabc376c (diff) |
Fix a couple of issues with the node interop client
This fixes how the node interop client handles authentication failure
and how it checks the service account email responses.
Diffstat (limited to 'src')
-rw-r--r-- | src/node/interop/interop_client.js | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js index 54a256f277..6ee271f431 100644 --- a/src/node/interop/interop_client.js +++ b/src/node/interop/interop_client.js @@ -44,6 +44,9 @@ var GoogleAuth = require('google-auth-library'); var assert = require('assert'); +var SERVICE_ACCOUNT_EMAIL = require( + process.env.GOOGLE_APPLICATION_CREDENTIALS).client_email; + var ECHO_INITIAL_KEY = 'x-grpc-test-echo-initial'; var ECHO_TRAILING_KEY = 'x-grpc-test-echo-trailing-bin'; @@ -410,21 +413,21 @@ function computeEngineCreds(client, done, extra) { } function serviceAccountCreds(client, done, extra) { - authTest(extra.default_service_account, extra.oauth_scope, client, done); + authTest(SERVICE_ACCOUNT_EMAIL, extra.oauth_scope, client, done); } function jwtTokenCreds(client, done, extra) { - authTest(extra.default_service_account, null, client, done); + authTest(SERVICE_ACCOUNT_EMAIL, null, client, done); } function oauth2Test(client, done, extra) { - var arg = { - fill_username: true, - fill_oauth_scope: true - }; + var arg = { + fill_username: true, + fill_oauth_scope: true + }; client.unaryCall(arg, function(err, resp) { assert.ifError(err); - assert.strictEqual(resp.username, extra.service_account); + assert.strictEqual(resp.username, SERVICE_ACCOUNT_EMAIL); assert(extra.oauth_scope.indexOf(resp.oauth_scope) > -1); if (done) { done(); @@ -446,7 +449,7 @@ function perRpcAuthTest(client, done, extra) { var creds = grpc.credentials.createFromGoogleCredential(credential); client.unaryCall(arg, function(err, resp) { assert.ifError(err); - assert.strictEqual(resp.username, extra.service_account); + assert.strictEqual(resp.username, SERVICE_ACCOUNT_EMAIL); assert(extra.oauth_scope.indexOf(resp.oauth_scope) > -1); if (done) { done(); @@ -571,11 +574,12 @@ function runTest(address, host_override, test_case, tls, test_ca, done, extra) { var execute = function(err, creds) { assert.ifError(err); var client = new test.Client(address, creds, options); - test.run(client, done); + test.run(client, done, extra); }; if (test.getCreds) { test.getCreds(extra.oauth_scope, function(err, new_creds) { + assert.ifError(err); execute(err, grpc.credentials.combineChannelCredentials( creds, new_creds)); }); @@ -593,8 +597,7 @@ if (require.main === module) { }); var extra_args = { service_account: argv.default_service_account, - oauth_scope: argv.oauth_scope, - service_account_key_file: argv.service_account_key_file + oauth_scope: argv.oauth_scope }; runTest(argv.server_host + ':' + argv.server_port, argv.server_host_override, argv.test_case, argv.use_tls === 'true', argv.use_test_ca === 'true', |