47 lines
1.8 KiB
JavaScript
47 lines
1.8 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const TELEMETRY_SERVER_PREF = "toolkit.telemetry.server";
|
|
const UPLOAD_PREF = "datareporting.healthreport.uploadEnabled";
|
|
const LOCALHOST_PREF = "telemetry.fog.test.localhost_port";
|
|
|
|
// FOG needs a profile directory to put its data in.
|
|
do_get_profile();
|
|
|
|
// We want Glean to use a localhost server so we can be SURE not to send data to the outside world.
|
|
// Yes, the port spells GLEAN on a T9 keyboard, why do you ask?
|
|
Services.prefs.setIntPref(LOCALHOST_PREF, 45326);
|
|
// We need to initialize it once, otherwise operations will be stuck in the pre-init queue.
|
|
Services.fog.initializeFOG();
|
|
|
|
add_task(function test_fog_upload_only() {
|
|
// Don't forget to point the telemetry server to localhost, or Telemetry
|
|
// might make a non-local connection during the test run.
|
|
Services.prefs.setStringPref(
|
|
TELEMETRY_SERVER_PREF,
|
|
"http://localhost/telemetry-fake/"
|
|
);
|
|
// Be sure to set port=-1 for faking success _before_ enabling upload.
|
|
// Or else there's a short window where we might send something.
|
|
Services.prefs.setIntPref(LOCALHOST_PREF, -1);
|
|
Services.prefs.setBoolPref(UPLOAD_PREF, true);
|
|
|
|
const value = 42;
|
|
Glean.testOnly.meaningOfLife.set(value);
|
|
// We specifically look at the custom ping's value because we know it
|
|
// won't be reset by being sent.
|
|
Assert.equal(value, Glean.testOnly.meaningOfLife.testGetValue("test-ping"));
|
|
|
|
// Despite upload being disabled, we keep the old values around.
|
|
Services.prefs.setBoolPref(UPLOAD_PREF, false);
|
|
Assert.equal(value, Glean.testOnly.meaningOfLife.testGetValue("test-ping"));
|
|
|
|
// Now, when we turn the fake upload off, we clear the stores
|
|
Services.prefs.setIntPref(LOCALHOST_PREF, 0);
|
|
Assert.equal(
|
|
undefined,
|
|
Glean.testOnly.meaningOfLife.testGetValue("test-ping")
|
|
);
|
|
});
|