<!DOCTYPE HTML> <html> <head> <title> Test that include_subdomains policies report DNS failures for subdomains </title> <script src='/resources/testharness.js'></script> <script src='/resources/testharnessreport.js'></script> <script src='./support/nel.sub.js'></script> </head> <body> <script> nel_test(async t => { // Make a request to a resource whose response headers include an // include_subdomains NEL policy. await fetchResourceWithIncludeSubdomainsPolicy(); // Make a request to another resource on a nonexistent subdomain of the // above. Since the subdomain doesn't exist, the request should fail with // a DNS error. await fetchResourceWithNoPolicy('nonexistent').then((response) => { assert_unreached("Request to nonexistent domain should fail"); }, (err) => { // Silence the error, since it's expected. }); // The include_subdomains policy that we just received should cover the // second request, since include_subdomains policies can report on DNS // errors, so the collector should have received a report about it. assert_true(await reportExists({ url: getURLForResourceWithNoPolicy('nonexistent'), user_agent: navigator.userAgent, type: "network-error", body: { method: "GET", sampling_fraction: 1.0, status_code: 0, phase: "dns", type: "dns.name_not_resolved", }, metadata: { content_type: "application/reports+json", }, })); }); </script> </body> </html>