summaryrefslogtreecommitdiff
path: root/tools/permission_prompt_test.py
diff options
context:
space:
mode:
authorJ2P <jjp5023@gmail.com>2019-02-09 19:31:03 +0900
committerRyan Dahl <ry@tinyclouds.org>2019-02-09 05:57:41 -0500
commit65cafd2edffced763424e407eaf275f08f6da3b0 (patch)
treeb3006e35fa19fb1f41c174114c168382d8d60dfc /tools/permission_prompt_test.py
parent636e234e4ca8bcafc31d65065005572b6033f649 (diff)
Add --allow-read test code
Diffstat (limited to 'tools/permission_prompt_test.py')
-rwxr-xr-xtools/permission_prompt_test.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/permission_prompt_test.py b/tools/permission_prompt_test.py
index e2557e841..88fc791bf 100755
--- a/tools/permission_prompt_test.py
+++ b/tools/permission_prompt_test.py
@@ -51,12 +51,15 @@ class Prompt(object):
def run(self,
arg,
bytes_input,
+ allow_read=False,
allow_write=False,
allow_net=False,
allow_env=False,
allow_run=False):
"Returns (return_code, stdout, stderr)."
cmd = [self.deno_exe, PERMISSIONS_PROMPT_TEST_TS, arg]
+ if allow_read:
+ cmd.append("--allow-read")
if allow_write:
cmd.append("--allow-write")
if allow_net:
@@ -71,6 +74,24 @@ class Prompt(object):
# ignore the ts compiling message
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):
code, stdout, stderr = self.run('needsWrite', b'y\n')
assert code == 0
@@ -147,6 +168,9 @@ class Prompt(object):
def permission_prompt_test(deno_exe):
p = Prompt(deno_exe)
p.warm_up()
+ p.test_read_yes()
+ p.test_read_arg()
+ p.test_read_no()
p.test_write_yes()
p.test_write_arg()
p.test_write_no()