75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
/**
|
|
* 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);
|
|
}
|