diff options
Diffstat (limited to 'browser/components/migration/tests/unit/test_Chrome_cookies.js')
-rw-r--r-- | browser/components/migration/tests/unit/test_Chrome_cookies.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/browser/components/migration/tests/unit/test_Chrome_cookies.js b/browser/components/migration/tests/unit/test_Chrome_cookies.js new file mode 100644 index 0000000000..b738c1d1bc --- /dev/null +++ b/browser/components/migration/tests/unit/test_Chrome_cookies.js @@ -0,0 +1,72 @@ +"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" + ); +}); |