summaryrefslogtreecommitdiff
path: root/tests/specs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-10-10 14:01:42 +0100
committerGitHub <noreply@github.com>2024-10-10 14:01:42 +0100
commit66929de3bab098d2b9278cfc4b311c977555721c (patch)
treee3fe7576d7ad248e6d3797885649d68391bcd352 /tests/specs
parent06aadcd22bb0f33ffd240e39ff8d39ab286e41b7 (diff)
fix(unstable/worker): ensure import permissions are passed (#26101)
We only had integration tests for this and not an integration test. Closes #26074
Diffstat (limited to 'tests/specs')
-rw-r--r--tests/specs/permission/allow_import_worker/__test__.jsonc13
-rw-r--r--tests/specs/permission/allow_import_worker/denied.out7
-rw-r--r--tests/specs/permission/allow_import_worker/main.ts8
-rw-r--r--tests/specs/permission/allow_import_worker/main_denied.ts8
-rw-r--r--tests/specs/permission/allow_import_worker/worker.ts4
5 files changed, 40 insertions, 0 deletions
diff --git a/tests/specs/permission/allow_import_worker/__test__.jsonc b/tests/specs/permission/allow_import_worker/__test__.jsonc
new file mode 100644
index 000000000..21ac65303
--- /dev/null
+++ b/tests/specs/permission/allow_import_worker/__test__.jsonc
@@ -0,0 +1,13 @@
+{
+ "tests": {
+ "allowed": {
+ "args": "run -A --unstable-worker-options --quiet main.ts",
+ "output": "1\n"
+ },
+ "denied": {
+ "args": "run -A --unstable-worker-options --quiet main_denied.ts",
+ "output": "denied.out",
+ "exitCode": 1
+ }
+ }
+}
diff --git a/tests/specs/permission/allow_import_worker/denied.out b/tests/specs/permission/allow_import_worker/denied.out
new file mode 100644
index 000000000..6e4dcaee0
--- /dev/null
+++ b/tests/specs/permission/allow_import_worker/denied.out
@@ -0,0 +1,7 @@
+error: Uncaught (in worker "") (in promise) TypeError: JSR package manifest for '@std/assert' failed to load. Requires import access to "127.0.0.1:4250", run again with the --allow-import flag
+await import(specifier);
+^
+ at async file:///[WILDLINE]
+error: Uncaught (in promise) Error: Unhandled error in child worker.
+ at [WILDLINE]
+ at [WILDLINE] \ No newline at end of file
diff --git a/tests/specs/permission/allow_import_worker/main.ts b/tests/specs/permission/allow_import_worker/main.ts
new file mode 100644
index 000000000..af65c4065
--- /dev/null
+++ b/tests/specs/permission/allow_import_worker/main.ts
@@ -0,0 +1,8 @@
+new Worker(import.meta.resolve("./worker.ts"), {
+ type: "module",
+ deno: {
+ permissions: {
+ import: ["127.0.0.1:4250"],
+ },
+ },
+});
diff --git a/tests/specs/permission/allow_import_worker/main_denied.ts b/tests/specs/permission/allow_import_worker/main_denied.ts
new file mode 100644
index 000000000..e0d5a1d45
--- /dev/null
+++ b/tests/specs/permission/allow_import_worker/main_denied.ts
@@ -0,0 +1,8 @@
+new Worker(import.meta.resolve("./worker.ts"), {
+ type: "module",
+ deno: {
+ permissions: {
+ import: [],
+ },
+ },
+});
diff --git a/tests/specs/permission/allow_import_worker/worker.ts b/tests/specs/permission/allow_import_worker/worker.ts
new file mode 100644
index 000000000..fd5757ba8
--- /dev/null
+++ b/tests/specs/permission/allow_import_worker/worker.ts
@@ -0,0 +1,4 @@
+const specifier = "jsr:@std/assert/assert";
+await import(specifier);
+console.log(1);
+close();