1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 registerCleanupFunction(async () => {
12 const { updateAppInfo
} = ChromeUtils
.importESModule(
13 "resource://testing-common/AppInfo.sys.mjs"
18 ID
: "xpcshell@tests.mozilla.org",
20 platformVersion
: "48",
23 const { EnterprisePolicyTesting
} = ChromeUtils
.importESModule(
24 "resource://testing-common/EnterprisePolicyTesting.sys.mjs"
27 // This initializes the policy engine for xpcshell tests
28 let policies
= Cc
["@mozilla.org/enterprisepolicies;1"].getService(
31 policies
.observe(null, "policies-startup", null);
33 add_task(async
function test_enterprise_policy_unlocked() {
34 await EnterprisePolicyTesting
.setupPolicyEngineWithJson({
38 ProviderURL
: "https://example.org/provider",
39 ExcludedDomains
: ["example.com", "example.org"],
44 equal(Services
.prefs
.getIntPref("network.trr.mode"), 5);
45 equal(Services
.prefs
.prefIsLocked("network.trr.mode"), false);
47 Services
.prefs
.getStringPref("network.trr.uri"),
48 "https://example.org/provider"
50 equal(Services
.prefs
.prefIsLocked("network.trr.uri"), false);
52 Services
.prefs
.getStringPref("network.trr.excluded-domains"),
53 "example.com,example.org"
55 equal(Services
.prefs
.prefIsLocked("network.trr.excluded-domains"), false);
56 equal(Services
.dns
.currentTrrMode
, 5);
57 equal(Services
.dns
.currentTrrURI
, "https://example.org/provider");
58 Services
.dns
.setDetectedTrrURI("https://autodetect.example.com/provider");
59 equal(Services
.dns
.currentTrrMode
, 5);
60 equal(Services
.dns
.currentTrrURI
, "https://example.org/provider");
63 add_task(async
function test_enterprise_policy_locked() {
64 // Read dns.currentTrrMode to make DNS service initialized earlier.
65 info("Services.dns.currentTrrMode:" + Services
.dns
.currentTrrMode
);
66 await EnterprisePolicyTesting
.setupPolicyEngineWithJson({
70 ProviderURL
: "https://example.com/provider",
71 ExcludedDomains
: ["example.com", "example.org"],
77 equal(Services
.prefs
.getIntPref("network.trr.mode"), 2);
78 equal(Services
.prefs
.prefIsLocked("network.trr.mode"), true);
80 Services
.prefs
.getStringPref("network.trr.uri"),
81 "https://example.com/provider"
83 equal(Services
.prefs
.prefIsLocked("network.trr.uri"), true);
85 Services
.prefs
.getStringPref("network.trr.excluded-domains"),
86 "example.com,example.org"
88 equal(Services
.prefs
.prefIsLocked("network.trr.excluded-domains"), true);
89 equal(Services
.dns
.currentTrrMode
, 2);
90 equal(Services
.dns
.currentTrrURI
, "https://example.com/provider");
91 Services
.dns
.setDetectedTrrURI("https://autodetect.example.com/provider");
92 equal(Services
.dns
.currentTrrURI
, "https://example.com/provider");