summaryrefslogtreecommitdiff
path: root/std/http/file_server_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/http/file_server_test.ts')
-rw-r--r--std/http/file_server_test.ts26
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();
+ }
+});