From 5f41144b5cb2fc087ae5bc7067f605e543831f5d Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Tue, 26 May 2020 17:05:06 +0000 Subject: [PATCH] Bug 1640953 - Prevent RS dumps from being loaded in some blocklist tests r=gijs CLOSED TREE RemoteSettings helpfully falls back to loading from the JSON dumps when the list of records is empty. This breaks tests that load an empty blocklist, because unexpected records may appear. Fix this by inserting a dummy value in the blocklist. Invalid records should be ignored anyway, so this is a good way to prevent the dump from being loaded. Differential Revision: https://phabricator.services.mozilla.com/D76875 --- .../test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js | 4 +++- .../xpcshell/rs-blocklist/test_blocklist_mlbf_telemetry.js | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js index 255a2339b630..453880286917 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js +++ b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js @@ -173,7 +173,9 @@ add_task(async function handle_database_corruption() { // attachment is used as a fallback when the record is invalid. Here we also // check that there is a fallback when there is no record at all. - await AddonTestUtils.loadBlocklistRawData({ extensionsMLBF: [] }); + // Include a dummy record in the list, to prevent RemoteSettings from + // importing a JSON dump with unexpected records. + await AddonTestUtils.loadBlocklistRawData({ extensionsMLBF: [{}] }); // When the collection is empty, the last known MLBF should be used anyway. await checkBlocklistWorks(); diff --git a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_telemetry.js b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_telemetry.js index f0849d604b5f..32d7f01f1923 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_telemetry.js +++ b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_telemetry.js @@ -66,7 +66,10 @@ add_task(async function test_initialization() { // Test what happens if there is no blocklist data at all. add_task(async function test_without_mlbf() { - await AddonTestUtils.loadBlocklistRawData({ extensionsMLBF: [] }); + // Add one (invalid) value to the blocklist, to prevent the RemoteSettings + // client from importing the JSON dump (which could potentially cause the + // test to fail due to the unexpected imported records). + await AddonTestUtils.loadBlocklistRawData({ extensionsMLBF: [{}] }); assertTelemetryScalars({ "blocklist.mlbf_enabled": true, "blocklist.mlbf_stashes": true,