tor-browser

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

test_register_no_id.js (1668B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 var userAgentID = "9a2f9efe-2ebb-4bcb-a5d9-9e2b73d30afe";
      7 var channelID = "264c2ba0-f6db-4e84-acdb-bd225b62d9e3";
      8 
      9 function run_test() {
     10  do_get_profile();
     11  setPrefs({
     12    userAgentID,
     13    requestTimeout: 1000,
     14    retryBaseInterval: 150,
     15  });
     16  run_next_test();
     17 }
     18 
     19 add_task(async function test_register_no_id() {
     20  let registers = 0;
     21  let helloDone;
     22  let helloPromise = new Promise(resolve => (helloDone = after(2, resolve)));
     23 
     24  PushServiceWebSocket._generateID = () => channelID;
     25  PushService.init({
     26    serverURI: "wss://push.example.org/",
     27    makeWebSocket(uri) {
     28      return new MockWebSocket(uri, {
     29        onHello() {
     30          this.serverSendMsg(
     31            JSON.stringify({
     32              messageType: "hello",
     33              status: 200,
     34              uaid: userAgentID,
     35            })
     36          );
     37          helloDone();
     38        },
     39        onRegister(request) {
     40          registers++;
     41          equal(request.channelID, channelID, "Register: wrong channel ID");
     42          this.serverSendMsg(
     43            JSON.stringify({
     44              messageType: "register",
     45              status: 200,
     46            })
     47          );
     48        },
     49      });
     50    },
     51  });
     52 
     53  await Assert.rejects(
     54    PushService.register({
     55      scope: "https://example.com/incomplete",
     56      originAttributes: ChromeUtils.originAttributesToSuffix({
     57        inIsolatedMozBrowser: false,
     58      }),
     59    }),
     60    /Registration error/,
     61    "Expected error for incomplete register response"
     62  );
     63 
     64  await helloPromise;
     65  equal(registers, 1, "Wrong register count");
     66 });