tor-browser

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

test_upgradeFromPersistentStorageDirectory_removeOldDirectory.js (2938B)


      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 the old directory is removed in
      8 * MaybeUpgradeFromPersistentStorageDirectoryToDefaultStorageDirectory method.
      9 */
     10 
     11 async function testSteps() {
     12  const url = "http://www.mozilla.org";
     13  const persistence = "default";
     14  const lastAccessed = 0x0005330925e07841;
     15 
     16  const packages = [
     17    // Storage used by FF 36-48 (storage/default/ directory and re-created
     18    // storage/persistent/ directory by an older FF).
     19    "persistentAndDefaultStorageDirectory_profile",
     20    "../defaultStorageDirectory_shared",
     21  ];
     22 
     23  info("Clearing");
     24 
     25  let request = clear();
     26  await requestFinished(request);
     27 
     28  info("Verifying storage");
     29 
     30  verifyStorage(packages, "beforeInstall");
     31 
     32  info("Installing packages");
     33 
     34  installPackages(packages);
     35 
     36  info("Verifying storage");
     37 
     38  verifyStorage(packages, "afterInstall");
     39 
     40  info("Checking directories");
     41 
     42  let persistentStorageDir = getRelativeFile("storage/persistent");
     43  let exists = persistentStorageDir.exists();
     44  ok(exists, "Persistent storage directory does exist");
     45 
     46  let defaultStorageDir = getRelativeFile("storage/default");
     47  exists = defaultStorageDir.exists();
     48  ok(exists, "Default storage directory does exist");
     49 
     50  info("Initializing");
     51 
     52  request = init();
     53  await requestFinished(request);
     54 
     55  info("Verifying storage");
     56 
     57  verifyStorage(packages, "afterInit");
     58 
     59  // TODO: Remove this block once temporary storage initialization and getting
     60  //       usage is able to ignore unknown directories.
     61  getRelativeFile("storage/default/invalid+++example.com").remove(false);
     62  getRelativeFile("storage/permanent/invalid+++example.com").remove(false);
     63  getRelativeFile("storage/temporary/invalid+++example.com").remove(false);
     64 
     65  info("Checking directories");
     66 
     67  persistentStorageDir = getRelativeFile("storage/persistent");
     68  exists = persistentStorageDir.exists();
     69  ok(!exists, "Persistent storage directory doesn't exist");
     70 
     71  defaultStorageDir = getRelativeFile("storage/default");
     72  exists = defaultStorageDir.exists();
     73  ok(exists, "Default storage directory does exist");
     74 
     75  info("Initializing temporary storage");
     76 
     77  request = initTemporaryStorage();
     78  await requestFinished(request);
     79 
     80  info("Initializing origin");
     81 
     82  request = initTemporaryOrigin(persistence, getPrincipal(url));
     83  await requestFinished(request);
     84 
     85  ok(!request.result, "Origin directory wasn't created");
     86 
     87  info("Getting usage");
     88 
     89  request = getUsage(function () {}, /* getAll */ true);
     90  await requestFinished(request);
     91 
     92  info("Verifying result");
     93 
     94  const result = request.result;
     95  is(result.length, 1, "Correct number of usage results");
     96 
     97  info("Verifying usage result");
     98 
     99  const usageResult = result[0];
    100  Assert.equal(usageResult.origin, url, "Origin equals");
    101  Assert.equal(usageResult.lastAccessed, lastAccessed, "LastAccessed equals");
    102 }