blob: 412ddaa182684b60b8c994114910be4496f0d64f [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview
* Mock implementation of remoting.OAuth2Api
*/
'use strict';
/** @suppress {duplicate} */
var remoting = remoting || {};
/**
* @constructor
* @implements {remoting.OAuth2Api}
*/
remoting.MockOAuth2Api = function() {
/**
* @type {string}
* @private
*/
this.email_ = 'fake-email@test-user.com';
/**
* @type {string}
* @private
*/
this.fullName_ = 'Fake User, Esq.';
};
/**
* @param {function(string, number): void} onDone
* @param {function(!remoting.Error):void} onError
* @param {string} clientId
* @param {string} clientSecret
* @param {string} refreshToken
* @return {void} Nothing.
*/
remoting.MockOAuth2Api.prototype.refreshAccessToken = function(
onDone, onError, clientId, clientSecret, refreshToken) {
window.setTimeout(
onDone.bind(null, remoting.MockIdentity.AccessToken.VALID, 60 * 60),
0);
};
/**
* @param {function(string, string, number): void} onDone
* @param {function(!remoting.Error):void} onError
* @param {string} clientId
* @param {string} clientSecret
* @param {string} code
* @param {string} redirectUri
* @return {void} Nothing.
*/
remoting.MockOAuth2Api.prototype.exchangeCodeForTokens = function(
onDone, onError, clientId, clientSecret, code, redirectUri) {
window.setTimeout(
onDone.bind(null, '', remoting.MockIdentity.AccessToken.VALID, 60 * 60),
0);
};
/**
* @param {function(string,string)} onDone
* @param {function(!remoting.Error)} onError
* @param {string} token
*/
remoting.MockOAuth2Api.prototype.getEmail = function(onDone, onError, token) {
remoting.MockIdentity.validateTokenAndCall(
token, onDone, onError, [this.email_]);
};
/**
* @param {function(string,string)} onDone
* @param {function(!remoting.Error)} onError
* @param {string} token
*/
remoting.MockOAuth2Api.prototype.getUserInfo =
function(onDone, onError, token) {
remoting.MockIdentity.validateTokenAndCall(
token, onDone, onError, [this.email_, this.fullName_]);
};
/**
* @param {boolean} active
*/
remoting.MockOAuth2Api.setActive = function(active) {
remoting.oauth2Api = active ? new remoting.MockOAuth2Api()
: new remoting.OAuth2ApiImpl();
};