services/sync/tests/unit/test_status.js

Wed, 31 Dec 2014 07:22:50 +0100

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

Correct previous dual key logic pending first delivery installment.

     1 Cu.import("resource://services-sync/constants.js");
     2 Cu.import("resource://services-sync/status.js");
     4 function run_test() {
     6   // Check initial states
     7   do_check_false(Status.enforceBackoff);
     8   do_check_eq(Status.backoffInterval, 0);
     9   do_check_eq(Status.minimumNextSync, 0);
    11   do_check_eq(Status.service, STATUS_OK);
    12   do_check_eq(Status.sync, SYNC_SUCCEEDED);
    13   do_check_eq(Status.login, LOGIN_SUCCEEDED);
    14   for (let name in Status.engines) {
    15     do_throw('Status.engines should be empty.');
    16   }
    17   do_check_eq(Status.partial, false);
    20   // Check login status
    21   for each (let code in [LOGIN_FAILED_NO_USERNAME,
    22                          LOGIN_FAILED_NO_PASSWORD,
    23                          LOGIN_FAILED_NO_PASSPHRASE]) {
    24     Status.login = code;
    25     do_check_eq(Status.login, code);
    26     do_check_eq(Status.service, CLIENT_NOT_CONFIGURED);
    27     Status.resetSync();
    28   }
    30   Status.login = LOGIN_FAILED;
    31   do_check_eq(Status.login, LOGIN_FAILED);
    32   do_check_eq(Status.service, LOGIN_FAILED);
    33   Status.resetSync();
    35   Status.login = LOGIN_SUCCEEDED;
    36   do_check_eq(Status.login, LOGIN_SUCCEEDED);
    37   do_check_eq(Status.service, STATUS_OK);
    38   Status.resetSync();
    41   // Check sync status
    42   Status.sync = SYNC_FAILED;
    43   do_check_eq(Status.sync, SYNC_FAILED);
    44   do_check_eq(Status.service, SYNC_FAILED);
    46   Status.sync = SYNC_SUCCEEDED;
    47   do_check_eq(Status.sync, SYNC_SUCCEEDED);
    48   do_check_eq(Status.service, STATUS_OK);
    50   Status.resetSync();
    53   // Check engine status
    54   Status.engines = ["testEng1", ENGINE_SUCCEEDED];
    55   do_check_eq(Status.engines["testEng1"], ENGINE_SUCCEEDED);
    56   do_check_eq(Status.service, STATUS_OK);
    58   Status.engines = ["testEng2", ENGINE_DOWNLOAD_FAIL];
    59   do_check_eq(Status.engines["testEng1"], ENGINE_SUCCEEDED);
    60   do_check_eq(Status.engines["testEng2"], ENGINE_DOWNLOAD_FAIL);
    61   do_check_eq(Status.service, SYNC_FAILED_PARTIAL);
    63   Status.engines = ["testEng3", ENGINE_SUCCEEDED];
    64   do_check_eq(Status.engines["testEng1"], ENGINE_SUCCEEDED);
    65   do_check_eq(Status.engines["testEng2"], ENGINE_DOWNLOAD_FAIL);
    66   do_check_eq(Status.engines["testEng3"], ENGINE_SUCCEEDED);
    67   do_check_eq(Status.service, SYNC_FAILED_PARTIAL);
    70   // Check resetSync
    71   Status.sync = SYNC_FAILED;
    72   Status.resetSync();
    74   do_check_eq(Status.service, STATUS_OK);
    75   do_check_eq(Status.sync, SYNC_SUCCEEDED);
    76   for (name in Status.engines) {
    77     do_throw('Status.engines should be empty.');
    78   }
    81   // Check resetBackoff
    82   Status.enforceBackoff = true;
    83   Status.backOffInterval = 4815162342;
    84   Status.backOffInterval = 42;
    85   Status.resetBackoff();
    87   do_check_false(Status.enforceBackoff);
    88   do_check_eq(Status.backoffInterval, 0);
    89   do_check_eq(Status.minimumNextSync, 0);
    91 }

mercurial