gecko-dev/toolkit/components/backgroundtasks/tests/BackgroundTask_policies.jsm
Nick Alexander 84441f9db0 Bug 1682069 - Add test ensuring policies engine works for background tasks. r=mossop,mkaply
I've tested this explicitly with `AppUpdateURL` because that's the
policy-controlled value we care about for the first use case for
background tasks, namely the background update agent.

Differential Revision: https://phabricator.services.mozilla.com/D99846
2021-01-27 22:54:37 +00:00

31 lines
1 KiB
JavaScript

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var EXPORTED_SYMBOLS = ["runBackgroundTask"];
const { Checker } = ChromeUtils.import(
"resource://gre/modules/UpdateService.jsm"
);
const { EnterprisePolicyTesting } = ChromeUtils.import(
"resource://testing-common/EnterprisePolicyTesting.jsm"
);
async function runBackgroundTask(commandLine) {
let filePath = commandLine.getArgument(0);
await EnterprisePolicyTesting.setupPolicyEngineWithJson(filePath);
let checker = new Checker();
let actual = await checker.getUpdateURL();
let expected = commandLine.getArgument(1);
// 0, 1, 2, 3 are all meaningful exit codes already.
let exitCode = expected == actual ? 0 : 4;
console.error(
`runBackgroundTask: policies read AppUpdateURL '${actual}',
expected '${expected}', exiting with exitCode ${exitCode}`
);
return exitCode;
}