tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_telemetry.js (1723B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 const { getFxAccountsSingleton } = ChromeUtils.importESModule(
      7  "resource://gre/modules/FxAccounts.sys.mjs"
      8 );
      9 const fxAccounts = getFxAccountsSingleton();
     10 
     11 _("Misc tests for FxAccounts.telemetry");
     12 
     13 const MOCK_HASHED_UID = "00112233445566778899aabbccddeeff";
     14 const MOCK_DEVICE_ID = "ffeeddccbbaa99887766554433221100";
     15 
     16 add_task(function test_sanitized_uid() {
     17  Services.prefs.deleteBranch(
     18    "identity.fxaccounts.account.telemetry.sanitized_uid"
     19  );
     20 
     21  // Returns `null` by default.
     22  Assert.equal(fxAccounts.telemetry.getSanitizedUID(), null);
     23 
     24  // Returns provided value if set.
     25  fxAccounts.telemetry._setHashedUID(MOCK_HASHED_UID);
     26  Assert.equal(fxAccounts.telemetry.getSanitizedUID(), MOCK_HASHED_UID);
     27 
     28  // Reverts to unset for falsey values.
     29  fxAccounts.telemetry._setHashedUID("");
     30  Assert.equal(fxAccounts.telemetry.getSanitizedUID(), null);
     31 });
     32 
     33 add_task(function test_sanitize_device_id() {
     34  Services.prefs.deleteBranch(
     35    "identity.fxaccounts.account.telemetry.sanitized_uid"
     36  );
     37 
     38  // Returns `null` by default.
     39  Assert.equal(fxAccounts.telemetry.sanitizeDeviceId(MOCK_DEVICE_ID), null);
     40 
     41  // Hashes with the sanitized UID if set.
     42  // (test value here is SHA256(MOCK_DEVICE_ID + MOCK_HASHED_UID))
     43  fxAccounts.telemetry._setHashedUID(MOCK_HASHED_UID);
     44  Assert.equal(
     45    fxAccounts.telemetry.sanitizeDeviceId(MOCK_DEVICE_ID),
     46    "dd7c845006df9baa1c6d756926519c8ce12f91230e11b6057bf8ec65f9b55c1a"
     47  );
     48 
     49  // Reverts to unset for falsey values.
     50  fxAccounts.telemetry._setHashedUID("");
     51  Assert.equal(fxAccounts.telemetry.sanitizeDeviceId(MOCK_DEVICE_ID), null);
     52 });