From d44011a69e0674acfa9c59bd7ad7f0523eb61d42 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 29 Oct 2021 17:05:55 -0400 Subject: fix(runtime): require full read and write permissions to create symlinks (#12554) --- cli/tests/unit/symlink_test.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'cli/tests') 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, + ); + }, +); -- cgit v1.2.3