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