summaryrefslogtreecommitdiffstats
path: root/toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js')
-rw-r--r--toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js b/toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js
index ac4722fd84..64efa270d7 100644
--- a/toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js
+++ b/toolkit/components/resistfingerprinting/tests/browser/browser_fingerprintingRemoteOverrides.js
@@ -323,6 +323,51 @@ add_task(async function test_remote_settings() {
db.clear();
});
+add_task(async function test_remote_settings_pref() {
+ // Add initial empty record.
+ let db = RemoteSettings(COLLECTION_NAME).db;
+ await db.importChanges({}, Date.now(), []);
+
+ for (let test of TEST_CASES) {
+ info(`Testing with entry ${JSON.stringify(test.entires)}`);
+
+ // Disable remote overrides
+ await SpecialPowers.pushPrefEnv({
+ set: [
+ ["privacy.fingerprintingProtection.remoteOverrides.enabled", false],
+ ],
+ });
+
+ // Create a promise for waiting the overrides get updated.
+ let promise = promiseObserver("fpp-test:set-overrides-finishes");
+
+ // Trigger the fingerprinting overrides update by a remote settings sync.
+ await RemoteSettings(COLLECTION_NAME).emit("sync", {
+ data: {
+ current: test.entires,
+ },
+ });
+ await promise;
+
+ ok(true, "Got overrides update");
+
+ for (let expect of test.expects) {
+ try {
+ // Check for the existance of RFP overrides
+ Services.rfp.getFingerprintingOverrides(expect.domain);
+ ok(
+ false,
+ "This line should never run as the override should not exist and the previous line would throw an exception"
+ );
+ } catch (e) {
+ ok(true, "Received an exception as expected");
+ }
+ }
+ }
+
+ db.clear();
+});
+
add_task(async function test_pref() {
for (let test of TEST_CASES) {
info(`Testing with entry ${JSON.stringify(test.entires)}`);