| // 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(); |
| }; |