Bug 1807667 - Change remote settings test dummy endpoint r=leplatrem,robwu,webdriver-reviewers,necko-reviewers,kershaw
authorYaraslau Kurmyza <ykurmyza@mozilla.com>
Thu, 05 Jan 2023 14:55:59 +0000
changeset 648148 e6925f98d5d9d62d492db445f842439f2d6f8f85
parent 648147 fd64e4a12b480d4b142ecfcbcb52a5ceab992402
child 648149 be9b60ce6cef1f5a373f9b00fe5d29447499939a
push id40527
push usernerli@mozilla.com
push dateThu, 05 Jan 2023 21:31:09 +0000
treeherdermozilla-central@b7c21d63bd62 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersleplatrem, robwu, webdriver-reviewers, necko-reviewers, kershaw
bugs1807667
milestone110.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1807667 - Change remote settings test dummy endpoint r=leplatrem,robwu,webdriver-reviewers,necko-reviewers,kershaw For remote settings testing "data:,#remote-settings-dummy/v1" URL is used: * data url to avoid network activity * ends with /v1 to match certain format, as checked at https://searchfox.org/mozilla-central/rev/a003f4e458fa9a1d2bb9ccb8e22ffb7b604835be/services/common/kinto-http-client.js#2224 * has empty body to not being mistaken with something useful Differential Revision: https://phabricator.services.mozilla.com/D165552
netwerk/test/unit/test_http2-proxy.js
netwerk/test/unit/test_http2_with_proxy.js
testing/marionette/client/marionette_driver/geckoinstance.py
testing/profiles/common/user.js
testing/profiles/unittest-required/user.js
testing/profiles/xpcshell/user.js
toolkit/components/extensions/test/xpcshell/webidl-api/xpcshell.ini
toolkit/components/extensions/test/xpcshell/xpcshell-e10s.ini
toolkit/components/extensions/test/xpcshell/xpcshell-legacy-ep.ini
toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
toolkit/components/extensions/test/xpcshell/xpcshell.ini
toolkit/mozapps/extensions/internal/AddonTestUtils.jsm
toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js
--- a/netwerk/test/unit/test_http2-proxy.js
+++ b/netwerk/test/unit/test_http2-proxy.js
@@ -365,17 +365,17 @@ add_task(async function setup() {
     processId,
     `http2ProxyCode.startNewProxy()`
   );
   proxy_port = proxy.port;
   Assert.notEqual(proxy_port, null);
 
   Services.prefs.setStringPref(
     "services.settings.server",
-    `data:text/html,test`
+    `data:,#remote-settings-dummy/v1`
   );
 
   Services.prefs.setBoolPref("network.http.http2.enabled", true);
 
   // Even with network state isolation active, we don't end up using the
   // partitioned principal.
   Services.prefs.setBoolPref("privacy.partition.network_state", true);
 
--- a/netwerk/test/unit/test_http2_with_proxy.js
+++ b/netwerk/test/unit/test_http2_with_proxy.js
@@ -44,17 +44,17 @@ add_setup(async function setup() {
   );
 
   loadGroup = Cc["@mozilla.org/network/load-group;1"].createInstance(
     Ci.nsILoadGroup
   );
 
   Services.prefs.setStringPref(
     "services.settings.server",
-    `data:text/html,test`
+    `data:,#remote-settings-dummy/v1`
   );
 
   proxy = new NodeHTTP2ProxyServer();
   await proxy.start();
 });
 
 registerCleanupFunction(async () => {
   Services.prefs.clearUserPref("network.http.speculative-parallel-limit");
--- a/testing/marionette/client/marionette_driver/geckoinstance.py
+++ b/testing/marionette/client/marionette_driver/geckoinstance.py
@@ -139,17 +139,17 @@ class GeckoInstance(object):
         "privacy.trackingprotection.enabled": False,
         # Disable recommended automation prefs in CI
         "remote.prefs.recommended": False,
         # Don't do network connections for mitm priming
         "security.certerrors.mitm.priming.enabled": False,
         # Tests don't wait for the notification button security delay
         "security.notification_enable_delay": 0,
         # Ensure blocklist updates don't hit the network
-        "services.settings.server": "http://%(server)s/dummy/blocklist/",
+        "services.settings.server": "data:,#remote-settings-dummy/v1",
         # Disable password capture, so that tests that include forms aren"t
         # influenced by the presence of the persistent doorhanger notification
         "signon.rememberSignons": False,
         # Prevent starting into safe mode after application crashes
         "toolkit.startup.max_resumed_crashes": -1,
         # Disable most telemetry pings
         "toolkit.telemetry.server": "https://%(server)s/telemetry-dummy/",
         # Disable window occlusion on Windows, see Bug 1802473.
--- a/testing/profiles/common/user.js
+++ b/testing/profiles/common/user.js
@@ -54,17 +54,17 @@ user_pref("general.useragent.updates.ena
 user_pref("hangmonitor.timeout", 0); // no hang monitor
 user_pref("media.gmp-manager.updateEnabled", false);
 // Don't do network connections for mitm priming
 user_pref("security.certerrors.mitm.priming.enabled", false);
 // Enable some dangerous features for test code. :-(
 user_pref("security.turn_off_all_security_so_that_viruses_can_take_over_this_computer", true);
 user_pref("xpinstall.signatures.required", false);
 // Prevent Remote Settings to issue non local connections.
-user_pref("services.settings.server", "http://localhost/remote-settings-dummy/v1");
+user_pref("services.settings.server", "data:,#remote-settings-dummy/v1");
 // Ensure autoplay is enabled for all platforms.
 user_pref("media.autoplay.default", 0); // 0=Allowed, 1=Blocked, 2=Prompt
 user_pref("media.autoplay.blocking_policy", 0);
 user_pref("media.autoplay.ask-permission", false);
 user_pref("media.autoplay.block-webaudio", false);
 user_pref("media.allowed-to-play.enabled", true);
 // Ensure media can always play without delay
 user_pref("media.block-autoplay-until-in-foreground", false);
--- a/testing/profiles/unittest-required/user.js
+++ b/testing/profiles/unittest-required/user.js
@@ -194,17 +194,17 @@ user_pref("privacy.trackingprotection.in
 // Disable all recommended Remote Protocol preferences for Gecko tests.
 // The prefs recommended by Remote Protocol are typically geared towards
 // consumer automation; not vendor testing.
 user_pref("remote.prefs.recommended", false);
 user_pref("security.default_personal_cert", "Select Automatically"); // Need to client auth test be w/o any dialogs
 // Existing tests don't wait for the notification button security delay
 user_pref("security.notification_enable_delay", 0);
 // Ensure blocklist updates don't hit the network
-user_pref("services.settings.server", "http://{server}/dummy-kinto/v1");
+user_pref("services.settings.server", "data:,#remote-settings-dummy/v1");
 user_pref("shell.checkDefaultClient", false);
 // Disable password capture, so that mochitests that include forms aren't
 // influenced by the presence of the persistent doorhanger notification.
 user_pref("signon.rememberSignons", false);
 user_pref("startup.homepage_welcome_url", "about:blank");
 user_pref("startup.homepage_welcome_url.additional", "");
 user_pref("test.mousescroll", true);
 // Don't send 'bhr' ping during tests, otherwise the testing framework might
--- a/testing/profiles/xpcshell/user.js
+++ b/testing/profiles/xpcshell/user.js
@@ -15,17 +15,17 @@ user_pref("extensions.webextensions.warn
 user_pref("geo.provider.testing", true);
 user_pref("browser.region.network.url", "");
 user_pref("geo.provider.network.compare.url", "");
 user_pref("media.gmp-manager.updateEnabled", false);
 user_pref("media.gmp-manager.url.override", "http://%(server)s/dummy-gmp-manager.xml");
 user_pref("toolkit.telemetry.server", "https://%(server)s/telemetry-dummy");
 user_pref("telemetry.fog.test.localhost_port", -1);
 // Prevent Remote Settings to issue non local connections.
-user_pref("services.settings.server", "http://localhost/remote-settings-dummy/v1");
+user_pref("services.settings.server", "data:,#remote-settings-dummy/v1");
 // Prevent intermediate preloads to be downloaded on Remote Settings polling.
 user_pref("security.remote_settings.intermediates.enabled", false);
 // The process priority manager only shifts priorities when it has at least
 // one active tab. xpcshell tabs don't have any active tabs, which would mean
 // all processes would run at low priority, which is not desirable, so we
 // disable the process priority manager entirely here.
 user_pref("dom.ipc.processPriorityManager.enabled", false);
 // Avoid idle-daily notifications, to avoid expensive operations that may
--- a/toolkit/components/extensions/test/xpcshell/webidl-api/xpcshell.ini
+++ b/toolkit/components/extensions/test/xpcshell/webidl-api/xpcshell.ini
@@ -11,17 +11,17 @@ prefs =
   # Enable ExtensionMockAPI WebIDL bindings used for unit tests
   # related to the API request forwarding and not tied to a particular
   # extension API.
   extensions.webidl-api.expose_mock_interface=true
   # Make sure that loading the default settings for url-classifier-skip-urls
   # doesn't interfere with running our tests while IDB operations are in
   # flight by overriding the remote settings server URL to
   # ensure that the IDB database isn't created in the first place.
-  services.settings.server=http://localhost:7777/remote-settings-dummy/v1
+  services.settings.server=data:,#remote-settings-dummy/v1
 
 # NOTE: these tests seems to be timing out because it takes too much time to
 # run all tests and then fully exiting the test.
 skip-if = os == "android" && verify
 
 [test_ext_webidl_api.js]
 [test_ext_webidl_api_event_callback.js]
 skip-if =
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-e10s.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell-e10s.ini
@@ -9,17 +9,17 @@ support-files =
   xpcshell-content.ini
 tags = webextensions webextensions-e10s
 
 # Make sure that loading the default settings for url-classifier-skip-urls
 # doesn't interfere with running our tests while IDB operations are in
 # flight by overriding the remote settings server URL to
 # ensure that the IDB database isn't created in the first place.
 prefs =
-  services.settings.server=http://localhost:7777/remote-settings-dummy/v1
+  services.settings.server=data:,#remote-settings-dummy/v1
 
 [include:xpcshell-common-e10s.ini]
 skip-if =
   socketprocess_networking # Bug 1759035
 [include:xpcshell-content.ini]
 skip-if =
   socketprocess_networking && fission # Bug 1759035
 
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-legacy-ep.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell-legacy-ep.ini
@@ -5,17 +5,17 @@ firefox-appdir = browser
 skip-if = appname == "thunderbird" || os == "android"
 dupe-manifest =
 
 # Make sure that loading the default settings for url-classifier-skip-urls
 # doesn't interfere with running our tests while IDB operations are in
 # flight by overriding the remote settings server URL to
 # ensure that the IDB database isn't created in the first place.
 prefs =
-  services.settings.server=http://localhost:7777/remote-settings-dummy/v1
+  services.settings.server=data:,#remote-settings-dummy/v1
 
 # Bug 1646182: Test the legacy ExtensionPermission backend until we fully
 # migrate to rkv
 [test_ext_permissions.js]
 [test_ext_permissions_api.js]
 [test_ext_permissions_migrate.js]
 [test_ext_permissions_uninstall.js]
 [test_ext_proxy_config.js]
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
@@ -14,17 +14,17 @@ support-files =
   xpcshell-content.ini
 tags = webextensions remote-webextensions
 
 # Make sure that loading the default settings for url-classifier-skip-urls
 # doesn't interfere with running our tests while IDB operations are in
 # flight by overriding the remote settings server URL to
 # ensure that the IDB database isn't created in the first place.
 prefs =
-  services.settings.server=http://localhost:7777/remote-settings-dummy/v1
+  services.settings.server=data:,#remote-settings-dummy/v1
 
 [include:xpcshell-common.ini]
 skip-if =
   os == "linux" && socketprocess_networking # Bug 1759035
 [include:xpcshell-common-e10s.ini]
 skip-if =
   os == "linux" && socketprocess_networking # Bug 1759035
 [include:xpcshell-content.ini]
--- a/toolkit/components/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell.ini
@@ -8,17 +8,17 @@ support-files =
   xpcshell-content.ini
 tags = webextensions in-process-webextensions condprof
 
 # Make sure that loading the default settings for url-classifier-skip-urls
 # doesn't interfere with running our tests while IDB operations are in
 # flight by overriding the remote settings server URL to
 # ensure that the IDB database isn't created in the first place.
 prefs =
-  services.settings.server=http://localhost:7777/remote-settings-dummy/v1
+  services.settings.server=data:,#remote-settings-dummy/v1
 
 # This file contains tests which are not affected by multi-process
 # configuration, or do not support out-of-process content or extensions
 # for one reason or another.
 #
 # Tests which are affected by remote content or remote extensions should
 # go in one of:
 #
--- a/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm
+++ b/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm
@@ -283,17 +283,17 @@ var AddonTestUtils = {
       "http://127.0.0.1/updateURL"
     );
     Services.prefs.setCharPref(
       "extensions.update.background.url",
       "http://127.0.0.1/updateBackgroundURL"
     );
     Services.prefs.setCharPref(
       "services.settings.server",
-      "http://localhost/dummy-kinto/v1"
+      "data:,#remote-settings-dummy/v1"
     );
 
     // By default ignore bundled add-ons
     Services.prefs.setBoolPref("extensions.installDistroAddons", false);
 
     // Ensure signature checks are enabled by default
     Services.prefs.setBoolPref("xpinstall.signatures.required", true);
 
--- a/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js
@@ -28,17 +28,17 @@ add_task(async function fetch_invalid_ml
   // the application. This test intentionally hides the actual path to get
   // deterministic results. To check whether the dump is correctly registered,
   // run test_blocklist_mlbf_dump.js
 
   // Forget about the packaged attachment.
   Downloader._RESOURCE_BASE_URL = "invalid://bogus";
   // NetworkError is expected here. The JSON.parse error could be triggered via
   // _baseAttachmentsURL < downloadAsBytes < download < download < _fetchMLBF if
-  // the request to  services.settings.server (http://localhost/dummy-kinto/v1)
+  // the request to  services.settings.server ("data:,#remote-settings-dummy/v1")
   // is fulfilled (but with invalid JSON). That request is not expected to be
   // fulfilled in the first place, but that is not a concern of this test.
   // This test passes if _fetchMLBF() rejects when given an invalid record.
   await Assert.rejects(
     ExtensionBlocklistMLBF._fetchMLBF(invalidRecord),
     /NetworkError|SyntaxError: JSON\.parse/,
     "record not found when there is no packaged MLBF"
   );