55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
const { EnterprisePolicyTesting } = ChromeUtils.importESModule(
|
|
"resource://testing-common/EnterprisePolicyTesting.sys.mjs"
|
|
);
|
|
|
|
add_setup(function setup() {
|
|
// Instantiate the enterprise policy service.
|
|
void Cc["@mozilla.org/enterprisepolicies;1"].getService(Ci.nsIObserver);
|
|
});
|
|
|
|
add_task(async function testPolicyDisablesNimbus() {
|
|
info("Enabling policy");
|
|
await EnterprisePolicyTesting.setupPolicyEngineWithJson({
|
|
policies: {
|
|
DisableFirefoxStudies: true,
|
|
},
|
|
});
|
|
|
|
info("Is policy engine active?");
|
|
Assert.equal(
|
|
Services.policies.status,
|
|
Ci.nsIEnterprisePolicies.ACTIVE,
|
|
"Policy engine is active"
|
|
);
|
|
|
|
const loader = NimbusTestUtils.stubs.rsLoader();
|
|
const manager = loader.manager;
|
|
await manager.store.init();
|
|
await manager.onStartup();
|
|
|
|
Assert.ok(!manager.studiesEnabled, "ExperimentManager is disabled");
|
|
|
|
const setTimerStub = sinon.stub(loader, "setTimer");
|
|
const updateRecipes = sinon.stub(loader, "updateRecipes");
|
|
|
|
await loader.enable();
|
|
|
|
Assert.ok(
|
|
!loader._initialized,
|
|
"RemoteSettingsExperimentLoader not initailized"
|
|
);
|
|
Assert.ok(
|
|
setTimerStub.notCalled,
|
|
"RemoteSettingsExperimentLoader not polling for recipes"
|
|
);
|
|
Assert.ok(
|
|
updateRecipes.notCalled,
|
|
"RemoteSettingsExperimentLoader not updating recipes after startup"
|
|
);
|
|
});
|