From a90a5cba08fdf6c0ceb95101c275108a152a3aed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 12 Jun 2024 07:35:37 +0200 Subject: Merging upstream version 127.0. Signed-off-by: Daniel Baumann --- toolkit/components/nimbus/test/unit/head.js | 7 +++++- .../test/unit/test_ExperimentAPI_NimbusFeatures.js | 28 ++++++++++++++++++---- .../test/unit/test_ExperimentManager_enroll.js | 3 +-- .../test/unit/test_ExperimentManager_unenroll.js | 4 +++- 4 files changed, 33 insertions(+), 9 deletions(-) (limited to 'toolkit/components/nimbus/test/unit') diff --git a/toolkit/components/nimbus/test/unit/head.js b/toolkit/components/nimbus/test/unit/head.js index e74212161c..e2e42ee4c9 100644 --- a/toolkit/components/nimbus/test/unit/head.js +++ b/toolkit/components/nimbus/test/unit/head.js @@ -63,10 +63,15 @@ async function assertEmptyStore(store, { cleanup = false } = {}) { "Store should have no active enrollments" ); + store + .getAll() + .filter(e => !e.active) + .forEach(e => store._deleteForTests(e.slug)); + Assert.deepEqual( store .getAll() - .filter(e => e.inactive) + .filter(e => !e.active) .map(e => e.slug), [], "Store should have no inactive enrollments" diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js index 79304cd66e..9bbf26a6a0 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js @@ -92,8 +92,11 @@ add_task(async function readyCallAfterStore_with_remote_value() { await manager.store.addEnrollment(MATCHING_ROLLOUT); Assert.ok(!feature.getVariable("enabled"), "Loads value from store"); - manager.store._deleteForTests("aboutwelcome"); + + manager.unenroll(MATCHING_ROLLOUT.slug, "test-cleanup"); + sandbox.restore(); + await assertEmptyStore(manager.store); }); add_task(async function has_sync_value_before_ready() { @@ -121,7 +124,11 @@ add_task(async function has_sync_value_before_ready() { Assert.equal(feature.getVariable("remoteValue"), true, "Sync load from pref"); - manager.store._deleteForTests("aboutwelcome"); + Services.prefs.clearUserPref("nimbus.syncdefaultsstore.aboutwelcome"); + Services.prefs.clearUserPref( + "nimbus.syncdefaultsstore.aboutwelcome.remoteValue" + ); + await assertEmptyStore(manager.store); }); add_task(async function update_remote_defaults_onUpdate() { @@ -137,8 +144,10 @@ add_task(async function update_remote_defaults_onUpdate() { Assert.equal(stub.callCount, 1, "Called once for remote configs"); Assert.equal(stub.firstCall.args[1], "rollout-updated", "Correct reason"); - manager.store._deleteForTests("aboutwelcome"); + manager.unenroll(MATCHING_ROLLOUT.slug, "test-cleanup"); + sandbox.restore(); + await assertEmptyStore(manager.store); }); add_task(async function test_features_over_feature() { @@ -190,6 +199,9 @@ add_task(async function test_features_over_feature() { manager.store._deleteForTests("aboutwelcome"); manager.store._deleteForTests("matching-rollout"); + + await assertEmptyStore(manager.store); + sandbox.restore(); }); @@ -208,7 +220,8 @@ add_task(async function update_remote_defaults_readyPromise() { "Update called after enrollment processed." ); - manager.store._deleteForTests("aboutwelcome"); + manager.unenroll(MATCHING_ROLLOUT.slug, "test-cleanup"); + await assertEmptyStore(manager.store); sandbox.restore(); }); @@ -229,7 +242,8 @@ add_task(async function update_remote_defaults_enabled() { "Feature is disabled by remote configuration" ); - manager.store._deleteForTests("aboutwelcome"); + manager.unenroll(NON_MATCHING_ROLLOUT.slug, "test-cleanup"); + await assertEmptyStore(manager.store); sandbox.restore(); }); @@ -252,6 +266,7 @@ add_task(async function test_getVariable_no_mutation() { Assert.ok(feature.getVariable("mochitest"), "Got back the expected feature"); + await assertEmptyStore(manager.store); sandbox.restore(); }); @@ -284,4 +299,7 @@ add_task(async function remote_isEarlyStartup_config() { Services.prefs.clearUserPref( "nimbus.syncdefaultsstore.password-autocomplete" ); + + manager.unenroll(rollout.slug, "test-cleanup"); + await assertEmptyStore(manager.store); }); diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js b/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js index 1a57b33d66..4bc67a5883 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js @@ -670,7 +670,6 @@ add_task(async function enroll_in_reference_aw_experiment() { Assert.ok(prefValue.length < 3498, "Make sure we don't bloat the prefs"); manager.unenroll(recipe.slug, "enroll_in_reference_aw_experiment:cleanup"); - manager.store._deleteForTests("aboutwelcome"); await assertEmptyStore(manager.store); }); @@ -756,6 +755,7 @@ add_task(async function test_rollout_unenroll_conflict() { ); Assert.ok(enrollStub.calledOnce, "Should call enroll as expected"); + manager.unenroll(rollout.slug, "test-cleanup"); await assertEmptyStore(manager.store); sandbox.restore(); @@ -838,7 +838,6 @@ add_task(async function test_forceEnroll() { for (const { slug } of expected) { manager.unenroll(`optin-${slug}`); - manager.store._deleteForTests(`optin-${slug}`); } } diff --git a/toolkit/components/nimbus/test/unit/test_ExperimentManager_unenroll.js b/toolkit/components/nimbus/test/unit/test_ExperimentManager_unenroll.js index a32de32cd6..2173e34b5a 100644 --- a/toolkit/components/nimbus/test/unit/test_ExperimentManager_unenroll.js +++ b/toolkit/components/nimbus/test/unit/test_ExperimentManager_unenroll.js @@ -513,7 +513,9 @@ add_task(async function test_check_unseen_enrollments_telemetry_events() { featureId: "nimbusTelemetry", value: { gleanMetricConfiguration: { - "nimbus_events.enrollment_status": true, + metrics_enabled: { + "nimbus_events.enrollment_status": true, + }, }, }, }, -- cgit v1.2.3