diff options
Diffstat (limited to 'testing/web-platform/tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html')
-rw-r--r-- | testing/web-platform/tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/testing/web-platform/tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html b/testing/web-platform/tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html new file mode 100644 index 0000000000..15a7176e74 --- /dev/null +++ b/testing/web-platform/tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<title>SXG reporting test of sxg.cert_fetch_error for navigation</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="/network-error-logging/support/nel.sub.js"></script> +<script src="../resources/sxg-util.js"></script> +<body> +<script> +const alt_origin = get_host_info().HTTPS_NOTSAMESITE_ORIGIN; + +nel_iframe_test(async t => { + await loadResourceWithBasicPolicyInIframe(); + const sxg_url = + alt_origin + + '/signed-exchange/resources/sxg/sxg-cert-not-found-on-alt-origin.sxg?navigation'; + const cert_url = + alt_origin + '/signed-exchange/resources/not_found_certfile.cbor'; + const message = await openSXGInIframeAndWaitForMessage(t, sxg_url); + assert_equals(message.location, + innerURLOrigin() + '/signed-exchange/resources/inner-url.html'); + assert_true(message.is_fallback); + assert_true(await reportsExist([ + { + url: sxg_url, + user_agent: navigator.userAgent, + type: "network-error", + body: { + phase: "sxg", + // The origin of this SXG's certURL is same as the reporting origin. So + // the report must not be downgraded. + type: "sxg.cert_fetch_error", + status_code: 200, + referrer: location.origin + '/', + sxg: { + outer_url: sxg_url, + inner_url: + innerURLOrigin() + '/signed-exchange/resources/inner-url.html', + cert_url: [cert_url] + } + }, + metadata: { + content_type: "application/reports+json", + }, + }, + { + url: sxg_url, + user_agent: navigator.userAgent, + type: "network-error", + body: { + phase: "application", + type: "ok", + status_code: 200, + referrer: location.origin + '/', + }, + metadata: { + content_type: "application/reports+json", + }, + }, + { + url: cert_url, + user_agent: navigator.userAgent, + type: "network-error", + body: { + phase: "application", + type: "http.error", + status_code: 404, + }, + metadata: { + content_type: "application/reports+json", + }, + }, + ])); +}, 'SXG reporting test of sxg.cert_fetch_error for navigation.'); +</script> +</body> |