summaryrefslogtreecommitdiff
path: root/tests/specs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs')
-rw-r--r--tests/specs/cert/cafile_bundle/RootCA.pem19
-rw-r--r--tests/specs/cert/cafile_bundle/__test__.jsonc11
-rw-r--r--tests/specs/cert/cafile_bundle/test.js2
-rw-r--r--tests/specs/cert/cafile_compile/RootCA.pem19
-rw-r--r--tests/specs/cert/cafile_compile/__test__.jsonc22
-rw-r--r--tests/specs/cert/cafile_compile/cert/cafile_ts_fetch.ts3
-rw-r--r--tests/specs/cert/cafile_env_fetch/RootCA.pem19
-rw-r--r--tests/specs/cert/cafile_env_fetch/__test__.jsonc8
-rw-r--r--tests/specs/cert/cafile_install/RootCA.pem19
-rw-r--r--tests/specs/cert/cafile_install/__test__.jsonc28
-rw-r--r--tests/specs/cert/cafile_ts_fetch/RootCA.pem19
-rw-r--r--tests/specs/cert/cafile_ts_fetch/__test__.jsonc19
-rw-r--r--tests/specs/cert/cafile_ts_fetch/cafile_info.ts.out14
-rw-r--r--tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts3
-rw-r--r--tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts.out2
-rw-r--r--tests/specs/cert/cafile_ts_fetch_unsafe_ssl/__test__.jsonc5
-rw-r--r--tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch.ts3
-rw-r--r--tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch_unsafe_ssl.ts.out3
-rw-r--r--tests/specs/cert/cafile_url_imports/RootCA.pem19
-rw-r--r--tests/specs/cert/cafile_url_imports/__test__.jsonc5
-rw-r--r--tests/specs/cert/cafile_url_imports/cafile_url_imports.ts3
-rw-r--r--tests/specs/cert/cafile_url_imports/cafile_url_imports.ts.out2
-rw-r--r--tests/specs/cert/cafile_url_imports_unsafe_ssl/__test__.jsonc5
-rw-r--r--tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports.ts3
-rw-r--r--tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports_unsafe_ssl.ts.out3
-rw-r--r--tests/specs/cert/deno_land_unsafe_ssl/__test__.jsonc5
-rw-r--r--tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts2
-rw-r--r--tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts.out2
-rw-r--r--tests/specs/cert/ip_address_unsafe_ssl/__test__.jsonc4
-rw-r--r--tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts2
-rw-r--r--tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts.out2
-rw-r--r--tests/specs/cert/localhost_unsafe_ssl/__test__.jsonc5
-rw-r--r--tests/specs/cert/localhost_unsafe_ssl/cafile_url_imports.ts3
-rw-r--r--tests/specs/cert/localhost_unsafe_ssl/localhost_unsafe_ssl.ts.out3
34 files changed, 286 insertions, 0 deletions
diff --git a/tests/specs/cert/cafile_bundle/RootCA.pem b/tests/specs/cert/cafile_bundle/RootCA.pem
new file mode 100644
index 000000000..c2f84ceeb
--- /dev/null
+++ b/tests/specs/cert/cafile_bundle/RootCA.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgugAwIBAgIJAMKPPW4tsOymMA0GCSqGSIb3DQEBCwUAMCcxCzAJBgNV
+BAYTAlVTMRgwFgYDVQQDDA9FeGFtcGxlLVJvb3QtQ0EwIBcNMTkxMDIxMTYyODIy
+WhgPMjExODA5MjcxNjI4MjJaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA9FeGFt
+cGxlLVJvb3QtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMH/IO
+2qtHfyBKwANNPB4K0q5JVSg8XxZdRpTTlz0CwU0oRO3uHrI52raCCfVeiQutyZop
+eFZTDWeXGudGAFA2B5m3orWt0s+touPi8MzjsG2TQ+WSI66QgbXTNDitDDBtTVcV
+5G3Ic+3SppQAYiHSekLISnYWgXLl+k5CnEfTowg6cjqjVr0KjL03cTN3H7b+6+0S
+ws4rYbW1j4ExR7K6BFNH6572yq5qR20E6GqlY+EcOZpw4CbCk9lS8/CWuXze/vMs
+OfDcc6K+B625d27wyEGZHedBomT2vAD7sBjvO8hn/DP1Qb46a8uCHR6NSfnJ7bXO
+G1igaIbgY1zXirNdAgMBAAGjUDBOMB0GA1UdDgQWBBTzut+pwwDfqmMYcI9KNWRD
+hxcIpTAfBgNVHSMEGDAWgBTzut+pwwDfqmMYcI9KNWRDhxcIpTAMBgNVHRMEBTAD
+AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB9AqSbZ+hEglAgSHxAMCqRFdhVu7MvaQM0
+P090mhGlOCt3yB7kdGfsIrUW6nQcTz7PPQFRaJMrFHPvFvPootkBUpTYR4hTkdce
+H6RCRu2Jxl4Y9bY/uezd9YhGCYfUtfjA6/TH9FcuZfttmOOlxOt01XfNvVMIR6RM
+z/AYhd+DeOXjr35F/VHeVpnk+55L0PYJsm1CdEbOs5Hy1ecR7ACuDkXnbM4fpz9I
+kyIWJwk2zJReKcJMgi1aIinDM9ao/dca1G99PHOw8dnr4oyoTiv8ao6PWiSRHHMi
+MNf4EgWfK+tZMnuqfpfO9740KzfcVoMNo4QJD4yn5YxroUOO/Azi
+-----END CERTIFICATE-----
diff --git a/tests/specs/cert/cafile_bundle/__test__.jsonc b/tests/specs/cert/cafile_bundle/__test__.jsonc
new file mode 100644
index 000000000..75c6c87a9
--- /dev/null
+++ b/tests/specs/cert/cafile_bundle/__test__.jsonc
@@ -0,0 +1,11 @@
+{
+ "tempDir": true,
+ "steps": [{
+ "args": "bundle --cert RootCA.pem https://localhost:5545/subdir/mod1.ts mod1.bundle.js",
+ "flaky": true,
+ "output": "[WILDCARD]"
+ }, {
+ "args": "run --quiet --check test.js",
+ "output": "[WILDCARD]Hello\n"
+ }]
+}
diff --git a/tests/specs/cert/cafile_bundle/test.js b/tests/specs/cert/cafile_bundle/test.js
new file mode 100644
index 000000000..475af44d2
--- /dev/null
+++ b/tests/specs/cert/cafile_bundle/test.js
@@ -0,0 +1,2 @@
+import { printHello3 } from "./mod1.bundle.js";
+printHello3();
diff --git a/tests/specs/cert/cafile_compile/RootCA.pem b/tests/specs/cert/cafile_compile/RootCA.pem
new file mode 100644
index 000000000..c2f84ceeb
--- /dev/null
+++ b/tests/specs/cert/cafile_compile/RootCA.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgugAwIBAgIJAMKPPW4tsOymMA0GCSqGSIb3DQEBCwUAMCcxCzAJBgNV
+BAYTAlVTMRgwFgYDVQQDDA9FeGFtcGxlLVJvb3QtQ0EwIBcNMTkxMDIxMTYyODIy
+WhgPMjExODA5MjcxNjI4MjJaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA9FeGFt
+cGxlLVJvb3QtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMH/IO
+2qtHfyBKwANNPB4K0q5JVSg8XxZdRpTTlz0CwU0oRO3uHrI52raCCfVeiQutyZop
+eFZTDWeXGudGAFA2B5m3orWt0s+touPi8MzjsG2TQ+WSI66QgbXTNDitDDBtTVcV
+5G3Ic+3SppQAYiHSekLISnYWgXLl+k5CnEfTowg6cjqjVr0KjL03cTN3H7b+6+0S
+ws4rYbW1j4ExR7K6BFNH6572yq5qR20E6GqlY+EcOZpw4CbCk9lS8/CWuXze/vMs
+OfDcc6K+B625d27wyEGZHedBomT2vAD7sBjvO8hn/DP1Qb46a8uCHR6NSfnJ7bXO
+G1igaIbgY1zXirNdAgMBAAGjUDBOMB0GA1UdDgQWBBTzut+pwwDfqmMYcI9KNWRD
+hxcIpTAfBgNVHSMEGDAWgBTzut+pwwDfqmMYcI9KNWRDhxcIpTAMBgNVHRMEBTAD
+AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB9AqSbZ+hEglAgSHxAMCqRFdhVu7MvaQM0
+P090mhGlOCt3yB7kdGfsIrUW6nQcTz7PPQFRaJMrFHPvFvPootkBUpTYR4hTkdce
+H6RCRu2Jxl4Y9bY/uezd9YhGCYfUtfjA6/TH9FcuZfttmOOlxOt01XfNvVMIR6RM
+z/AYhd+DeOXjr35F/VHeVpnk+55L0PYJsm1CdEbOs5Hy1ecR7ACuDkXnbM4fpz9I
+kyIWJwk2zJReKcJMgi1aIinDM9ao/dca1G99PHOw8dnr4oyoTiv8ao6PWiSRHHMi
+MNf4EgWfK+tZMnuqfpfO9740KzfcVoMNo4QJD4yn5YxroUOO/Azi
+-----END CERTIFICATE-----
diff --git a/tests/specs/cert/cafile_compile/__test__.jsonc b/tests/specs/cert/cafile_compile/__test__.jsonc
new file mode 100644
index 000000000..0f5622dc5
--- /dev/null
+++ b/tests/specs/cert/cafile_compile/__test__.jsonc
@@ -0,0 +1,22 @@
+{
+ "tempDir": true,
+ "steps": [{
+ "args": "compile --allow-net --cert ../RootCA.pem cafile_ts_fetch.ts",
+ "cwd": "cert",
+ "output": "[WILDCARD]"
+ }, {
+ "if": "windows",
+ "commandName": "./cafile_ts_fetch.exe",
+ "cwd": "cert",
+ "args": [],
+ "flaky": true,
+ "output": "[WILDCARD]\nHello\n"
+ }, {
+ "if": "unix",
+ "commandName": "./cafile_ts_fetch",
+ "cwd": "cert",
+ "args": [],
+ "flaky": true,
+ "output": "[WILDCARD]\nHello\n"
+ }]
+}
diff --git a/tests/specs/cert/cafile_compile/cert/cafile_ts_fetch.ts b/tests/specs/cert/cafile_compile/cert/cafile_ts_fetch.ts
new file mode 100644
index 000000000..12fcda007
--- /dev/null
+++ b/tests/specs/cert/cafile_compile/cert/cafile_ts_fetch.ts
@@ -0,0 +1,3 @@
+fetch("https://localhost:5545/cert/cafile_ts_fetch.ts.out")
+ .then((r) => r.text())
+ .then((t) => console.log(t.trimEnd()));
diff --git a/tests/specs/cert/cafile_env_fetch/RootCA.pem b/tests/specs/cert/cafile_env_fetch/RootCA.pem
new file mode 100644
index 000000000..c2f84ceeb
--- /dev/null
+++ b/tests/specs/cert/cafile_env_fetch/RootCA.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgugAwIBAgIJAMKPPW4tsOymMA0GCSqGSIb3DQEBCwUAMCcxCzAJBgNV
+BAYTAlVTMRgwFgYDVQQDDA9FeGFtcGxlLVJvb3QtQ0EwIBcNMTkxMDIxMTYyODIy
+WhgPMjExODA5MjcxNjI4MjJaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA9FeGFt
+cGxlLVJvb3QtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMH/IO
+2qtHfyBKwANNPB4K0q5JVSg8XxZdRpTTlz0CwU0oRO3uHrI52raCCfVeiQutyZop
+eFZTDWeXGudGAFA2B5m3orWt0s+touPi8MzjsG2TQ+WSI66QgbXTNDitDDBtTVcV
+5G3Ic+3SppQAYiHSekLISnYWgXLl+k5CnEfTowg6cjqjVr0KjL03cTN3H7b+6+0S
+ws4rYbW1j4ExR7K6BFNH6572yq5qR20E6GqlY+EcOZpw4CbCk9lS8/CWuXze/vMs
+OfDcc6K+B625d27wyEGZHedBomT2vAD7sBjvO8hn/DP1Qb46a8uCHR6NSfnJ7bXO
+G1igaIbgY1zXirNdAgMBAAGjUDBOMB0GA1UdDgQWBBTzut+pwwDfqmMYcI9KNWRD
+hxcIpTAfBgNVHSMEGDAWgBTzut+pwwDfqmMYcI9KNWRDhxcIpTAMBgNVHRMEBTAD
+AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB9AqSbZ+hEglAgSHxAMCqRFdhVu7MvaQM0
+P090mhGlOCt3yB7kdGfsIrUW6nQcTz7PPQFRaJMrFHPvFvPootkBUpTYR4hTkdce
+H6RCRu2Jxl4Y9bY/uezd9YhGCYfUtfjA6/TH9FcuZfttmOOlxOt01XfNvVMIR6RM
+z/AYhd+DeOXjr35F/VHeVpnk+55L0PYJsm1CdEbOs5Hy1ecR7ACuDkXnbM4fpz9I
+kyIWJwk2zJReKcJMgi1aIinDM9ao/dca1G99PHOw8dnr4oyoTiv8ao6PWiSRHHMi
+MNf4EgWfK+tZMnuqfpfO9740KzfcVoMNo4QJD4yn5YxroUOO/Azi
+-----END CERTIFICATE-----
diff --git a/tests/specs/cert/cafile_env_fetch/__test__.jsonc b/tests/specs/cert/cafile_env_fetch/__test__.jsonc
new file mode 100644
index 000000000..eb18ebca9
--- /dev/null
+++ b/tests/specs/cert/cafile_env_fetch/__test__.jsonc
@@ -0,0 +1,8 @@
+{
+ "envs": {
+ "DENO_CERT": "$PWD/RootCA.pem"
+ },
+ "flaky": true,
+ "args": "cache https://localhost:5545/cert/cafile_url_imports.ts",
+ "output": "[WILDCARD]"
+}
diff --git a/tests/specs/cert/cafile_install/RootCA.pem b/tests/specs/cert/cafile_install/RootCA.pem
new file mode 100644
index 000000000..c2f84ceeb
--- /dev/null
+++ b/tests/specs/cert/cafile_install/RootCA.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgugAwIBAgIJAMKPPW4tsOymMA0GCSqGSIb3DQEBCwUAMCcxCzAJBgNV
+BAYTAlVTMRgwFgYDVQQDDA9FeGFtcGxlLVJvb3QtQ0EwIBcNMTkxMDIxMTYyODIy
+WhgPMjExODA5MjcxNjI4MjJaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA9FeGFt
+cGxlLVJvb3QtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMH/IO
+2qtHfyBKwANNPB4K0q5JVSg8XxZdRpTTlz0CwU0oRO3uHrI52raCCfVeiQutyZop
+eFZTDWeXGudGAFA2B5m3orWt0s+touPi8MzjsG2TQ+WSI66QgbXTNDitDDBtTVcV
+5G3Ic+3SppQAYiHSekLISnYWgXLl+k5CnEfTowg6cjqjVr0KjL03cTN3H7b+6+0S
+ws4rYbW1j4ExR7K6BFNH6572yq5qR20E6GqlY+EcOZpw4CbCk9lS8/CWuXze/vMs
+OfDcc6K+B625d27wyEGZHedBomT2vAD7sBjvO8hn/DP1Qb46a8uCHR6NSfnJ7bXO
+G1igaIbgY1zXirNdAgMBAAGjUDBOMB0GA1UdDgQWBBTzut+pwwDfqmMYcI9KNWRD
+hxcIpTAfBgNVHSMEGDAWgBTzut+pwwDfqmMYcI9KNWRDhxcIpTAMBgNVHRMEBTAD
+AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB9AqSbZ+hEglAgSHxAMCqRFdhVu7MvaQM0
+P090mhGlOCt3yB7kdGfsIrUW6nQcTz7PPQFRaJMrFHPvFvPootkBUpTYR4hTkdce
+H6RCRu2Jxl4Y9bY/uezd9YhGCYfUtfjA6/TH9FcuZfttmOOlxOt01XfNvVMIR6RM
+z/AYhd+DeOXjr35F/VHeVpnk+55L0PYJsm1CdEbOs5Hy1ecR7ACuDkXnbM4fpz9I
+kyIWJwk2zJReKcJMgi1aIinDM9ao/dca1G99PHOw8dnr4oyoTiv8ao6PWiSRHHMi
+MNf4EgWfK+tZMnuqfpfO9740KzfcVoMNo4QJD4yn5YxroUOO/Azi
+-----END CERTIFICATE-----
diff --git a/tests/specs/cert/cafile_install/__test__.jsonc b/tests/specs/cert/cafile_install/__test__.jsonc
new file mode 100644
index 000000000..9591c7769
--- /dev/null
+++ b/tests/specs/cert/cafile_install/__test__.jsonc
@@ -0,0 +1,28 @@
+{
+ "tempDir": true,
+ "steps": [{
+ "args": [
+ "install",
+ "--cert",
+ "RootCA.pem",
+ "-n",
+ "echo_test",
+ "--root",
+ "$PWD",
+ "https://localhost:5545/echo.ts"
+ ],
+ "output": "[WILDCARD]"
+ }, {
+ "if": "windows",
+ "commandName": "./bin/echo_test.cmd",
+ "flaky": true,
+ "args": ["foo"],
+ "output": "[WILDCARD]foo"
+ }, {
+ "if": "unix",
+ "commandName": "./bin/echo_test",
+ "flaky": true,
+ "args": ["foo"],
+ "output": "[WILDCARD]foo"
+ }]
+}
diff --git a/tests/specs/cert/cafile_ts_fetch/RootCA.pem b/tests/specs/cert/cafile_ts_fetch/RootCA.pem
new file mode 100644
index 000000000..c2f84ceeb
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch/RootCA.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgugAwIBAgIJAMKPPW4tsOymMA0GCSqGSIb3DQEBCwUAMCcxCzAJBgNV
+BAYTAlVTMRgwFgYDVQQDDA9FeGFtcGxlLVJvb3QtQ0EwIBcNMTkxMDIxMTYyODIy
+WhgPMjExODA5MjcxNjI4MjJaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA9FeGFt
+cGxlLVJvb3QtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMH/IO
+2qtHfyBKwANNPB4K0q5JVSg8XxZdRpTTlz0CwU0oRO3uHrI52raCCfVeiQutyZop
+eFZTDWeXGudGAFA2B5m3orWt0s+touPi8MzjsG2TQ+WSI66QgbXTNDitDDBtTVcV
+5G3Ic+3SppQAYiHSekLISnYWgXLl+k5CnEfTowg6cjqjVr0KjL03cTN3H7b+6+0S
+ws4rYbW1j4ExR7K6BFNH6572yq5qR20E6GqlY+EcOZpw4CbCk9lS8/CWuXze/vMs
+OfDcc6K+B625d27wyEGZHedBomT2vAD7sBjvO8hn/DP1Qb46a8uCHR6NSfnJ7bXO
+G1igaIbgY1zXirNdAgMBAAGjUDBOMB0GA1UdDgQWBBTzut+pwwDfqmMYcI9KNWRD
+hxcIpTAfBgNVHSMEGDAWgBTzut+pwwDfqmMYcI9KNWRDhxcIpTAMBgNVHRMEBTAD
+AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB9AqSbZ+hEglAgSHxAMCqRFdhVu7MvaQM0
+P090mhGlOCt3yB7kdGfsIrUW6nQcTz7PPQFRaJMrFHPvFvPootkBUpTYR4hTkdce
+H6RCRu2Jxl4Y9bY/uezd9YhGCYfUtfjA6/TH9FcuZfttmOOlxOt01XfNvVMIR6RM
+z/AYhd+DeOXjr35F/VHeVpnk+55L0PYJsm1CdEbOs5Hy1ecR7ACuDkXnbM4fpz9I
+kyIWJwk2zJReKcJMgi1aIinDM9ao/dca1G99PHOw8dnr4oyoTiv8ao6PWiSRHHMi
+MNf4EgWfK+tZMnuqfpfO9740KzfcVoMNo4QJD4yn5YxroUOO/Azi
+-----END CERTIFICATE-----
diff --git a/tests/specs/cert/cafile_ts_fetch/__test__.jsonc b/tests/specs/cert/cafile_ts_fetch/__test__.jsonc
new file mode 100644
index 000000000..8ace23f25
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch/__test__.jsonc
@@ -0,0 +1,19 @@
+{
+ "steps": [{
+ "args": "run --quiet --reload --allow-net --cert RootCA.pem cafile_ts_fetch.ts",
+ "flaky": true,
+ "output": "cafile_ts_fetch.ts.out"
+ }, {
+ "args": "eval --cert RootCA.pem fetch('https://localhost:5545/cert/cafile_ts_fetch.ts.out').then(r=>r.text()).then(t=>console.log(t.trimEnd()))",
+ "flaky": true,
+ "output": "cafile_ts_fetch.ts.out"
+ }, {
+ "args": "info --quiet --cert RootCA.pem https://localhost:5545/cert/cafile_info.ts",
+ "flaky": true,
+ "output": "cafile_info.ts.out"
+ }, {
+ "args": "cache --quiet --cert RootCA.pem http://localhost:4545/cert/cafile_url_imports.ts",
+ "flaky": true,
+ "output": ""
+ }]
+}
diff --git a/tests/specs/cert/cafile_ts_fetch/cafile_info.ts.out b/tests/specs/cert/cafile_ts_fetch/cafile_info.ts.out
new file mode 100644
index 000000000..279453f88
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch/cafile_info.ts.out
@@ -0,0 +1,14 @@
+local: [WILDCARD]https[WILDCARD]localhost_PORT5545[WILDCARD]
+type: TypeScript
+dependencies: 8 unique
+size: [WILDCARD]
+
+https://localhost:5545/cert/cafile_info.ts ([WILDCARD])
+├── https://localhost:5545/subdir/mt_text_typescript.t1.ts ([WILDCARD])
+├── https://localhost:5545/subdir/mt_video_vdn.t2.ts ([WILDCARD])
+├── https://localhost:5545/subdir/mt_video_mp2t.t3.ts ([WILDCARD])
+├── https://localhost:5545/subdir/mt_application_x_typescript.t4.ts ([WILDCARD])
+├── https://localhost:5545/subdir/mt_text_javascript.j1.js ([WILDCARD])
+├── https://localhost:5545/subdir/mt_application_ecmascript.j2.js ([WILDCARD])
+├── https://localhost:5545/subdir/mt_text_ecmascript.j3.js ([WILDCARD])
+└── https://localhost:5545/subdir/mt_application_x_javascript.j4.js ([WILDCARD])
diff --git a/tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts b/tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts
new file mode 100644
index 000000000..12fcda007
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts
@@ -0,0 +1,3 @@
+fetch("https://localhost:5545/cert/cafile_ts_fetch.ts.out")
+ .then((r) => r.text())
+ .then((t) => console.log(t.trimEnd()));
diff --git a/tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts.out b/tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts.out
new file mode 100644
index 000000000..699b756ed
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch/cafile_ts_fetch.ts.out
@@ -0,0 +1,2 @@
+[WILDCARD]
+Hello
diff --git a/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/__test__.jsonc b/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/__test__.jsonc
new file mode 100644
index 000000000..bb4a95f79
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet --reload --allow-net --unsafely-ignore-certificate-errors cafile_ts_fetch.ts",
+ "flaky": true,
+ "output": "cafile_ts_fetch_unsafe_ssl.ts.out"
+}
diff --git a/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch.ts b/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch.ts
new file mode 100644
index 000000000..12fcda007
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch.ts
@@ -0,0 +1,3 @@
+fetch("https://localhost:5545/cert/cafile_ts_fetch.ts.out")
+ .then((r) => r.text())
+ .then((t) => console.log(t.trimEnd()));
diff --git a/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch_unsafe_ssl.ts.out b/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch_unsafe_ssl.ts.out
new file mode 100644
index 000000000..a0934e584
--- /dev/null
+++ b/tests/specs/cert/cafile_ts_fetch_unsafe_ssl/cafile_ts_fetch_unsafe_ssl.ts.out
@@ -0,0 +1,3 @@
+DANGER: TLS certificate validation is disabled for all hostnames
+[WILDCARD]
+Hello
diff --git a/tests/specs/cert/cafile_url_imports/RootCA.pem b/tests/specs/cert/cafile_url_imports/RootCA.pem
new file mode 100644
index 000000000..c2f84ceeb
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports/RootCA.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgugAwIBAgIJAMKPPW4tsOymMA0GCSqGSIb3DQEBCwUAMCcxCzAJBgNV
+BAYTAlVTMRgwFgYDVQQDDA9FeGFtcGxlLVJvb3QtQ0EwIBcNMTkxMDIxMTYyODIy
+WhgPMjExODA5MjcxNjI4MjJaMCcxCzAJBgNVBAYTAlVTMRgwFgYDVQQDDA9FeGFt
+cGxlLVJvb3QtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMH/IO
+2qtHfyBKwANNPB4K0q5JVSg8XxZdRpTTlz0CwU0oRO3uHrI52raCCfVeiQutyZop
+eFZTDWeXGudGAFA2B5m3orWt0s+touPi8MzjsG2TQ+WSI66QgbXTNDitDDBtTVcV
+5G3Ic+3SppQAYiHSekLISnYWgXLl+k5CnEfTowg6cjqjVr0KjL03cTN3H7b+6+0S
+ws4rYbW1j4ExR7K6BFNH6572yq5qR20E6GqlY+EcOZpw4CbCk9lS8/CWuXze/vMs
+OfDcc6K+B625d27wyEGZHedBomT2vAD7sBjvO8hn/DP1Qb46a8uCHR6NSfnJ7bXO
+G1igaIbgY1zXirNdAgMBAAGjUDBOMB0GA1UdDgQWBBTzut+pwwDfqmMYcI9KNWRD
+hxcIpTAfBgNVHSMEGDAWgBTzut+pwwDfqmMYcI9KNWRDhxcIpTAMBgNVHRMEBTAD
+AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB9AqSbZ+hEglAgSHxAMCqRFdhVu7MvaQM0
+P090mhGlOCt3yB7kdGfsIrUW6nQcTz7PPQFRaJMrFHPvFvPootkBUpTYR4hTkdce
+H6RCRu2Jxl4Y9bY/uezd9YhGCYfUtfjA6/TH9FcuZfttmOOlxOt01XfNvVMIR6RM
+z/AYhd+DeOXjr35F/VHeVpnk+55L0PYJsm1CdEbOs5Hy1ecR7ACuDkXnbM4fpz9I
+kyIWJwk2zJReKcJMgi1aIinDM9ao/dca1G99PHOw8dnr4oyoTiv8ao6PWiSRHHMi
+MNf4EgWfK+tZMnuqfpfO9740KzfcVoMNo4QJD4yn5YxroUOO/Azi
+-----END CERTIFICATE-----
diff --git a/tests/specs/cert/cafile_url_imports/__test__.jsonc b/tests/specs/cert/cafile_url_imports/__test__.jsonc
new file mode 100644
index 000000000..f52bb7068
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet --reload --cert RootCA.pem cafile_url_imports.ts",
+ "flaky": true,
+ "output": "cafile_url_imports.ts.out"
+}
diff --git a/tests/specs/cert/cafile_url_imports/cafile_url_imports.ts b/tests/specs/cert/cafile_url_imports/cafile_url_imports.ts
new file mode 100644
index 000000000..2355a8628
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports/cafile_url_imports.ts
@@ -0,0 +1,3 @@
+import { printHello } from "https://localhost:5545/subdir/mod2.ts";
+printHello();
+console.log("success");
diff --git a/tests/specs/cert/cafile_url_imports/cafile_url_imports.ts.out b/tests/specs/cert/cafile_url_imports/cafile_url_imports.ts.out
new file mode 100644
index 000000000..989ce33e9
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports/cafile_url_imports.ts.out
@@ -0,0 +1,2 @@
+Hello
+success
diff --git a/tests/specs/cert/cafile_url_imports_unsafe_ssl/__test__.jsonc b/tests/specs/cert/cafile_url_imports_unsafe_ssl/__test__.jsonc
new file mode 100644
index 000000000..526649aa1
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports_unsafe_ssl/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet --reload --unsafely-ignore-certificate-errors=localhost cafile_url_imports.ts",
+ "flaky": true,
+ "output": "cafile_url_imports_unsafe_ssl.ts.out"
+}
diff --git a/tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports.ts b/tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports.ts
new file mode 100644
index 000000000..2355a8628
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports.ts
@@ -0,0 +1,3 @@
+import { printHello } from "https://localhost:5545/subdir/mod2.ts";
+printHello();
+console.log("success");
diff --git a/tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports_unsafe_ssl.ts.out b/tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports_unsafe_ssl.ts.out
new file mode 100644
index 000000000..daebcd766
--- /dev/null
+++ b/tests/specs/cert/cafile_url_imports_unsafe_ssl/cafile_url_imports_unsafe_ssl.ts.out
@@ -0,0 +1,3 @@
+DANGER: TLS certificate validation is disabled for: localhost
+Hello
+success
diff --git a/tests/specs/cert/deno_land_unsafe_ssl/__test__.jsonc b/tests/specs/cert/deno_land_unsafe_ssl/__test__.jsonc
new file mode 100644
index 000000000..5fa685860
--- /dev/null
+++ b/tests/specs/cert/deno_land_unsafe_ssl/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "flaky": true,
+ "args": "run --quiet --reload --allow-net --unsafely-ignore-certificate-errors=deno.land deno_land_unsafe_ssl.ts",
+ "output": "deno_land_unsafe_ssl.ts.out"
+}
diff --git a/tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts b/tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts
new file mode 100644
index 000000000..55618506b
--- /dev/null
+++ b/tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts
@@ -0,0 +1,2 @@
+const r = await fetch("https://github.com");
+console.log(r.status);
diff --git a/tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts.out b/tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts.out
new file mode 100644
index 000000000..cbf52b076
--- /dev/null
+++ b/tests/specs/cert/deno_land_unsafe_ssl/deno_land_unsafe_ssl.ts.out
@@ -0,0 +1,2 @@
+DANGER: TLS certificate validation is disabled for: deno.land
+200
diff --git a/tests/specs/cert/ip_address_unsafe_ssl/__test__.jsonc b/tests/specs/cert/ip_address_unsafe_ssl/__test__.jsonc
new file mode 100644
index 000000000..a19a33cc0
--- /dev/null
+++ b/tests/specs/cert/ip_address_unsafe_ssl/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run --quiet --reload --allow-net --unsafely-ignore-certificate-errors=1.1.1.1 ip_address_unsafe_ssl.ts",
+ "output": "ip_address_unsafe_ssl.ts.out"
+}
diff --git a/tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts b/tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts
new file mode 100644
index 000000000..a3268888f
--- /dev/null
+++ b/tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts
@@ -0,0 +1,2 @@
+const r = await fetch("https://1.1.1.1");
+console.log(r.status);
diff --git a/tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts.out b/tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts.out
new file mode 100644
index 000000000..d4ebb2617
--- /dev/null
+++ b/tests/specs/cert/ip_address_unsafe_ssl/ip_address_unsafe_ssl.ts.out
@@ -0,0 +1,2 @@
+DANGER: TLS certificate validation is disabled for: 1.1.1.1
+200
diff --git a/tests/specs/cert/localhost_unsafe_ssl/__test__.jsonc b/tests/specs/cert/localhost_unsafe_ssl/__test__.jsonc
new file mode 100644
index 000000000..90ca827dc
--- /dev/null
+++ b/tests/specs/cert/localhost_unsafe_ssl/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet --reload --allow-net --unsafely-ignore-certificate-errors=deno.land cafile_url_imports.ts",
+ "output": "localhost_unsafe_ssl.ts.out",
+ "exitCode": 1
+}
diff --git a/tests/specs/cert/localhost_unsafe_ssl/cafile_url_imports.ts b/tests/specs/cert/localhost_unsafe_ssl/cafile_url_imports.ts
new file mode 100644
index 000000000..2355a8628
--- /dev/null
+++ b/tests/specs/cert/localhost_unsafe_ssl/cafile_url_imports.ts
@@ -0,0 +1,3 @@
+import { printHello } from "https://localhost:5545/subdir/mod2.ts";
+printHello();
+console.log("success");
diff --git a/tests/specs/cert/localhost_unsafe_ssl/localhost_unsafe_ssl.ts.out b/tests/specs/cert/localhost_unsafe_ssl/localhost_unsafe_ssl.ts.out
new file mode 100644
index 000000000..81e490c1c
--- /dev/null
+++ b/tests/specs/cert/localhost_unsafe_ssl/localhost_unsafe_ssl.ts.out
@@ -0,0 +1,3 @@
+DANGER: TLS certificate validation is disabled for: deno.land
+error: Import 'https://localhost:5545/subdir/mod2.ts' failed: error sending request for url (https://localhost:5545/subdir/mod2.ts): error trying to connect: invalid peer certificate: UnknownIssuer
+ at file:///[WILDCARD]/cafile_url_imports.ts:[WILDCARD]