summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/signed-exchange/reporting/sxg-reporting-prefetch-ok.tentative.html
blob: e3c6a0eeead55a9a63ae8ef2c066c31ee30b9087 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<title>SXG reporting test of ok for prefetch</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;
const test_origin = get_host_info().HTTPS_ORIGIN;

nel_test(async t => {
  await fetchResourceWithBasicPolicy();
  const sxg_url = alt_origin + '/signed-exchange/resources/sxg/sxg-location.sxg?prefetch';
  const cert_url = test_origin + '/signed-exchange/resources/127.0.0.1.sxg.pem.cbor';
  addPrefetch(sxg_url);
  assert_true(await reportsExist([
    {
      url: sxg_url,
      user_agent: navigator.userAgent,
      type: "network-error",
      body: {
        phase: "sxg",
        type: "ok",
        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",
      },
    },
  ]));
}, 'SXG success report must be sent for prefetching.');
</script>
</body>