diff options
Diffstat (limited to 'std/http/file_server_test.ts')
-rw-r--r-- | std/http/file_server_test.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/std/http/file_server_test.ts b/std/http/file_server_test.ts index f725b32a2..85785d923 100644 --- a/std/http/file_server_test.ts +++ b/std/http/file_server_test.ts @@ -93,3 +93,29 @@ test(async function serveFallback(): Promise<void> { killFileServer(); } }); + +test(async function servePermissionDenied(): Promise<void> { + const deniedServer = Deno.run({ + args: [Deno.execPath(), "run", "--allow-net", "http/file_server.ts"], + stdout: "piped", + stderr: "piped" + }); + const reader = new TextProtoReader(new BufReader(deniedServer.stdout!)); + const errReader = new TextProtoReader(new BufReader(deniedServer.stderr!)); + const s = await reader.readLine(); + assert(s !== Deno.EOF && s.includes("server listening")); + + try { + await fetch("http://localhost:4500/"); + assertEquals( + await errReader.readLine(), + "run again with the --allow-read flag" + ); + } catch (e) { + throw e; + } finally { + deniedServer.close(); + deniedServer.stdout!.close(); + deniedServer.stderr!.close(); + } +}); |