tor-browser

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

test_upgradeStorageFrom1_0_removeAppsData.js (2323B)


      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 MaybeRemoveAppsData method.
      8 */
      9 
     10 function* testSteps() {
     11  const origins = [
     12    {
     13      path: "storage/default/http+++www.mozilla.org",
     14      obsolete: false,
     15    },
     16 
     17    {
     18      path: "storage/default/app+++system.gaiamobile.org^appId=1007",
     19      obsolete: true,
     20    },
     21 
     22    {
     23      path: "storage/default/https+++developer.cdn.mozilla.net^appId=1007&inBrowser=1",
     24      obsolete: true,
     25    },
     26  ];
     27 
     28  const packages = [
     29    // Storage used by FF 49-54 (storage version 1.0 with apps data).
     30    "version1_0_appsData_profile",
     31    "../defaultStorageDirectory_shared",
     32  ];
     33 
     34  info("Clearing");
     35 
     36  clear(continueToNextStepSync);
     37  yield undefined;
     38 
     39  info("Verifying storage");
     40 
     41  verifyStorage(packages, "beforeInstall");
     42 
     43  info("Installing packages");
     44 
     45  installPackages(packages);
     46 
     47  info("Verifying storage");
     48 
     49  verifyStorage(packages, "afterInstall");
     50 
     51  info("Checking origin directories");
     52 
     53  for (let origin of origins) {
     54    let originDir = getRelativeFile(origin.path);
     55 
     56    let exists = originDir.exists();
     57    ok(exists, "Origin directory does exist");
     58  }
     59 
     60  info("Initializing");
     61 
     62  let request = init(continueToNextStepSync);
     63  yield undefined;
     64 
     65  Assert.equal(request.resultCode, NS_OK, "Initialization succeeded");
     66 
     67  info("Verifying storage");
     68 
     69  verifyStorage(packages, "afterInit");
     70 
     71  // TODO: Remove this block once getting usage is able to ignore unknown
     72  //       directories.
     73  getRelativeFile("storage/default/invalid+++example.com").remove(false);
     74  getRelativeFile("storage/permanent/invalid+++example.com").remove(false);
     75  getRelativeFile("storage/temporary/invalid+++example.com").remove(false);
     76 
     77  info("Checking origin directories");
     78 
     79  for (let origin of origins) {
     80    let originDir = getRelativeFile(origin.path);
     81 
     82    let exists = originDir.exists();
     83    if (origin.obsolete) {
     84      ok(!exists, "Origin directory doesn't exist");
     85    } else {
     86      ok(exists, "Origin directory does exist");
     87    }
     88  }
     89 
     90  info("Getting usage");
     91 
     92  getUsage(grabResultAndContinueHandler, /* getAll */ true);
     93  let result = yield undefined;
     94 
     95  info("Verifying result");
     96 
     97  is(result.length, 1, "Correct number of usage results");
     98 
     99  finishTest();
    100 }