tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

sxg-reporting-prefetch-failed-zero-success-feaction.tentative.html (2272B)


      1 <!DOCTYPE html>
      2 <title>SXG reporting test of sxg.failed for prefetch (zero success fraction)</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="/common/get-host-info.sub.js"></script>
      6 <script src="/network-error-logging/support/nel.sub.js"></script>
      7 <script src="../resources/sxg-util.js"></script>
      8 <body>
      9 <script>
     10 const alt_origin = get_host_info().HTTPS_NOTSAMESITE_ORIGIN;
     11 const test_origin = get_host_info().HTTPS_ORIGIN;
     12 
     13 nel_test(async t => {
     14  await fetchResourceWithZeroSuccessFractionPolicy();
     15  const sxg_url =
     16      alt_origin + '/signed-exchange/resources/sxg/sxg-cert-not-found.sxg?prefetch';
     17  const cert_url =
     18      test_origin + '/signed-exchange/resources/not_found_certfile.cbor';
     19  addPrefetch(sxg_url);
     20  assert_true(await reportExists(
     21    {
     22      url: sxg_url,
     23      user_agent: navigator.userAgent,
     24      type: "network-error",
     25      body: {
     26        phase: "sxg",
     27        // The origin of this SXG's certURL is different from the reporting
     28        // origin. So the report must be downgraded.
     29        type: "sxg.failed",
     30        elapsed_time: 0,
     31        status_code: 200,
     32        referrer: location.origin + '/',
     33        sxg: {
     34          outer_url: sxg_url,
     35          inner_url:
     36              innerURLOrigin() + '/signed-exchange/resources/inner-url.html',
     37          cert_url: [cert_url]
     38        }
     39      },
     40      metadata: {
     41        content_type: "application/reports+json",
     42      },
     43    },
     44  ), 'SXG error reporting must be downgraded when the cert URL is different ' +
     45     'from the reporting origin');
     46  assert_false(await reportExists(
     47    {
     48      url: sxg_url,
     49      user_agent: navigator.userAgent,
     50      type: "network-error",
     51      body: {
     52        phase: "application",
     53        type: "ok",
     54        status_code: 200,
     55        referrer: location.origin + '/',
     56      },
     57      metadata: {
     58        content_type: "application/reports+json",
     59      },
     60    }
     61  ), 'Succeeded normal NEL report should not be sent when success fraction ' +
     62     'is zero.');
     63 }, 'SXG error report must be downgraded when the cert URL is different from ' +
     64   'the reporting origin. And succeeded normal NEL report should not be sent ' +
     65   ' when success fraction is zero.');
     66 </script>
     67 </body>