summaryrefslogtreecommitdiff
path: root/cli/tests/unit
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2021-10-29 17:05:55 -0400
committerGitHub <noreply@github.com>2021-10-29 17:05:55 -0400
commitd44011a69e0674acfa9c59bd7ad7f0523eb61d42 (patch)
tree405e9d56408b94977fe5ccd11db0941d3225b46f /cli/tests/unit
parentb7341438f29de88f3458b32a835bfad560bda52e (diff)
fix(runtime): require full read and write permissions to create symlinks (#12554)
Diffstat (limited to 'cli/tests/unit')
-rw-r--r--cli/tests/unit/symlink_test.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/cli/tests/unit/symlink_test.ts b/cli/tests/unit/symlink_test.ts
index f0db2d615..782b03175 100644
--- a/cli/tests/unit/symlink_test.ts
+++ b/cli/tests/unit/symlink_test.ts
@@ -108,3 +108,31 @@ unitTest(
);
},
);
+
+unitTest(
+ { permissions: { read: true, write: ["."] } },
+ async function symlinkNoFullWritePermissions() {
+ await assertRejects(
+ () => Deno.symlink("old", "new"),
+ Deno.errors.PermissionDenied,
+ );
+ assertThrows(
+ () => Deno.symlinkSync("old", "new"),
+ Deno.errors.PermissionDenied,
+ );
+ },
+);
+
+unitTest(
+ { permissions: { read: ["."], write: true } },
+ async function symlinkNoFullReadPermissions() {
+ await assertRejects(
+ () => Deno.symlink("old", "new"),
+ Deno.errors.PermissionDenied,
+ );
+ assertThrows(
+ () => Deno.symlinkSync("old", "new"),
+ Deno.errors.PermissionDenied,
+ );
+ },
+);