summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/extensions/test/xpcshell/test_update_noSystemAddonUpdate.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_update_noSystemAddonUpdate.js')
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/test_update_noSystemAddonUpdate.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_update_noSystemAddonUpdate.js b/toolkit/mozapps/extensions/test/xpcshell/test_update_noSystemAddonUpdate.js
new file mode 100644
index 0000000000..4ee0d95476
--- /dev/null
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_update_noSystemAddonUpdate.js
@@ -0,0 +1,42 @@
+// Tests that system add-on doesnt request update while normal backgroundUpdateCheck
+
+createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "2");
+
+let distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "empty"], true);
+registerDirectory("XREAppFeat", distroDir);
+
+AddonTestUtils.usePrivilegedSignatures = "system";
+
+add_task(() => initSystemAddonDirs());
+
+const initialSetup = {
+ async setup() {
+ await buildPrefilledUpdatesDir();
+ distroDir.leafName = "empty";
+ },
+ initialState: [
+ { isUpgrade: false, version: null },
+ { isUpgrade: true, version: "2.0" },
+ ],
+};
+
+add_task(async function test_systems_update_uninstall_check() {
+ await setupSystemAddonConditions(initialSetup, distroDir);
+
+ const testserver = createHttpServer({ hosts: ["example.com"] });
+ testserver.registerPathHandler("/update.json", (request, response) => {
+ Assert.ok(
+ !request._queryString.includes("system2@tests.mozilla.org"),
+ "System addon should not request update from normal update process"
+ );
+ });
+
+ Services.prefs.setCharPref(
+ "extensions.update.background.url",
+ "http://example.com/update.json?id=%ITEM_ID%"
+ );
+
+ await AddonManagerPrivate.backgroundUpdateCheck();
+
+ await promiseShutdownManager();
+});