// META: script=/common/utils.js // META: script=resources/support.sub.js // // Spec: https://wicg.github.io/private-network-access/#cors-preflight // // These tests verify that PNA preflight responses are cached. // // TODO(https://crbug.com/1268312): We cannot currently test that cache // entries are keyed by target IP address space because that requires // loading the same URL from different IP address spaces, and the WPT // framework does not allow that. promise_test(async t => { let uuid = token(); await fetchTest(t, { source: { server: Server.HTTPS_PRIVATE }, target: { server: Server.HTTPS_LOCAL, behavior: { preflight: PreflightBehavior.singlePreflight(uuid), response: ResponseBehavior.allowCrossOrigin(), }, }, expected: FetchTestResult.SUCCESS, }); await fetchTest(t, { source: { server: Server.HTTPS_PRIVATE }, target: { server: Server.HTTPS_LOCAL, behavior: { preflight: PreflightBehavior.singlePreflight(uuid), response: ResponseBehavior.allowCrossOrigin(), }, }, expected: FetchTestResult.SUCCESS, }); }, "private to local: success."); promise_test(async t => { let uuid = token(); await fetchTest(t, { source: { server: Server.HTTPS_PUBLIC }, target: { server: Server.HTTPS_LOCAL, behavior: { preflight: PreflightBehavior.singlePreflight(uuid), response: ResponseBehavior.allowCrossOrigin(), }, }, expected: FetchTestResult.SUCCESS, }); await fetchTest(t, { source: { server: Server.HTTPS_PUBLIC }, target: { server: Server.HTTPS_LOCAL, behavior: { preflight: PreflightBehavior.singlePreflight(uuid), response: ResponseBehavior.allowCrossOrigin(), }, }, expected: FetchTestResult.SUCCESS, }); }, "public to local: success."); promise_test(async t => { let uuid = token(); await fetchTest(t, { source: { server: Server.HTTPS_PUBLIC }, target: { server: Server.HTTPS_PRIVATE, behavior: { preflight: PreflightBehavior.singlePreflight(uuid), response: ResponseBehavior.allowCrossOrigin(), }, }, expected: FetchTestResult.SUCCESS, }); await fetchTest(t, { source: { server: Server.HTTPS_PUBLIC }, target: { server: Server.HTTPS_PRIVATE, behavior: { preflight: PreflightBehavior.singlePreflight(uuid), response: ResponseBehavior.allowCrossOrigin(), }, }, expected: FetchTestResult.SUCCESS, }); }, "public to private: success.");