diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js index 54a256f277f65ef37f6a0c06e9912e89e7bb9143..6ee271f431b2b3fab3afebd35c8933249b9ca960 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',