tor-browser

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

test_client_auth_remember_service_read.js (2073B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 "use strict";
      5 
      6 // This tests that the nsIClientAuthRememberService correctly reads its backing
      7 // state file.
      8 
      9 function run_test() {
     10  let stateFile = do_get_profile();
     11  stateFile.append(CLIENT_AUTH_FILE_NAME);
     12  let outputStream = FileUtils.openFileOutputStream(stateFile);
     13  let keyValuePairs = [
     14    {
     15      key: "example.com,C9:65:33:89:EE:DC:4D:05:DA:16:3D:D0:12:61:BC:61:21:51:AF:2B:CC:C6:E1:72:B3:78:23:0F:13:B1:C7:4D,",
     16      value: "AAAA",
     17    },
     18    {
     19      key: "example.com,C9:65:33:89:EE:DC:4D:05:DA:16:3D:D0:12:61:BC:61:21:51:AF:2B:CC:C6:E1:72:B3:78:23:0F:13:B1:C7:4D,^partitionKey=%28https%2Cexample.com%29",
     20      value: "BBBB",
     21    },
     22    { key: "example.test,,", value: "CCCC" },
     23  ];
     24  for (let keyValuePair of keyValuePairs) {
     25    append_line_to_data_storage_file(
     26      outputStream,
     27      1,
     28      1,
     29      keyValuePair.key,
     30      keyValuePair.value,
     31      1024
     32    );
     33  }
     34 
     35  let clientAuthRememberService = Cc[
     36    "@mozilla.org/security/clientAuthRememberService;1"
     37  ].getService(Ci.nsIClientAuthRememberService);
     38 
     39  let dbKey = {};
     40  ok(
     41    clientAuthRememberService.hasRememberedDecisionScriptable(
     42      "example.com",
     43      {},
     44      dbKey
     45    )
     46  );
     47  equal(dbKey.value, "AAAA");
     48 
     49  dbKey = {};
     50  ok(
     51    clientAuthRememberService.hasRememberedDecisionScriptable(
     52      "example.com",
     53      { partitionKey: "(https,example.com)" },
     54      dbKey
     55    )
     56  );
     57  equal(dbKey.value, "BBBB");
     58 
     59  ok(
     60    !clientAuthRememberService.hasRememberedDecisionScriptable(
     61      "example.org",
     62      {},
     63      {}
     64    )
     65  );
     66  ok(
     67    !clientAuthRememberService.hasRememberedDecisionScriptable(
     68      "example.com",
     69      { partitionKey: "(https,example.org)" },
     70      {}
     71    )
     72  );
     73 
     74  dbKey = {};
     75  ok(
     76    clientAuthRememberService.hasRememberedDecisionScriptable(
     77      "example.test",
     78      {},
     79      dbKey
     80    )
     81  );
     82  equal(dbKey.value, "CCCC");
     83 }