1
0
Fork 0
firefox/dom/fetch/tests/browser_default_credentialless_fetch.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

46 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
https://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const RESOURCE_URL =
getRootDirectory(gTestPath).replace(
"chrome://mochitests/content",
"https://example.com"
) + "store_header.sjs";
add_task(async function test_fetch_defaults_to_credentialless() {
// Ensure cookie is set up:
let expiry = Date.now() / 1000 + 24 * 60 * 60;
Services.cookies.add(
"example.com",
"/",
"foo",
"bar",
false,
false,
false,
expiry,
{},
Ci.nsICookie.SAMESITE_NONE,
Ci.nsICookie.SCHEME_HTTPS
);
// Explicitly send cookie header by using `same-origin` in the init dict, to
// ensure cookies are stored correctly and can be sent.
await fetch(RESOURCE_URL + "?checkheader", { credentials: "same-origin" });
Assert.equal(
await fetch(RESOURCE_URL + "?getstate").then(r => r.text()),
"hasCookie",
"Should have cookie when explicitly passing credentials info in 'checkheader' request."
);
// Check the default behaviour.
await fetch(RESOURCE_URL + "?checkheader");
Assert.equal(
await fetch(RESOURCE_URL + "?getstate").then(r => r.text()),
"noCookie",
"Should not have cookie in the default case (no explicit credentials mode) for chrome privileged requests."
);
});