summaryrefslogtreecommitdiff
path: root/cli/js/chown_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/chown_test.ts')
-rw-r--r--cli/js/chown_test.ts107
1 files changed, 56 insertions, 51 deletions
diff --git a/cli/js/chown_test.ts b/cli/js/chown_test.ts
index af3c04d9f..50dcd6dc1 100644
--- a/cli/js/chown_test.ts
+++ b/cli/js/chown_test.ts
@@ -1,5 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-import { testPerm, assertEquals, assert } from "./test_util.ts";
+import { unitTest, assertEquals, assert } from "./test_util.ts";
// chown on Windows is noop for now, so ignore its testing on Windows
if (Deno.build.os !== "win") {
@@ -28,7 +28,7 @@ if (Deno.build.os !== "win") {
return { uid, gid };
}
- testPerm({}, async function chownNoWritePermission(): Promise<void> {
+ unitTest(async function chownNoWritePermission(): Promise<void> {
const filePath = "chown_test_file.txt";
try {
await Deno.chown(filePath, 1000, 1000);
@@ -37,8 +37,8 @@ if (Deno.build.os !== "win") {
}
});
- testPerm(
- { run: true, write: true },
+ unitTest(
+ { perms: { run: true, write: true } },
async function chownSyncFileNotExist(): Promise<void> {
const { uid, gid } = await getUidAndGid();
const filePath = Deno.makeTempDirSync() + "/chown_test_file.txt";
@@ -51,8 +51,8 @@ if (Deno.build.os !== "win") {
}
);
- testPerm(
- { run: true, write: true },
+ unitTest(
+ { perms: { run: true, write: true } },
async function chownFileNotExist(): Promise<void> {
const { uid, gid } = await getUidAndGid();
const filePath = (await Deno.makeTempDir()) + "/chown_test_file.txt";
@@ -65,42 +65,46 @@ if (Deno.build.os !== "win") {
}
);
- testPerm({ write: true }, function chownSyncPermissionDenied(): void {
- const enc = new TextEncoder();
- const dirPath = Deno.makeTempDirSync();
- const filePath = dirPath + "/chown_test_file.txt";
- const fileData = enc.encode("Hello");
- Deno.writeFileSync(filePath, fileData);
+ unitTest(
+ { perms: { write: true } },
+ function chownSyncPermissionDenied(): void {
+ const enc = new TextEncoder();
+ const dirPath = Deno.makeTempDirSync();
+ const filePath = dirPath + "/chown_test_file.txt";
+ const fileData = enc.encode("Hello");
+ Deno.writeFileSync(filePath, fileData);
- try {
- // try changing the file's owner to root
- Deno.chownSync(filePath, 0, 0);
- } catch (e) {
- assert(e instanceof Deno.errors.PermissionDenied);
+ try {
+ // try changing the file's owner to root
+ Deno.chownSync(filePath, 0, 0);
+ } catch (e) {
+ assert(e instanceof Deno.errors.PermissionDenied);
+ }
+ Deno.removeSync(dirPath, { recursive: true });
}
- Deno.removeSync(dirPath, { recursive: true });
- });
+ );
- testPerm({ write: true }, async function chownPermissionDenied(): Promise<
- void
- > {
- const enc = new TextEncoder();
- const dirPath = await Deno.makeTempDir();
- const filePath = dirPath + "/chown_test_file.txt";
- const fileData = enc.encode("Hello");
- await Deno.writeFile(filePath, fileData);
+ unitTest(
+ { perms: { write: true } },
+ async function chownPermissionDenied(): Promise<void> {
+ const enc = new TextEncoder();
+ const dirPath = await Deno.makeTempDir();
+ const filePath = dirPath + "/chown_test_file.txt";
+ const fileData = enc.encode("Hello");
+ await Deno.writeFile(filePath, fileData);
- try {
- // try changing the file's owner to root
- await Deno.chown(filePath, 0, 0);
- } catch (e) {
- assert(e instanceof Deno.errors.PermissionDenied);
+ try {
+ // try changing the file's owner to root
+ await Deno.chown(filePath, 0, 0);
+ } catch (e) {
+ assert(e instanceof Deno.errors.PermissionDenied);
+ }
+ await Deno.remove(dirPath, { recursive: true });
}
- await Deno.remove(dirPath, { recursive: true });
- });
+ );
- testPerm(
- { run: true, write: true },
+ unitTest(
+ { perms: { run: true, write: true } },
async function chownSyncSucceed(): Promise<void> {
// TODO: when a file's owner is actually being changed,
// chown only succeeds if run under priviledged user (root)
@@ -121,22 +125,23 @@ if (Deno.build.os !== "win") {
}
);
- testPerm({ run: true, write: true }, async function chownSucceed(): Promise<
- void
- > {
- // TODO: same as chownSyncSucceed
- const { uid, gid } = await getUidAndGid();
+ unitTest(
+ { perms: { run: true, write: true } },
+ async function chownSucceed(): Promise<void> {
+ // TODO: same as chownSyncSucceed
+ const { uid, gid } = await getUidAndGid();
- const enc = new TextEncoder();
- const dirPath = await Deno.makeTempDir();
- const filePath = dirPath + "/chown_test_file.txt";
- const fileData = enc.encode("Hello");
- await Deno.writeFile(filePath, fileData);
+ const enc = new TextEncoder();
+ const dirPath = await Deno.makeTempDir();
+ const filePath = dirPath + "/chown_test_file.txt";
+ const fileData = enc.encode("Hello");
+ await Deno.writeFile(filePath, fileData);
- // the test script creates this file with the same uid and gid,
- // here chown is a noop so it succeeds under non-priviledged user
- await Deno.chown(filePath, uid, gid);
+ // the test script creates this file with the same uid and gid,
+ // here chown is a noop so it succeeds under non-priviledged user
+ await Deno.chown(filePath, uid, gid);
- Deno.removeSync(dirPath, { recursive: true });
- });
+ Deno.removeSync(dirPath, { recursive: true });
+ }
+ );
}