Skip to content
Snippets Groups Projects
Commit 3d1c6fbd authored by Mathew Hodson's avatar Mathew Hodson
Browse files

Bug 1746709 - Use `ChromeUtils.import` with one parameter in test_GMPInstallManager.js. r=robwu

Export new `ProductAddonCheckerTestUtils` for methods only used by
tests.

Differential Revision: https://phabricator.services.mozilla.com/D134217
parent 0afa80b9
No related branches found
No related tags found
No related merge requests found
......@@ -557,7 +557,6 @@ module.exports = {
"toolkit/components/featuregates/test/unit/test_FeatureGate.js",
"toolkit/components/normandy/test/browser/browser_actions_ShowHeartbeatAction.js",
"toolkit/modules/subprocess/test/xpcshell/test_subprocess.js",
"toolkit/modules/tests/xpcshell/test_GMPInstallManager.js",
"toolkit/mozapps/extensions/internal/AddonTestUtils.jsm",
"toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js",
"toolkit/mozapps/extensions/test/xpcshell/head_addons.js",
......
......@@ -4,7 +4,7 @@ const { AddonTestUtils } = ChromeUtils.import(
"resource://testing-common/AddonTestUtils.jsm"
);
const { ProductAddonChecker } = ChromeUtils.import(
const { ProductAddonCheckerTestUtils } = ChromeUtils.import(
"resource://gre/modules/addons/ProductAddonChecker.jsm"
);
......@@ -69,7 +69,7 @@ add_task(async function test_management_install() {
},
});
let themeXPIFileHash = await ProductAddonChecker.computeHash(
let themeXPIFileHash = await ProductAddonCheckerTestUtils.computeHash(
"sha256",
themeXPIFile.path
);
......
This diff is collapsed.
......@@ -4,9 +4,7 @@
"use strict";
/* exported ProductAddonChecker */
var EXPORTED_SYMBOLS = ["ProductAddonChecker"];
var EXPORTED_SYMBOLS = ["ProductAddonChecker", "ProductAddonCheckerTestUtils"];
const { XPCOMUtils } = ChromeUtils.import(
"resource://gre/modules/XPCOMUtils.jsm"
......@@ -21,12 +19,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
ServiceRequest: "resource://gre/modules/ServiceRequest.jsm",
});
// This exists so that tests can override the ServiceRequest behaviour for
// downloading the addon update XML file.
var CreateServiceRequest = function() {
return new ServiceRequest();
};
// This will inherit settings from the "addons" logger.
var logger = Log.repository.getLogger("addons.productaddons");
// We want to set the level of this logger independent from its parent to help
......@@ -212,7 +204,7 @@ function downloadXMLWithRequest(
allowedCerts = null
) {
return new Promise((resolve, reject) => {
let request = CreateServiceRequest();
let request = new ServiceRequest();
// This is here to let unit test code override the ServiceRequest.
if (request.wrappedJSObject) {
request = request.wrappedJSObject;
......@@ -565,7 +557,27 @@ const ProductAddonChecker = {
throw e;
}
},
};
// For test use only.
// For test use only.
const ProductAddonCheckerTestUtils = {
computeHash,
/**
* Used to override ServiceRequest calls with a mock request.
* @param mockRequest The mocked ServiceRequest object.
* @param callback Method called with the overridden ServiceRequest. The override
* is undone after the callback returns.
*/
async overrideServiceRequest(mockRequest, callback) {
let originalServiceRequest = ServiceRequest;
ServiceRequest = function() {
return mockRequest;
};
try {
return await callback();
} finally {
ServiceRequest = originalServiceRequest;
}
},
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment