Bug 1802175 - Add migration test for mv2 (required) to mv3 (optional) host permissions r=robwu

Differential Revision: https://phabricator.services.mozilla.com/D167626
This commit is contained in:
Tomislav Jovanovic 2023-01-25 21:58:24 +00:00
parent 67146cb0ec
commit 38f57efb7d

View file

@ -29,7 +29,7 @@ add_task(async function setup() {
AddonTestUtils.usePrivilegedSignatures = false; AddonTestUtils.usePrivilegedSignatures = false;
}); });
add_task(async function test_migrated_permission_to_optional() { async function test_migrated_permission_to_optional({ manifest_version }) {
let id = "permission-upgrade@test"; let id = "permission-upgrade@test";
let extensionData = { let extensionData = {
manifest: { manifest: {
@ -67,9 +67,16 @@ add_task(async function test_migrated_permission_to_optional() {
await extension.startup(); await extension.startup();
checkPermissions(); checkPermissions();
extensionData.manifest.manifest_version = manifest_version;
// Move to using optional permission // Move to using optional permission
extensionData.manifest.version = "2.0"; extensionData.manifest.version = "2.0";
extensionData.manifest.permissions = ["tabs", "http://example.net/*"]; extensionData.manifest.permissions = ["tabs"];
// The ExtensionTestCommon.generateFiles() test helper will normalize (move)
// host permissions into the `permissions` key for the MV2 test.
extensionData.manifest.host_permissions = ["http://example.net/*"];
extensionData.manifest.optional_permissions = [ extensionData.manifest.optional_permissions = [
"webRequest", "webRequest",
"http://example.com/*", "http://example.com/*",
@ -85,6 +92,15 @@ add_task(async function test_migrated_permission_to_optional() {
checkPermissions(); checkPermissions();
await extension.unload(); await extension.unload();
}
add_task(function test_migrated_permission_to_optional_mv2() {
return test_migrated_permission_to_optional({ manifest_version: 2 });
});
// Test migration of mv2 (required) to mv3 (optional) host permissions.
add_task(function test_migrated_permission_to_optional_mv3() {
return test_migrated_permission_to_optional({ manifest_version: 3 });
}); });
// This tests that settings are removed if a required permission is removed. // This tests that settings are removed if a required permission is removed.