1
0
Fork 0
firefox/netwerk/test/unit/test_trr_flags.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

71 lines
1.6 KiB
JavaScript

"use strict";
/* import-globals-from trr_common.js */
let trrServer;
add_setup(async function setup() {
trr_test_setup();
registerCleanupFunction(async () => {
if (trrServer) {
await trrServer.stop();
}
trr_clear_prefs();
});
Services.prefs.setBoolPref("network.dns.always_ai_canonname", true);
});
add_task(async function test_canonical_flag() {
trrServer = new TRRServer();
await trrServer.start();
await trrServer.registerDoHAnswers("testdomain.com", "A", {
answers: [
{
name: "testdomain.com",
ttl: 55,
type: "A",
flush: false,
data: "5.5.5.5",
},
],
});
Services.prefs.setCharPref(
"network.trr.uri",
`https://foo.example.com:${trrServer.port()}/dns-query`
);
// Disable backup connection
Services.prefs.setBoolPref("network.dns.disableIPv6", true);
Services.prefs.setIntPref("network.trr.mode", Ci.nsIDNSService.MODE_TRRONLY);
await new TRRDNSListener("testdomain.com", {
expectedAnswer: "5.5.5.5",
flags: Ci.nsIDNSService.RESOLVE_CANONICAL_NAME,
});
let reqCount = await trrServer.requestCount("testdomain.com", "A");
await trrServer.registerDoHAnswers("testdomain.com", "A", {
answers: [
{
name: "testdomain.com",
ttl: 55,
type: "A",
flush: false,
data: "1.1.1.1",
},
],
});
// Expect to get cached entry
await new TRRDNSListener("testdomain.com", {
expectedAnswer: "5.5.5.5",
flags: Ci.nsIDNSService.RESOLVE_SPECULATE,
});
Assert.equal(
reqCount,
await trrServer.requestCount("testdomain.com", "A"),
"no new request should be made"
);
});