toolkit/mozapps/update/tests/marionette/update_test_status.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:b0823d24cce0
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 const TEST_URL = "http://localhost";
5
6 setPref("b2g.update.apply-idle-timeout", 0);
7 setPref("app.update.backgroundErrors", 0);
8 setPref("app.update.backgroundMaxErrors", 100);
9
10 function forceCheckAndTestStatus(status, next) {
11 let mozSettings = window.navigator.mozSettings;
12 let forceSent = false;
13
14 mozSettings.addObserver("gecko.updateStatus", function statusObserver(setting) {
15 if (!forceSent) {
16 return;
17 }
18
19 mozSettings.removeObserver("gecko.updateStatus", statusObserver);
20 is(setting.settingValue, status, "gecko.updateStatus");
21 next();
22 });
23
24 sendContentEvent("force-update-check");
25 forceSent = true;
26 }
27
28 function testBadXml() {
29 setPref("app.update.url.override", TEST_URL + "/bad.xml");
30 forceCheckAndTestStatus("check-error-http-200", testAccessDenied);
31 }
32
33 function testAccessDenied() {
34 setPref("app.update.url.override", TEST_URL + "/cgi-bin/err.cgi?403");
35 forceCheckAndTestStatus("check-error-http-403", testNoUpdateXml);
36 }
37
38 function testNoUpdateXml() {
39 setPref("app.update.url.override", TEST_URL + "/none.html");
40 forceCheckAndTestStatus("check-error-http-404", testInternalServerError);
41 }
42
43 function testInternalServerError() {
44 setPref("app.update.url.override", TEST_URL + "/cgi-bin/err.cgi?500");
45 forceCheckAndTestStatus("check-error-http-500", testBadHostStatus);
46 }
47
48 function testBadHostStatus() {
49 setPref("app.update.url.override", "http://bad-host-doesnt-exist-sorry.com");
50 forceCheckAndTestStatus("check-error-" + Cr.NS_ERROR_UNKNOWN_HOST, cleanUp);
51 }
52
53 // Update test functions
54 function preUpdate() {
55 testBadXml();
56 }

mercurial