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 }