tor-browser

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

test_originMismatch.js (2262B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 /**
      7 * This test is mainly to verify that temporary storage initialization should
      8 * succeed while there is an origin directory that has an inconsistency between
      9 * its directory name and the origin name in its directory metadata file.
     10 */
     11 
     12 async function testSteps() {
     13  const packages = ["originMismatch_profile", "defaultStorageDirectory_shared"];
     14 
     15  info("Clearing");
     16 
     17  let request = clear();
     18  await requestFinished(request);
     19 
     20  info("Verifying storage");
     21 
     22  verifyStorage(packages, "beforeInstall");
     23 
     24  info("Installing package");
     25 
     26  // The profile contains:
     27  // - storage.sqlite (v2_3)
     28  // (A) Verify we are okay while the directory that we want to restore has
     29  // already existed.
     30  // - storage/default/http+++www.example.com/.metadata-v2
     31  //   (origin: http://www.example.com.)
     32  // - storage/default/http+++www.example.com/cache/.padding
     33  // - storage/default/http+++www.example.com./
     34  // (B) Verify restoring origin directory succeed.
     35  // - storage/default/http+++www.example.org/.metadata-v2
     36  //   (origin: http://www.example.org.)
     37  // - storage/default/http+++www.example.org/cache/.padding
     38  //
     39  // ToDo: Test case like:
     40  // - storage/default/http+++www.example.org(1)/.metadata-v2
     41  //   (origin: http://www.example.org)
     42  // - storage/default/http+++www.example.org/
     43  //
     44  // - storage/default/http+++www.foo.com/.metadata-v2
     45  //   (origin: http://www.bar.com)
     46  installPackages(packages);
     47 
     48  info("Verifying storage");
     49 
     50  verifyStorage(packages, "afterInstall");
     51 
     52  info("Initializing storage");
     53 
     54  request = init();
     55  await requestFinished(request);
     56 
     57  // ToDo: Remove this code once we support unknown directories in respository
     58  // (bug 1594075).
     59  let invalidDir = getRelativeFile("storage/default/invalid+++example.com");
     60  invalidDir.remove(true);
     61  invalidDir = getRelativeFile("storage/temporary/invalid+++example.com");
     62  invalidDir.remove(true);
     63 
     64  info("Initializing temporary storage");
     65 
     66  request = initTemporaryStorage();
     67  await requestFinished(request);
     68 
     69  info("Verifying storage");
     70 
     71  verifyStorage(packages, "afterInitTemporaryStorage");
     72 
     73  request = clear();
     74  await requestFinished(request);
     75 }