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 }