tor-browser

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

test_upgradeStorageFrom2_1.js (2311B)


      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 UpgradeStorageFrom2_1To2_2 method (removal of
      8 * obsolete origins, deprecated clients and unknown temporary files).
      9 */
     10 
     11 async function testSteps() {
     12  const filePaths = [
     13    // Obsolete origins:
     14    "storage/default/chrome+++content+browser.xul",
     15 
     16    "storage/default/moz-safe-about+++home",
     17 
     18    // TODO: These three origins don't belong here! They were added one release
     19    //       later and the origin parser was fixed to handle these origins one
     20    //       release later as well, so users which already upgraded to 2.2 may
     21    //       still have issues related to these origins!
     22    "storage/default/about+home+1",
     23 
     24    "storage/default/about+home+1+q",
     25 
     26    // about:reader?url=xxx (before bug 1422456)
     27    "storage/default/about+reader+url=https%3A%2F%2Fexample.com",
     28 
     29    // Deprecated client:
     30    "storage/default/https+++example.com/asmjs",
     31 
     32    // Unknown temporary file:
     33    "storage/default/https+++example.com/idb/UUID123.tmp",
     34  ];
     35 
     36  const packages = [
     37    // Storage used by FF 57-67 (storage version 2.1 with obsolete origins, a
     38    // deprecated client and an unknown temporary file).
     39    "version2_1_profile",
     40    "../defaultStorageDirectory_shared",
     41  ];
     42 
     43  info("Clearing");
     44 
     45  let request = clear();
     46  await requestFinished(request);
     47 
     48  info("Verifying storage");
     49 
     50  verifyStorage(packages, "beforeInstall");
     51 
     52  info("Installing packages");
     53 
     54  installPackages(packages);
     55 
     56  info("Verifying storage");
     57 
     58  verifyStorage(packages, "afterInstall");
     59 
     60  info("Checking files and directories before upgrade (storage version 2.1)");
     61 
     62  for (const filePath of filePaths) {
     63    let file = getRelativeFile(filePath);
     64    let exists = file.exists();
     65    ok(exists, "File or directory does exist");
     66  }
     67 
     68  info("Initializing");
     69 
     70  // Initialize to trigger storage upgrade from version 2.1
     71  request = init();
     72  await requestFinished(request);
     73 
     74  info("Verifying storage");
     75 
     76  verifyStorage(packages, "afterInit");
     77 
     78  info("Checking files and directories after upgrade");
     79 
     80  for (const filePath of filePaths) {
     81    let file = getRelativeFile(filePath);
     82    let exists = file.exists();
     83    ok(!exists, "File or directory does not exist");
     84  }
     85 }