summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/057_revoke_permissions.out11
-rw-r--r--cli/tests/057_revoke_permissions.ts36
-rw-r--r--cli/tests/061_permissions_request.ts6
-rw-r--r--cli/tests/061_permissions_request.ts.out3
-rw-r--r--cli/tests/062_permissions_request_global.ts6
-rw-r--r--cli/tests/062_permissions_request_global.ts.out3
-rw-r--r--cli/tests/063_permissions_revoke.ts6
-rw-r--r--cli/tests/063_permissions_revoke.ts.out3
-rw-r--r--cli/tests/064_permissions_revoke_global.ts6
-rw-r--r--cli/tests/064_permissions_revoke_global.ts.out3
-rw-r--r--cli/tests/integration_tests.rs40
11 files changed, 67 insertions, 56 deletions
diff --git a/cli/tests/057_revoke_permissions.out b/cli/tests/057_revoke_permissions.out
deleted file mode 100644
index 8ea569236..000000000
--- a/cli/tests/057_revoke_permissions.out
+++ /dev/null
@@ -1,11 +0,0 @@
-[WILDCARD]
-running 7 tests
-test runGranted ... ok [WILDCARD]
-test readGranted ... ok [WILDCARD]
-test writeGranted ... ok [WILDCARD]
-test netGranted ... ok [WILDCARD]
-test envGranted ... ok [WILDCARD]
-test pluginGranted ... ok [WILDCARD]
-test hrtimeGranted ... ok [WILDCARD]
-
-test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [WILDCARD]
diff --git a/cli/tests/057_revoke_permissions.ts b/cli/tests/057_revoke_permissions.ts
deleted file mode 100644
index de8deecb4..000000000
--- a/cli/tests/057_revoke_permissions.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-
-const knownPermissions: Deno.PermissionName[] = [
- "run",
- "read",
- "write",
- "net",
- "env",
- "plugin",
- "hrtime",
-];
-
-export function assert(cond: unknown): asserts cond {
- if (!cond) {
- throw Error("Assertion failed");
- }
-}
-
-function genFunc(grant: Deno.PermissionName): [string, () => Promise<void>] {
- const gen: () => Promise<void> = async function Granted(): Promise<void> {
- const status0 = await Deno.permissions.query({ name: grant });
- assert(status0 != null);
- assert(status0.state === "granted");
-
- const status1 = await Deno.permissions.revoke({ name: grant });
- assert(status1 != null);
- assert(status1.state === "prompt");
- };
- const name = grant + "Granted";
- return [name, gen];
-}
-
-for (const grant of knownPermissions) {
- const [name, fn] = genFunc(grant);
- Deno.test(name, fn);
-}
diff --git a/cli/tests/061_permissions_request.ts b/cli/tests/061_permissions_request.ts
new file mode 100644
index 000000000..8fdc2c590
--- /dev/null
+++ b/cli/tests/061_permissions_request.ts
@@ -0,0 +1,6 @@
+const status1 = await Deno.permissions.request({ name: "read", path: "foo" });
+const status2 = await Deno.permissions.query({ name: "read", path: "bar" });
+const status3 = await Deno.permissions.request({ name: "read", path: "bar" });
+console.log(status1);
+console.log(status2);
+console.log(status3);
diff --git a/cli/tests/061_permissions_request.ts.out b/cli/tests/061_permissions_request.ts.out
new file mode 100644
index 000000000..de058a9a3
--- /dev/null
+++ b/cli/tests/061_permissions_request.ts.out
@@ -0,0 +1,3 @@
+[WILDCARD]PermissionStatus { state: "granted" }
+PermissionStatus { state: "prompt" }
+PermissionStatus { state: "denied" }
diff --git a/cli/tests/062_permissions_request_global.ts b/cli/tests/062_permissions_request_global.ts
new file mode 100644
index 000000000..4ed98ff64
--- /dev/null
+++ b/cli/tests/062_permissions_request_global.ts
@@ -0,0 +1,6 @@
+const status1 = await Deno.permissions.request({ name: "read" });
+const status2 = await Deno.permissions.query({ name: "read", path: "foo" });
+const status3 = await Deno.permissions.query({ name: "read", path: "bar" });
+console.log(status1);
+console.log(status2);
+console.log(status3);
diff --git a/cli/tests/062_permissions_request_global.ts.out b/cli/tests/062_permissions_request_global.ts.out
new file mode 100644
index 000000000..69b5ee50d
--- /dev/null
+++ b/cli/tests/062_permissions_request_global.ts.out
@@ -0,0 +1,3 @@
+[WILDCARD]PermissionStatus { state: "granted" }
+PermissionStatus { state: "granted" }
+PermissionStatus { state: "granted" }
diff --git a/cli/tests/063_permissions_revoke.ts b/cli/tests/063_permissions_revoke.ts
new file mode 100644
index 000000000..e61883693
--- /dev/null
+++ b/cli/tests/063_permissions_revoke.ts
@@ -0,0 +1,6 @@
+const status1 = await Deno.permissions.revoke({ name: "read", path: "foo" });
+const status2 = await Deno.permissions.query({ name: "read", path: "bar" });
+const status3 = await Deno.permissions.revoke({ name: "read", path: "bar" });
+console.log(status1);
+console.log(status2);
+console.log(status3);
diff --git a/cli/tests/063_permissions_revoke.ts.out b/cli/tests/063_permissions_revoke.ts.out
new file mode 100644
index 000000000..803893e9c
--- /dev/null
+++ b/cli/tests/063_permissions_revoke.ts.out
@@ -0,0 +1,3 @@
+[WILDCARD]PermissionStatus { state: "prompt" }
+PermissionStatus { state: "granted" }
+PermissionStatus { state: "prompt" }
diff --git a/cli/tests/064_permissions_revoke_global.ts b/cli/tests/064_permissions_revoke_global.ts
new file mode 100644
index 000000000..efe74b828
--- /dev/null
+++ b/cli/tests/064_permissions_revoke_global.ts
@@ -0,0 +1,6 @@
+const status1 = await Deno.permissions.revoke({ name: "read" });
+const status2 = await Deno.permissions.query({ name: "read", path: "foo" });
+const status3 = await Deno.permissions.query({ name: "read", path: "bar" });
+console.log(status1);
+console.log(status2);
+console.log(status3);
diff --git a/cli/tests/064_permissions_revoke_global.ts.out b/cli/tests/064_permissions_revoke_global.ts.out
new file mode 100644
index 000000000..a2ea05cb7
--- /dev/null
+++ b/cli/tests/064_permissions_revoke_global.ts.out
@@ -0,0 +1,3 @@
+[WILDCARD]PermissionStatus { state: "prompt" }
+PermissionStatus { state: "prompt" }
+PermissionStatus { state: "prompt" }
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index 206664113..690b30798 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -1,8 +1,6 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
#[cfg(unix)]
extern crate nix;
-#[cfg(unix)]
-extern crate pty;
extern crate tempfile;
use test_util as util;
@@ -166,8 +164,8 @@ fn no_color() {
#[test]
#[ignore]
pub fn test_raw_tty() {
- use pty::fork::*;
use std::io::{Read, Write};
+ use util::pty::fork::*;
let fork = Fork::from_ptmx().unwrap();
@@ -1581,12 +1579,6 @@ itest!(_056_make_temp_file_write_perm {
output: "056_make_temp_file_write_perm.out",
});
-// TODO(lucacasonato): remove --unstable when permissions goes stable
-itest!(_057_revoke_permissions {
- args: "test -A --unstable 057_revoke_permissions.ts",
- output: "057_revoke_permissions.out",
-});
-
itest!(_058_tasks_microtasks_close {
args: "run --quiet 058_tasks_microtasks_close.ts",
output: "058_tasks_microtasks_close.ts.out",
@@ -1603,6 +1595,36 @@ itest!(_060_deno_doc_displays_all_overloads_in_details_view {
output: "060_deno_doc_displays_all_overloads_in_details_view.ts.out",
});
+#[cfg(unix)]
+#[test]
+fn _061_permissions_request() {
+ let args = "run --unstable 061_permissions_request.ts";
+ let output = "061_permissions_request.ts.out";
+ let input = b"g\nd\n";
+
+ util::test_pty(args, output, input);
+}
+
+#[cfg(unix)]
+#[test]
+fn _062_permissions_request_global() {
+ let args = "run --unstable 062_permissions_request_global.ts";
+ let output = "062_permissions_request_global.ts.out";
+ let input = b"g\n";
+
+ util::test_pty(args, output, input);
+}
+
+itest!(_063_permissions_revoke {
+ args: "run --unstable --allow-read=foo,bar 063_permissions_revoke.ts",
+ output: "063_permissions_revoke.ts.out",
+});
+
+itest!(_064_permissions_revoke_global {
+ args: "run --unstable --allow-read=foo,bar 064_permissions_revoke_global.ts",
+ output: "064_permissions_revoke_global.ts.out",
+});
+
itest!(js_import_detect {
args: "run --quiet --reload js_import_detect.ts",
output: "js_import_detect.ts.out",