services/sync/modules-testing/fxa_utils.js

Wed, 31 Dec 2014 07:53:36 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:53:36 +0100
branch
TOR_BUG_3246
changeset 5
4ab42b5ab56c
permissions
-rw-r--r--

Correct small whitespace inconsistency, lost while renaming variables.

     1 "use strict";
     3 this.EXPORTED_SYMBOLS = [
     4   "Assert_rejects",
     5   "initializeIdentityWithTokenServerResponse",
     6 ];
     8 const {utils: Cu} = Components;
    10 Cu.import("resource://gre/modules/Log.jsm");
    11 Cu.import("resource://services-sync/main.js");
    12 Cu.import("resource://services-sync/browserid_identity.js");
    13 Cu.import("resource://services-common/tokenserverclient.js");
    14 Cu.import("resource://testing-common/services-common/logging.js");
    15 Cu.import("resource://testing-common/services/sync/utils.js");
    17 // This shouldn't be here - it should be part of the xpcshell harness.
    18 // Maybe as Assert.rejects - so we name it like that.
    19 function Assert_rejects(promise, message) {
    20   let deferred = Promise.defer();
    21   promise.then(
    22     () => deferred.reject(message || "Expected the promise to be rejected"),
    23     deferred.resolve
    24   );
    25   return deferred.promise;
    26 }
    28 // Create a new browserid_identity object and initialize it with a
    29 // mocked TokenServerClient which always receives the specified response.
    30 this.initializeIdentityWithTokenServerResponse = function(response) {
    31   // First create a mock "request" object that well' hack into the token server.
    32   // A log for it
    33   let requestLog = Log.repository.getLogger("testing.mock-rest");
    34   if (!requestLog.appenders.length) { // might as well see what it says :)
    35     requestLog.addAppender(new Log.DumpAppender());
    36     requestLog.level = Log.Level.Trace;
    37   }
    39   // A mock request object.
    40   function MockRESTRequest(url) {};
    41   MockRESTRequest.prototype = {
    42     _log: requestLog,
    43     setHeader: function() {},
    44     get: function(callback) {
    45       this.response = response;
    46       callback.call(this);
    47     }
    48   }
    49   // The mocked TokenServer client which will get the response.
    50   function MockTSC() { }
    51   MockTSC.prototype = new TokenServerClient();
    52   MockTSC.prototype.constructor = MockTSC;
    53   MockTSC.prototype.newRESTRequest = function(url) {
    54     return new MockRESTRequest(url);
    55   }
    56   // Arrange for the same observerPrefix as browserid_identity uses.
    57   MockTSC.prototype.observerPrefix = "weave:service";
    59   // tie it all together.
    60   Weave.Status.__authManager = Weave.Service.identity = new BrowserIDManager();
    61   Weave.Service._clusterManager = Weave.Service.identity.createClusterManager(Weave.Service);
    62   let browseridManager = Weave.Service.identity;
    63   // a sanity check
    64   if (!(browseridManager instanceof BrowserIDManager)) {
    65     throw new Error("sync isn't configured for browserid_identity");
    66   }
    67   let mockTSC = new MockTSC()
    68   configureFxAccountIdentity(browseridManager);
    69   browseridManager._tokenServerClient = mockTSC;
    70 }

mercurial