diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_signed_updatepref.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_signed_updatepref.js | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_signed_updatepref.js b/toolkit/mozapps/webextensions/test/xpcshell/test_signed_updatepref.js deleted file mode 100644 index eb1bb78b3..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_signed_updatepref.js +++ /dev/null @@ -1,136 +0,0 @@ -// Disable update security -Services.prefs.setBoolPref(PREF_EM_CHECK_UPDATE_SECURITY, false); -gUseRealCertChecks = true; - -const DATA = "data/signing_checks/"; -const ID = "test@tests.mozilla.org"; - -Components.utils.import("resource://testing-common/httpd.js"); -var gServer = new HttpServer(); -gServer.start(); - -gServer.registerPathHandler("/update.rdf", function(request, response) { - let updateData = {}; - updateData[ID] = [{ - version: "2.0", - targetApplications: [{ - id: "xpcshell@tests.mozilla.org", - minVersion: "4", - maxVersion: "6" - }] - }]; - - response.setStatusLine(request.httpVersion, 200, "OK"); - response.write(createUpdateRDF(updateData)); -}); - -const SERVER = "127.0.0.1:" + gServer.identity.primaryPort; -Services.prefs.setCharPref("extensions.update.background.url", "http://" + SERVER + "/update.rdf"); - -function verifySignatures() { - return new Promise(resolve => { - let observer = (subject, topic, data) => { - Services.obs.removeObserver(observer, "xpi-signature-changed"); - resolve(JSON.parse(data)); - } - Services.obs.addObserver(observer, "xpi-signature-changed", false); - - do_print("Verifying signatures"); - let XPIscope = Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm"); - XPIscope.XPIProvider.verifySignatures(); - }); -} - -function run_test() { - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "4", "4"); - - // Start and stop the manager to initialise everything in the profile before - // actual testing - startupManager(); - shutdownManager(); - - run_next_test(); -} - -// Updating the pref without changing the app version won't disable add-ons -// immediately but will after a signing check -add_task(function*() { - Services.prefs.setBoolPref(PREF_XPI_SIGNATURES_REQUIRED, false); - startupManager(); - - // Install the signed add-on - yield promiseInstallAllFiles([do_get_file(DATA + "unsigned_bootstrap_2.xpi")]); - - let addon = yield promiseAddonByID(ID); - do_check_neq(addon, null); - do_check_false(addon.appDisabled); - do_check_true(addon.isActive); - do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_MISSING); - - yield promiseShutdownManager(); - - Services.prefs.setBoolPref(PREF_XPI_SIGNATURES_REQUIRED, true); - - startupManager(); - - addon = yield promiseAddonByID(ID); - do_check_neq(addon, null); - do_check_false(addon.appDisabled); - do_check_true(addon.isActive); - do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_MISSING); - - // Update checks shouldn't affect the add-on - yield AddonManagerInternal.backgroundUpdateCheck(); - addon = yield promiseAddonByID(ID); - do_check_neq(addon, null); - do_check_false(addon.appDisabled); - do_check_true(addon.isActive); - do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_MISSING); - - let changes = yield verifySignatures(); - - do_check_eq(changes.disabled.length, 1); - do_check_eq(changes.disabled[0], ID); - - addon = yield promiseAddonByID(ID); - do_check_neq(addon, null); - do_check_true(addon.appDisabled); - do_check_false(addon.isActive); - do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_MISSING); - - addon.uninstall(); - - yield promiseShutdownManager(); -}); - -// Updating the pref with changing the app version will disable add-ons -// immediately -add_task(function*() { - Services.prefs.setBoolPref(PREF_XPI_SIGNATURES_REQUIRED, false); - startupManager(); - - // Install the signed add-on - yield promiseInstallAllFiles([do_get_file(DATA + "unsigned_bootstrap_2.xpi")]); - - let addon = yield promiseAddonByID(ID); - do_check_neq(addon, null); - do_check_false(addon.appDisabled); - do_check_true(addon.isActive); - do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_MISSING); - - yield promiseShutdownManager(); - - Services.prefs.setBoolPref(PREF_XPI_SIGNATURES_REQUIRED, true); - gAppInfo.version = 5.0 - startupManager(true); - - addon = yield promiseAddonByID(ID); - do_check_neq(addon, null); - do_check_true(addon.appDisabled); - do_check_false(addon.isActive); - do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_MISSING); - - addon.uninstall(); - - yield promiseShutdownManager(); -}); |