test_originMismatch.js (2262B)
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 temporary storage initialization should 8 * succeed while there is an origin directory that has an inconsistency between 9 * its directory name and the origin name in its directory metadata file. 10 */ 11 12 async function testSteps() { 13 const packages = ["originMismatch_profile", "defaultStorageDirectory_shared"]; 14 15 info("Clearing"); 16 17 let request = clear(); 18 await requestFinished(request); 19 20 info("Verifying storage"); 21 22 verifyStorage(packages, "beforeInstall"); 23 24 info("Installing package"); 25 26 // The profile contains: 27 // - storage.sqlite (v2_3) 28 // (A) Verify we are okay while the directory that we want to restore has 29 // already existed. 30 // - storage/default/http+++www.example.com/.metadata-v2 31 // (origin: http://www.example.com.) 32 // - storage/default/http+++www.example.com/cache/.padding 33 // - storage/default/http+++www.example.com./ 34 // (B) Verify restoring origin directory succeed. 35 // - storage/default/http+++www.example.org/.metadata-v2 36 // (origin: http://www.example.org.) 37 // - storage/default/http+++www.example.org/cache/.padding 38 // 39 // ToDo: Test case like: 40 // - storage/default/http+++www.example.org(1)/.metadata-v2 41 // (origin: http://www.example.org) 42 // - storage/default/http+++www.example.org/ 43 // 44 // - storage/default/http+++www.foo.com/.metadata-v2 45 // (origin: http://www.bar.com) 46 installPackages(packages); 47 48 info("Verifying storage"); 49 50 verifyStorage(packages, "afterInstall"); 51 52 info("Initializing storage"); 53 54 request = init(); 55 await requestFinished(request); 56 57 // ToDo: Remove this code once we support unknown directories in respository 58 // (bug 1594075). 59 let invalidDir = getRelativeFile("storage/default/invalid+++example.com"); 60 invalidDir.remove(true); 61 invalidDir = getRelativeFile("storage/temporary/invalid+++example.com"); 62 invalidDir.remove(true); 63 64 info("Initializing temporary storage"); 65 66 request = initTemporaryStorage(); 67 await requestFinished(request); 68 69 info("Verifying storage"); 70 71 verifyStorage(packages, "afterInitTemporaryStorage"); 72 73 request = clear(); 74 await requestFinished(request); 75 }