1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-01 16:51:13 -05:00

Add --allow-read test code

This commit is contained in:
J2P 2019-02-09 19:31:03 +09:00 committed by Ryan Dahl
parent 636e234e4c
commit 65cafd2edf
2 changed files with 28 additions and 1 deletions

View file

@ -51,12 +51,15 @@ class Prompt(object):
def run(self, def run(self,
arg, arg,
bytes_input, bytes_input,
allow_read=False,
allow_write=False, allow_write=False,
allow_net=False, allow_net=False,
allow_env=False, allow_env=False,
allow_run=False): allow_run=False):
"Returns (return_code, stdout, stderr)." "Returns (return_code, stdout, stderr)."
cmd = [self.deno_exe, PERMISSIONS_PROMPT_TEST_TS, arg] cmd = [self.deno_exe, PERMISSIONS_PROMPT_TEST_TS, arg]
if allow_read:
cmd.append("--allow-read")
if allow_write: if allow_write:
cmd.append("--allow-write") cmd.append("--allow-write")
if allow_net: if allow_net:
@ -71,6 +74,24 @@ class Prompt(object):
# ignore the ts compiling message # ignore the ts compiling message
self.run('needsWrite', b'', allow_write=True) self.run('needsWrite', b'', allow_write=True)
def test_read_yes(self):
code, stdout, stderr = self.run('needsRead', b'y\n')
assert code == 0
assert stdout == b''
assert b'⚠️ Deno requests read access' in stderr
def test_read_arg(self):
code, stdout, stderr = self.run('needsRead', b'', allow_read=True)
assert code == 0
assert stdout == b''
assert stderr == b''
def test_read_no(self):
code, _stdout, stderr = self.run('needsRead', b'N\n')
assert code == 1
assert b'PermissionDenied: permission denied' in stderr
assert b'⚠️ Deno requests read access' in stderr
def test_write_yes(self): def test_write_yes(self):
code, stdout, stderr = self.run('needsWrite', b'y\n') code, stdout, stderr = self.run('needsWrite', b'y\n')
assert code == 0 assert code == 0
@ -147,6 +168,9 @@ class Prompt(object):
def permission_prompt_test(deno_exe): def permission_prompt_test(deno_exe):
p = Prompt(deno_exe) p = Prompt(deno_exe)
p.warm_up() p.warm_up()
p.test_read_yes()
p.test_read_arg()
p.test_read_no()
p.test_write_yes() p.test_write_yes()
p.test_write_arg() p.test_write_arg()
p.test_write_no() p.test_write_no()

View file

@ -1,8 +1,11 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { args, listen, env, exit, makeTempDirSync, run } from "deno"; import { args, listen, env, exit, makeTempDirSync, readFile, run} from "deno";
const name = args[1]; const name = args[1];
const test = { const test = {
needsRead: () => {
readFile("package.json")
},
needsWrite: () => { needsWrite: () => {
makeTempDirSync(); makeTempDirSync();
}, },