summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/workers/test.ts
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2022-03-20 22:46:39 +0100
committerGitHub <noreply@github.com>2022-03-20 22:46:39 +0100
commitdaa7c6d32ab5a4029f8084e174d621f5562256be (patch)
tree27ed9921f4e6b1c2cb662bc7c1d51e73c9f9a50d /cli/tests/testdata/workers/test.ts
parentd0a7305676b1df0819d7f9ecd900110526da9109 (diff)
fix: actually don't inherit runtime permissions (#14024)
Diffstat (limited to 'cli/tests/testdata/workers/test.ts')
-rw-r--r--cli/tests/testdata/workers/test.ts62
1 files changed, 62 insertions, 0 deletions
diff --git a/cli/tests/testdata/workers/test.ts b/cli/tests/testdata/workers/test.ts
index b9204adee..d75ca499b 100644
--- a/cli/tests/testdata/workers/test.ts
+++ b/cli/tests/testdata/workers/test.ts
@@ -584,6 +584,68 @@ Deno.test("Worker with disabled permissions", async function () {
worker.terminate();
});
+Deno.test("Worker permissions are not inherited with empty permission object", async function () {
+ const worker = new Worker(
+ new URL("./permission_echo.js", import.meta.url).href,
+ {
+ type: "module",
+ deno: {
+ namespace: true,
+ permissions: {},
+ },
+ },
+ );
+
+ const promise = deferred();
+ worker.onmessage = (e) => {
+ promise.resolve(e.data);
+ };
+
+ worker.postMessage(null);
+ assertEquals(await promise, {
+ env: "prompt",
+ hrtime: "prompt",
+ net: "prompt",
+ ffi: "prompt",
+ read: "prompt",
+ run: "prompt",
+ write: "prompt",
+ });
+ worker.terminate();
+});
+
+Deno.test("Worker permissions are not inherited with single specified permission", async function () {
+ const worker = new Worker(
+ new URL("./permission_echo.js", import.meta.url).href,
+ {
+ type: "module",
+ deno: {
+ namespace: true,
+ permissions: {
+ net: true,
+ },
+ },
+ },
+ );
+
+ const promise = deferred();
+ worker.onmessage = (e) => {
+ promise.resolve(e.data);
+ };
+
+ worker.postMessage(null);
+ assertEquals(await promise, {
+ env: "prompt",
+ hrtime: "prompt",
+ net: "granted",
+ ffi: "prompt",
+ read: "prompt",
+ run: "prompt",
+ write: "prompt",
+ });
+ worker.terminate();
+});
+
Deno.test("Worker with invalid permission arg", function () {
assertThrows(
() =>