forked from mirrors/gecko-dev
Differential Revision: https://phabricator.services.mozilla.com/D50750 --HG-- extra : moz-landing-system : lando
72 lines
1.7 KiB
JavaScript
72 lines
1.7 KiB
JavaScript
"use strict";
|
|
|
|
const { ForgetAboutSite } = ChromeUtils.import(
|
|
"resource://gre/modules/ForgetAboutSite.jsm"
|
|
);
|
|
|
|
add_task(async function() {
|
|
registerFakePath("ULibDir", do_get_file("Library/"));
|
|
let migrator = await MigrationUtils.getMigrator("chrome");
|
|
|
|
Assert.ok(
|
|
await migrator.isSourceAvailable(),
|
|
"Sanity check the source exists"
|
|
);
|
|
|
|
const COOKIE = {
|
|
expiry: 2145934800,
|
|
host: "unencryptedcookie.invalid",
|
|
isHttpOnly: false,
|
|
isSession: false,
|
|
name: "testcookie",
|
|
path: "/",
|
|
value: "testvalue",
|
|
};
|
|
|
|
// Sanity check.
|
|
Assert.equal(
|
|
Services.cookies.countCookiesFromHost(COOKIE.host),
|
|
0,
|
|
"There are no cookies initially"
|
|
);
|
|
|
|
const PROFILE = {
|
|
id: "Default",
|
|
name: "Person 1",
|
|
};
|
|
|
|
// Migrate unencrypted cookies.
|
|
await promiseMigration(
|
|
migrator,
|
|
MigrationUtils.resourceTypes.COOKIES,
|
|
PROFILE
|
|
);
|
|
|
|
Assert.equal(
|
|
Services.cookies.countCookiesFromHost(COOKIE.host),
|
|
1,
|
|
"Migrated the expected number of unencrypted cookies"
|
|
);
|
|
Assert.equal(
|
|
Services.cookies.countCookiesFromHost("encryptedcookie.invalid"),
|
|
0,
|
|
"Migrated the expected number of encrypted cookies"
|
|
);
|
|
|
|
// Now check the cookie details.
|
|
let cookies = Services.cookies.getCookiesFromHost(COOKIE.host, {});
|
|
Assert.ok(cookies.length, "Cookies available");
|
|
let foundCookie = cookies[0];
|
|
|
|
for (let prop of Object.keys(COOKIE)) {
|
|
Assert.equal(foundCookie[prop], COOKIE[prop], "Check cookie " + prop);
|
|
}
|
|
|
|
// Cleanup.
|
|
await ForgetAboutSite.removeDataFromDomain(COOKIE.host);
|
|
Assert.equal(
|
|
Services.cookies.countCookiesFromHost(COOKIE.host),
|
|
0,
|
|
"There are no cookies after cleanup"
|
|
);
|
|
});
|