tenfourfox/toolkit/mozapps/extensions/test/xpcshell/test_signed_long.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

52 lines
1.6 KiB
JavaScript

const PREF_XPI_SIGNATURES_DEV_ROOT = "xpinstall.signatures.dev-root";
// Disable update security
Services.prefs.setBoolPref(PREF_EM_CHECK_UPDATE_SECURITY, false);
// The test add-ons were signed by the dev root
Services.prefs.setBoolPref(PREF_XPI_SIGNATURES_DEV_ROOT, true);
const DATA = "data/signing_checks/";
const ID_63 = "123456789012345678901234567890123456789012345@tests.mozilla.org"
const ID_64 = "1234567890123456789012345678901234567890123456@tests.mozilla.org"
const ID_65 = "12345678901234567890123456789012345678901234568@tests.mozilla.org"
function run_test() {
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1");
startupManager();
run_next_test();
}
// Installs the cases that should be working
add_task(function* test_working() {
yield promiseInstallAllFiles([do_get_file(DATA + "long_63_plain.xpi"),
do_get_file(DATA + "long_64_plain.xpi"),
do_get_file(DATA + "long_65_hash.xpi")]);
let addons = yield promiseAddonsByIDs([ID_63, ID_64, ID_65]);
for (let addon of addons) {
do_check_neq(addon, null);
do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_SIGNED);
addon.uninstall();
}
});
// Installs the cases that should be broken
add_task(function* test_broken() {
yield promiseInstallAllFiles([do_get_file(DATA + "long_63_hash.xpi"),
do_get_file(DATA + "long_64_hash.xpi")]);
let addons = yield promiseAddonsByIDs([ID_63, ID_64]);
for (let addon of addons) {
do_check_neq(addon, null);
do_check_eq(addon.signedState, AddonManager.SIGNEDSTATE_BROKEN);
addon.uninstall();
}
});