summaryrefslogtreecommitdiff
path: root/tools/permission_prompt_test.py
diff options
context:
space:
mode:
authorJaePil Jung <jjp5023@gmail.com>2019-01-13 01:29:45 +0900
committerRyan Dahl <ry@tinyclouds.org>2019-01-12 11:29:45 -0500
commit37e3db00a264423a7cf70f663119bbc6a57990eb (patch)
treebbb0fbdd982054797e4b87ca1a2f0940a6819072 /tools/permission_prompt_test.py
parent6c9695a528a2967d837f01030412526659735a12 (diff)
Add --allow-run test code (#1504)
Diffstat (limited to 'tools/permission_prompt_test.py')
-rwxr-xr-xtools/permission_prompt_test.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/tools/permission_prompt_test.py b/tools/permission_prompt_test.py
index 9a450143c..ad23c6557 100755
--- a/tools/permission_prompt_test.py
+++ b/tools/permission_prompt_test.py
@@ -51,7 +51,8 @@ class Prompt(object):
bytes_input,
allow_write=False,
allow_net=False,
- allow_env=False):
+ allow_env=False,
+ allow_run=False):
"Returns (return_code, stdout, stderr)."
cmd = [self.deno_exe, PERMISSIONS_PROMPT_TEST_TS, arg]
if allow_write:
@@ -60,6 +61,8 @@ class Prompt(object):
cmd.append("--allow-net")
if allow_env:
cmd.append("--allow-env")
+ if allow_run:
+ cmd.append("--allow-run")
return tty_capture(cmd, bytes_input)
def warm_up(self):
@@ -120,6 +123,24 @@ class Prompt(object):
assert b'PermissionDenied: permission denied' in stderr
assert b'Deno requests network access' in stderr
+ def test_run_yes(self):
+ code, stdout, stderr = self.run('needsRun', b'y\n')
+ assert code == 0
+ assert stdout == b'hello'
+ assert b'Deno requests access to run' in stderr
+
+ def test_run_arg(self):
+ code, stdout, stderr = self.run('needsRun', b'', allow_run=True)
+ assert code == 0
+ assert stdout == b'hello'
+ assert stderr == b''
+
+ def test_run_no(self):
+ code, _stdout, stderr = self.run('needsRun', b'N\n')
+ assert code == 1
+ assert b'PermissionDenied: permission denied' in stderr
+ assert b'Deno requests access to run' in stderr
+
def permission_prompt_test(deno_exe):
p = Prompt(deno_exe)
@@ -133,6 +154,9 @@ def permission_prompt_test(deno_exe):
p.test_net_yes()
p.test_net_arg()
p.test_net_no()
+ p.test_run_yes()
+ p.test_run_arg()
+ p.test_run_no()
def main():