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 }