tor-browser

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

test_CFRMessageProvider.js (1067B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 const { CFRMessageProvider } = ChromeUtils.importESModule(
      5  "resource:///modules/asrouter/CFRMessageProvider.sys.mjs"
      6 );
      7 
      8 add_task(async function test_cfrMessages() {
      9  const { experimentValidator, messageValidators } = await makeValidators();
     10 
     11  const messages = await CFRMessageProvider.getMessages();
     12  for (const message of messages) {
     13    const validator = messageValidators[message.template];
     14    Assert.notStrictEqual(
     15      typeof validator,
     16      "undefined",
     17      typeof validator !== "undefined"
     18        ? `Schema validator found for ${message.template}.`
     19        : `No schema validator found for template ${message.template}. Please update this test to add one.`
     20    );
     21 
     22    assertValidates(
     23      validator,
     24      message,
     25      `Message ${message.id} validates as template ${message.template}`
     26    );
     27    assertValidates(
     28      experimentValidator,
     29      message,
     30      `Message ${message.id} validates as MessagingExperiment`
     31    );
     32  }
     33 });