52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const { getFxAccountsSingleton } = ChromeUtils.importESModule(
|
|
"resource://gre/modules/FxAccounts.sys.mjs"
|
|
);
|
|
const fxAccounts = getFxAccountsSingleton();
|
|
|
|
_("Misc tests for FxAccounts.telemetry");
|
|
|
|
const MOCK_HASHED_UID = "00112233445566778899aabbccddeeff";
|
|
const MOCK_DEVICE_ID = "ffeeddccbbaa99887766554433221100";
|
|
|
|
add_task(function test_sanitized_uid() {
|
|
Services.prefs.deleteBranch(
|
|
"identity.fxaccounts.account.telemetry.sanitized_uid"
|
|
);
|
|
|
|
// Returns `null` by default.
|
|
Assert.equal(fxAccounts.telemetry.getSanitizedUID(), null);
|
|
|
|
// Returns provided value if set.
|
|
fxAccounts.telemetry._setHashedUID(MOCK_HASHED_UID);
|
|
Assert.equal(fxAccounts.telemetry.getSanitizedUID(), MOCK_HASHED_UID);
|
|
|
|
// Reverts to unset for falsey values.
|
|
fxAccounts.telemetry._setHashedUID("");
|
|
Assert.equal(fxAccounts.telemetry.getSanitizedUID(), null);
|
|
});
|
|
|
|
add_task(function test_sanitize_device_id() {
|
|
Services.prefs.deleteBranch(
|
|
"identity.fxaccounts.account.telemetry.sanitized_uid"
|
|
);
|
|
|
|
// Returns `null` by default.
|
|
Assert.equal(fxAccounts.telemetry.sanitizeDeviceId(MOCK_DEVICE_ID), null);
|
|
|
|
// Hashes with the sanitized UID if set.
|
|
// (test value here is SHA256(MOCK_DEVICE_ID + MOCK_HASHED_UID))
|
|
fxAccounts.telemetry._setHashedUID(MOCK_HASHED_UID);
|
|
Assert.equal(
|
|
fxAccounts.telemetry.sanitizeDeviceId(MOCK_DEVICE_ID),
|
|
"dd7c845006df9baa1c6d756926519c8ce12f91230e11b6057bf8ec65f9b55c1a"
|
|
);
|
|
|
|
// Reverts to unset for falsey values.
|
|
fxAccounts.telemetry._setHashedUID("");
|
|
Assert.equal(fxAccounts.telemetry.sanitizeDeviceId(MOCK_DEVICE_ID), null);
|
|
});
|