mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 13:51:41 +00:00
Bug 1725240 - Persist Nimbus experiment featureIds field to disk r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D122724
This commit is contained in:
parent
30455ed1d8
commit
367ad55539
@ -208,6 +208,7 @@ class _ExperimentManager {
|
|||||||
experimentType = TELEMETRY_DEFAULT_EXPERIMENT_TYPE,
|
experimentType = TELEMETRY_DEFAULT_EXPERIMENT_TYPE,
|
||||||
userFacingName,
|
userFacingName,
|
||||||
userFacingDescription,
|
userFacingDescription,
|
||||||
|
featureIds,
|
||||||
},
|
},
|
||||||
branch,
|
branch,
|
||||||
source,
|
source,
|
||||||
@ -224,6 +225,7 @@ class _ExperimentManager {
|
|||||||
userFacingName,
|
userFacingName,
|
||||||
userFacingDescription,
|
userFacingDescription,
|
||||||
lastSeen: new Date().toJSON(),
|
lastSeen: new Date().toJSON(),
|
||||||
|
featureIds,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Tag this as a forced enrollment. This prevents all unenrolling unless
|
// Tag this as a forced enrollment. This prevents all unenrolling unless
|
||||||
|
@ -72,6 +72,11 @@
|
|||||||
"force": {
|
"force": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "(debug) If the enrollment happened naturally or through devtools"
|
"description": "(debug) If the enrollment happened naturally or through devtools"
|
||||||
|
},
|
||||||
|
"featureIds": {
|
||||||
|
"type": "array",
|
||||||
|
"items": [{ "type": "string" }],
|
||||||
|
"description": "Array of strings corresponding to the branch features in the enrollment."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -289,6 +289,7 @@ const ExperimentFakes = {
|
|||||||
},
|
},
|
||||||
userFacingName: "Nimbus recipe",
|
userFacingName: "Nimbus recipe",
|
||||||
userFacingDescription: "NimbusTestUtils recipe",
|
userFacingDescription: "NimbusTestUtils recipe",
|
||||||
|
featureIds: ["test-feature"],
|
||||||
...props,
|
...props,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -318,3 +318,24 @@ add_task(async function test_forceEnroll_cleanup() {
|
|||||||
|
|
||||||
sandbox.restore();
|
sandbox.restore();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
add_task(async function test_featureIds_is_stored() {
|
||||||
|
Services.prefs.setStringPref("messaging-system.log", "all");
|
||||||
|
const recipe = ExperimentFakes.recipe("featureIds");
|
||||||
|
// Ensure we get enrolled
|
||||||
|
recipe.bucketConfig.count = recipe.bucketConfig.total;
|
||||||
|
const manager = ExperimentFakes.manager();
|
||||||
|
|
||||||
|
await manager.onStartup();
|
||||||
|
|
||||||
|
await manager.enroll(recipe, "test_featureIds_is_stored");
|
||||||
|
|
||||||
|
Assert.ok(manager.store.addExperiment.calledOnce, "experiment is stored");
|
||||||
|
let [enrollment] = manager.store.addExperiment.firstCall.args;
|
||||||
|
Assert.ok("featureIds" in enrollment, "featureIds is stored");
|
||||||
|
Assert.deepEqual(
|
||||||
|
enrollment.featureIds,
|
||||||
|
["test-feature"],
|
||||||
|
"Has expected value"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user