services/sync/tests/unit/test_status.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:e76d14115096
1 Cu.import("resource://services-sync/constants.js");
2 Cu.import("resource://services-sync/status.js");
3
4 function run_test() {
5
6 // Check initial states
7 do_check_false(Status.enforceBackoff);
8 do_check_eq(Status.backoffInterval, 0);
9 do_check_eq(Status.minimumNextSync, 0);
10
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);
18
19
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 }
29
30 Status.login = LOGIN_FAILED;
31 do_check_eq(Status.login, LOGIN_FAILED);
32 do_check_eq(Status.service, LOGIN_FAILED);
33 Status.resetSync();
34
35 Status.login = LOGIN_SUCCEEDED;
36 do_check_eq(Status.login, LOGIN_SUCCEEDED);
37 do_check_eq(Status.service, STATUS_OK);
38 Status.resetSync();
39
40
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);
45
46 Status.sync = SYNC_SUCCEEDED;
47 do_check_eq(Status.sync, SYNC_SUCCEEDED);
48 do_check_eq(Status.service, STATUS_OK);
49
50 Status.resetSync();
51
52
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);
57
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);
62
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);
68
69
70 // Check resetSync
71 Status.sync = SYNC_FAILED;
72 Status.resetSync();
73
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 }
79
80
81 // Check resetBackoff
82 Status.enforceBackoff = true;
83 Status.backOffInterval = 4815162342;
84 Status.backOffInterval = 42;
85 Status.resetBackoff();
86
87 do_check_false(Status.enforceBackoff);
88 do_check_eq(Status.backoffInterval, 0);
89 do_check_eq(Status.minimumNextSync, 0);
90
91 }

mercurial