diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_updatecheck.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_updatecheck.js | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_updatecheck.js b/toolkit/mozapps/webextensions/test/xpcshell/test_updatecheck.js deleted file mode 100644 index e8529bb2c..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_updatecheck.js +++ /dev/null @@ -1,236 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This verifies that AddonUpdateChecker works correctly - -Components.utils.import("resource://gre/modules/addons/AddonUpdateChecker.jsm"); - -Components.utils.import("resource://testing-common/httpd.js"); - -var testserver = createHttpServer(4444); -testserver.registerDirectory("/data/", do_get_file("data")); - -function checkUpdates(aId, aUpdateKey, aUpdateFile) { - return new Promise((resolve, reject) => { - AddonUpdateChecker.checkForUpdates(aId, aUpdateKey, `http://localhost:4444/data/${aUpdateFile}`, { - onUpdateCheckComplete: resolve, - - onUpdateCheckError: function(status) { - let error = new Error("Update check failed with status " + status); - error.status = status; - reject(error); - } - }); - }); -} - -function run_test() { - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1"); - - run_next_test(); -} - -// Test that a basic update check returns the expected available updates -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - let updates = yield checkUpdates("updatecheck1@tests.mozilla.org", null, file); - - equal(updates.length, 5); - let update = AddonUpdateChecker.getNewestCompatibleUpdate(updates); - notEqual(update, null); - equal(update.version, "3.0"); - update = AddonUpdateChecker.getCompatibilityUpdate(updates, "2"); - notEqual(update, null); - equal(update.version, "2.0"); - equal(update.targetApplications[0].minVersion, "1"); - equal(update.targetApplications[0].maxVersion, "2"); - } -}); - -/* - * Tests that the security checks are applied correctly - * - * Test signature updateHash updateLink expected - *-------------------------------------------------------- - * 2 absent absent http fail - * 3 broken absent http fail - * 4 correct absent http no update - * 5 correct sha1 http update - * 6 corrent absent https update - * 7 corrent sha1 https update - * 8 corrent md2 http no update - * 9 corrent md2 https update - */ - -var updateKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDK426erD/H3XtsjvaB5+PJqbhj" + - "Zc9EDI5OCJS8R3FIObJ9ZHJK1TXeaE7JWqt9WUmBWTEFvwS+FI9vWu8058N9CHhD" + - "NyeP6i4LuUYjTURnn7Yw/IgzyIJ2oKsYa32RuxAyteqAWqPT/J63wBixIeCxmysf" + - "awB/zH4KaPiY3vnrzQIDAQAB"; - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - try { - yield checkUpdates("test_bug378216_5@tests.mozilla.org", - updateKey, file); - throw "Expected the update check to fail"; - } catch (e) {} - } -}); - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - try { - yield checkUpdates("test_bug378216_7@tests.mozilla.org", - updateKey, file); - - throw "Expected the update check to fail"; - } catch (e) {} - } -}); - -add_task(function* () { - // Make sure that the JSON manifest is rejected when an update key is - // required, but perform the remaining tests which aren't expected to fail - // because of the update key, without requiring one for the JSON variant. - - try { - let updates = yield checkUpdates("test_bug378216_8@tests.mozilla.org", - updateKey, "test_updatecheck.json"); - - throw "Expected the update check to fail"; - } catch (e) {} - - for (let [file, key] of [["test_updatecheck.rdf", updateKey], - ["test_updatecheck.json", null]]) { - let updates = yield checkUpdates("test_bug378216_8@tests.mozilla.org", - key, file); - equal(updates.length, 1); - ok(!("updateURL" in updates[0])); - } -}); - -add_task(function* () { - for (let [file, key] of [["test_updatecheck.rdf", updateKey], - ["test_updatecheck.json", null]]) { - let updates = yield checkUpdates("test_bug378216_9@tests.mozilla.org", - key, file); - equal(updates.length, 1); - equal(updates[0].version, "2.0"); - ok("updateURL" in updates[0]); - } -}); - -add_task(function* () { - for (let [file, key] of [["test_updatecheck.rdf", updateKey], - ["test_updatecheck.json", null]]) { - let updates = yield checkUpdates("test_bug378216_10@tests.mozilla.org", - key, file); - equal(updates.length, 1); - equal(updates[0].version, "2.0"); - ok("updateURL" in updates[0]); - } -}); - -add_task(function* () { - for (let [file, key] of [["test_updatecheck.rdf", updateKey], - ["test_updatecheck.json", null]]) { - let updates = yield checkUpdates("test_bug378216_11@tests.mozilla.org", - key, file); - equal(updates.length, 1); - equal(updates[0].version, "2.0"); - ok("updateURL" in updates[0]); - } -}); - -add_task(function* () { - for (let [file, key] of [["test_updatecheck.rdf", updateKey], - ["test_updatecheck.json", null]]) { - let updates = yield checkUpdates("test_bug378216_12@tests.mozilla.org", - key, file); - equal(updates.length, 1); - do_check_false("updateURL" in updates[0]); - } -}); - -add_task(function* () { - for (let [file, key] of [["test_updatecheck.rdf", updateKey], - ["test_updatecheck.json", null]]) { - let updates = yield checkUpdates("test_bug378216_13@tests.mozilla.org", - key, file); - equal(updates.length, 1); - equal(updates[0].version, "2.0"); - ok("updateURL" in updates[0]); - } -}); - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - let updates = yield checkUpdates("test_bug378216_14@tests.mozilla.org", - null, file); - equal(updates.length, 0); - } -}); - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - try { - yield checkUpdates("test_bug378216_15@tests.mozilla.org", - null, file); - - throw "Update check should have failed"; - } catch (e) { - equal(e.status, AddonUpdateChecker.ERROR_PARSE_ERROR); - } - } -}); - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - let updates = yield checkUpdates("ignore-compat@tests.mozilla.org", - null, file); - equal(updates.length, 3); - let update = AddonUpdateChecker.getNewestCompatibleUpdate( - updates, null, null, true); - notEqual(update, null); - equal(update.version, 2); - } -}); - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - let updates = yield checkUpdates("compat-override@tests.mozilla.org", - null, file); - equal(updates.length, 3); - let overrides = [{ - type: "incompatible", - minVersion: 1, - maxVersion: 2, - appID: "xpcshell@tests.mozilla.org", - appMinVersion: 0.1, - appMaxVersion: 0.2 - }, { - type: "incompatible", - minVersion: 2, - maxVersion: 2, - appID: "xpcshell@tests.mozilla.org", - appMinVersion: 1, - appMaxVersion: 2 - }]; - let update = AddonUpdateChecker.getNewestCompatibleUpdate( - updates, null, null, true, false, overrides); - notEqual(update, null); - equal(update.version, 1); - } -}); - -add_task(function* () { - for (let file of ["test_updatecheck.rdf", "test_updatecheck.json"]) { - let updates = yield checkUpdates("compat-strict-optin@tests.mozilla.org", - null, file); - equal(updates.length, 1); - let update = AddonUpdateChecker.getNewestCompatibleUpdate( - updates, null, null, true, false); - equal(update, null); - } -}); |