|
|
|
@ -35,6 +35,7 @@ |
|
|
|
|
|
|
|
|
|
var fs = require('fs'); |
|
|
|
|
var path = require('path'); |
|
|
|
|
var _ = require('underscore'); |
|
|
|
|
var grpc = require('..'); |
|
|
|
|
var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; |
|
|
|
|
var GoogleAuth = require('google-auth-library'); |
|
|
|
@ -45,6 +46,8 @@ var AUTH_SCOPE = 'https://www.googleapis.com/auth/xapi.zoo'; |
|
|
|
|
var AUTH_SCOPE_RESPONSE = 'xapi.zoo'; |
|
|
|
|
var AUTH_USER = ('155450119199-3psnrh1sdr3d8cpj1v46naggf81mhdnk' + |
|
|
|
|
'@developer.gserviceaccount.com'); |
|
|
|
|
var COMPUTE_ENGINE_USER = ('155450119199-r5aaqa2vqoa9g5mv2m6s3m1l293rlmel' + |
|
|
|
|
'@developer.gserviceaccount.com'); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Create a buffer filled with size zeroes |
|
|
|
@ -265,11 +268,12 @@ function cancelAfterFirstResponse(client, done) { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Run one of the authentication tests. |
|
|
|
|
* @param {string} expected_user The expected username in the response |
|
|
|
|
* @param {Client} client The client to test against |
|
|
|
|
* @param {function} done Callback to call when the test is completed. Included |
|
|
|
|
* primarily for use with mocha |
|
|
|
|
*/ |
|
|
|
|
function authTest(client, done) { |
|
|
|
|
function authTest(expected_user, client, done) { |
|
|
|
|
(new GoogleAuth()).getApplicationDefault(function(err, credential) { |
|
|
|
|
assert.ifError(err); |
|
|
|
|
if (credential.createScopedRequired()) { |
|
|
|
@ -290,7 +294,7 @@ function authTest(client, done) { |
|
|
|
|
assert.strictEqual(resp.payload.type, testProto.PayloadType.COMPRESSABLE); |
|
|
|
|
assert.strictEqual(resp.payload.body.limit - resp.payload.body.offset, |
|
|
|
|
314159); |
|
|
|
|
assert.strictEqual(resp.username, AUTH_USER); |
|
|
|
|
assert.strictEqual(resp.username, expected_user); |
|
|
|
|
assert.strictEqual(resp.oauth_scope, AUTH_SCOPE_RESPONSE); |
|
|
|
|
}); |
|
|
|
|
call.on('status', function(status) { |
|
|
|
@ -314,8 +318,8 @@ var test_cases = { |
|
|
|
|
empty_stream: emptyStream, |
|
|
|
|
cancel_after_begin: cancelAfterBegin, |
|
|
|
|
cancel_after_first_response: cancelAfterFirstResponse, |
|
|
|
|
compute_engine_creds: authTest, |
|
|
|
|
service_account_creds: authTest |
|
|
|
|
compute_engine_creds: _.partial(authTest, AUTH_USER), |
|
|
|
|
service_account_creds: _.partial(authTest, COMPUTE_ENGINE_USER) |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|