summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/upgrade-insecure-requests/spec.src.json
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/upgrade-insecure-requests/spec.src.json257
1 files changed, 257 insertions, 0 deletions
diff --git a/testing/web-platform/tests/upgrade-insecure-requests/spec.src.json b/testing/web-platform/tests/upgrade-insecure-requests/spec.src.json
new file mode 100644
index 0000000000..abe3cf0dc0
--- /dev/null
+++ b/testing/web-platform/tests/upgrade-insecure-requests/spec.src.json
@@ -0,0 +1,257 @@
+{
+ "test_description_template": "Upgrade-Insecure-Requests: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.",
+ "test_page_title_template": "Upgrade-Insecure-Requests: %(title)s",
+ "specification": [
+ {
+ // No upgrade-insecure-request
+ "title": "No upgrade-insecure-request",
+ "description": "No upgrade-insecure-request",
+ "specification_url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/",
+ "test_expansion": [
+ {
+ // Without upgrade-insecure-request, all requests are blocked ...
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "meta",
+ "delivery_value": null,
+ "redirection": "*",
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "blocked"
+ },
+ {
+ // ... except for the secure requests listed here
+ "expansion": "override",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "meta",
+ "delivery_value": null,
+ "redirection": "no-redirect",
+ "subresource": "*",
+ "origin": [
+ "same-https",
+ "cross-https",
+ "same-wss",
+ "cross-wss"
+ ],
+ "expectation": "allowed"
+ }
+ ]
+ },
+ {
+ // With upgrade-insecure-request
+ "title": "With upgrade-insecure-request",
+ "description": "With upgrade-insecure-request",
+ "specification_url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/",
+ "test_expansion": [
+ {
+ // With upgrade-insecure-request, all insecure requests are upgraded and allowed.
+ "expansion": "default",
+ "source_scheme": "https",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "upgrade",
+ "redirection": "*",
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "allowed"
+ }
+ ]
+ }
+ ],
+ "delivery_key": "upgradeInsecureRequests",
+ "excluded_tests": [
+ {
+ // Omit secure requests
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "no-redirect",
+ "subresource": "*",
+ "origin": [
+ "same-https",
+ "cross-https",
+ "same-wss",
+ "cross-wss"
+ ],
+ "expectation": "allowed"
+ },
+ {
+ // For inheriting tests skip http-rp because we already have <meta> tests
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": [
+ "srcdoc-inherit",
+ "iframe-blank-inherit",
+ "worker-classic-data"
+ ],
+ "delivery_type": "http-rp",
+ "delivery_value": "*",
+ "redirection": "*",
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // source_context_list values not yet tested
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": [
+ "req",
+ "srcdoc",
+ "iframe"
+ ],
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "*",
+ "subresource": "*",
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // subresource values not yet tested
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "*",
+ "subresource": [
+ "a-tag",
+ "area-tag",
+ "audio-tag",
+ "beacon",
+ "link-css-tag",
+ "link-prefetch-tag",
+ "object-tag",
+ "picture-tag",
+ "script-tag",
+ "script-tag-dynamic-import",
+ "video-tag"
+ ],
+ "origin": "*",
+ "expectation": "*"
+ },
+ {
+ // origins that upgrade-insecure-requests tests don't care
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": "*",
+ "origin": [
+ "same-http",
+ "cross-http",
+ "same-ws",
+ "cross-ws"
+ ],
+ "subresource": "*",
+ "expectation": "*"
+ },
+ {
+ // redirections that upgrade-insecure-requests tests don't care
+ "expansion": "*",
+ "source_scheme": "*",
+ "source_context_list": "*",
+ "delivery_type": "*",
+ "delivery_value": "*",
+ "redirection": [
+ "keep-origin",
+ "swap-origin",
+ "keep-scheme",
+ "swap-scheme"
+ ],
+ "origin": "*",
+ "subresource": "*",
+ "expectation": "*"
+ },
+ ],
+ "source_context_schema": {
+ "supported_delivery_type": {
+ "top": [
+ "http-rp",
+ "meta"
+ ],
+ "iframe": [
+ "http-rp",
+ "meta"
+ ],
+ "iframe-blank": [
+ "meta"
+ ],
+ "srcdoc": [
+ "meta"
+ ],
+ "worker-classic": [
+ "http-rp"
+ ],
+ "worker-module": [
+ "http-rp"
+ ],
+ "worker-classic-data": [],
+ "worker-module-data": [],
+ "sharedworker-classic": [
+ "http-rp"
+ ],
+ "sharedworker-module": [
+ "http-rp"
+ ],
+ "sharedworker-classic-data": [],
+ "sharedworker-module-data": []
+ }
+ },
+ "subresource_schema": {
+ "supported_delivery_type": {
+ "a-tag": [],
+ "area-tag": [],
+ "audio-tag": [],
+ "beacon": [],
+ "fetch": [],
+ "iframe-tag": [],
+ "img-tag": [],
+ "link-css-tag": [],
+ "link-prefetch-tag": [],
+ "object-tag": [],
+ "picture-tag": [],
+ "script-tag": [],
+ "script-tag-dynamic-import": [],
+ "sharedworker-classic": [],
+ "sharedworker-import": [],
+ "sharedworker-import-data": [],
+ "sharedworker-module": [],
+ "video-tag": [],
+ "websocket": [],
+ "worker-classic": [],
+ "worker-import": [],
+ "worker-import-data": [],
+ "worker-module": [],
+ "worklet-animation": [],
+ "worklet-animation-import-data": [],
+ "worklet-audio": [],
+ "worklet-audio-import-data": [],
+ "worklet-layout": [],
+ "worklet-layout-import-data": [],
+ "worklet-paint": [],
+ "worklet-paint-import-data": [],
+ "xhr": []
+ }
+ },
+ "test_expansion_schema": {
+ "delivery_type": [
+ "http-rp",
+ "meta"
+ ],
+ "delivery_value": [
+ null,
+ "upgrade"
+ ],
+ "expectation": [
+ "allowed",
+ "blocked"
+ ]
+ }
+}