1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const ava_1 = require("ava");
|
4 | const fs_extra_1 = require("fs-extra");
|
5 | const os_1 = require("os");
|
6 | const path = require("path");
|
7 | const uuid_1 = require("uuid");
|
8 | /**
|
9 | * The point of this file is to ensure that whatever filesystem library is used,
|
10 | * it has required functionality for faast.js. Originally we had a custom fs
|
11 | * module, which was later replaced by fs-extra. Now these tests ensure that
|
12 | * fs-extra behaves as expected.
|
13 | */
|
14 | (0, ava_1.default)(`fs module rmrf deletes directory recursively`, async (t) => {
|
15 | const tmp = path.join((0, os_1.tmpdir)(), (0, uuid_1.v4)());
|
16 | const subdir = path.join(tmp, "subdir");
|
17 | await (0, fs_extra_1.mkdir)(tmp);
|
18 | await (0, fs_extra_1.mkdir)(subdir);
|
19 | const file = path.join(subdir, "file.txt");
|
20 | const stream = (0, fs_extra_1.createWriteStream)(file);
|
21 | await new Promise((resolve, reject) => stream.write("hello", err => (err ? reject(err) : resolve())));
|
22 | stream.close();
|
23 | t.true(await (0, fs_extra_1.pathExists)(file));
|
24 | t.true(await (0, fs_extra_1.pathExists)(subdir));
|
25 | t.true(await (0, fs_extra_1.pathExists)(tmp));
|
26 | await (0, fs_extra_1.remove)(tmp);
|
27 | t.false(await (0, fs_extra_1.pathExists)(file));
|
28 | t.false(await (0, fs_extra_1.pathExists)(subdir));
|
29 | t.false(await (0, fs_extra_1.pathExists)(tmp));
|
30 | });
|
31 | (0, ava_1.default)("fs module mkdir succeeds on directories that already exist", async (t) => {
|
32 | const dir = path.join((0, os_1.tmpdir)(), "faast-test");
|
33 | await t.notThrowsAsync((0, fs_extra_1.mkdirp)(dir));
|
34 | await t.notThrowsAsync((0, fs_extra_1.mkdirp)(dir));
|
35 | t.true(await (0, fs_extra_1.pathExists)(dir));
|
36 | await (0, fs_extra_1.remove)(dir);
|
37 | });
|
38 | (0, ava_1.default)("fs module mkdir recursive", async (t) => {
|
39 | const testDir = path.join((0, os_1.tmpdir)(), "faast-test2");
|
40 | const dir = path.join(testDir, (0, uuid_1.v4)(), (0, uuid_1.v4)());
|
41 | await (0, fs_extra_1.mkdirp)(dir);
|
42 | t.true(await (0, fs_extra_1.pathExists)(dir));
|
43 | await (0, fs_extra_1.remove)(testDir);
|
44 | });
|
45 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1mcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC91bml0LWZzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBdUI7QUFDdkIsdUNBQWdGO0FBQ2hGLDJCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsK0JBQW9DO0FBRXBDOzs7OztHQUtHO0FBRUgsSUFBQSxhQUFJLEVBQUMsOENBQThDLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBQyxFQUFFO0lBQzNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFNLEdBQUUsRUFBRSxJQUFBLFNBQU0sR0FBRSxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsTUFBTSxJQUFBLGdCQUFLLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTSxJQUFBLGdCQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBQSw0QkFBaUIsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0lBQ0YsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFBLHFCQUFVLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBQSxxQkFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUIsTUFBTSxJQUFBLGlCQUFNLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFBLHFCQUFVLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBQSxxQkFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFBLGFBQUksRUFBQyw0REFBNEQsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUU7SUFDekUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFBLFdBQU0sR0FBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFBLGlCQUFNLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBQSxpQkFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sSUFBQSxpQkFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxhQUFJLEVBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBQyxFQUFFO0lBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFNLEdBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFBLFNBQU0sR0FBRSxFQUFFLElBQUEsU0FBTSxHQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLElBQUEsaUJBQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBQSxxQkFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUIsTUFBTSxJQUFBLGlCQUFNLEVBQUMsT0FBTyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGVzdCBmcm9tIFwiYXZhXCI7XG5pbXBvcnQgeyBjcmVhdGVXcml0ZVN0cmVhbSwgbWtkaXIsIG1rZGlycCwgcGF0aEV4aXN0cywgcmVtb3ZlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tIFwib3NcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCI7XG5cbi8qKlxuICogVGhlIHBvaW50IG9mIHRoaXMgZmlsZSBpcyB0byBlbnN1cmUgdGhhdCB3aGF0ZXZlciBmaWxlc3lzdGVtIGxpYnJhcnkgaXMgdXNlZCxcbiAqIGl0IGhhcyByZXF1aXJlZCBmdW5jdGlvbmFsaXR5IGZvciBmYWFzdC5qcy4gT3JpZ2luYWxseSB3ZSBoYWQgYSBjdXN0b20gZnNcbiAqIG1vZHVsZSwgd2hpY2ggd2FzIGxhdGVyIHJlcGxhY2VkIGJ5IGZzLWV4dHJhLiBOb3cgdGhlc2UgdGVzdHMgZW5zdXJlIHRoYXRcbiAqIGZzLWV4dHJhIGJlaGF2ZXMgYXMgZXhwZWN0ZWQuXG4gKi9cblxudGVzdChgZnMgbW9kdWxlIHJtcmYgZGVsZXRlcyBkaXJlY3RvcnkgcmVjdXJzaXZlbHlgLCBhc3luYyB0ID0+IHtcbiAgICBjb25zdCB0bXAgPSBwYXRoLmpvaW4odG1wZGlyKCksIHV1aWR2NCgpKTtcbiAgICBjb25zdCBzdWJkaXIgPSBwYXRoLmpvaW4odG1wLCBcInN1YmRpclwiKTtcbiAgICBhd2FpdCBta2Rpcih0bXApO1xuICAgIGF3YWl0IG1rZGlyKHN1YmRpcik7XG4gICAgY29uc3QgZmlsZSA9IHBhdGguam9pbihzdWJkaXIsIFwiZmlsZS50eHRcIik7XG4gICAgY29uc3Qgc3RyZWFtID0gY3JlYXRlV3JpdGVTdHJlYW0oZmlsZSk7XG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICAgICAgc3RyZWFtLndyaXRlKFwiaGVsbG9cIiwgZXJyID0+IChlcnIgPyByZWplY3QoZXJyKSA6IHJlc29sdmUoKSkpXG4gICAgKTtcbiAgICBzdHJlYW0uY2xvc2UoKTtcbiAgICB0LnRydWUoYXdhaXQgcGF0aEV4aXN0cyhmaWxlKSk7XG4gICAgdC50cnVlKGF3YWl0IHBhdGhFeGlzdHMoc3ViZGlyKSk7XG4gICAgdC50cnVlKGF3YWl0IHBhdGhFeGlzdHModG1wKSk7XG4gICAgYXdhaXQgcmVtb3ZlKHRtcCk7XG4gICAgdC5mYWxzZShhd2FpdCBwYXRoRXhpc3RzKGZpbGUpKTtcbiAgICB0LmZhbHNlKGF3YWl0IHBhdGhFeGlzdHMoc3ViZGlyKSk7XG4gICAgdC5mYWxzZShhd2FpdCBwYXRoRXhpc3RzKHRtcCkpO1xufSk7XG5cbnRlc3QoXCJmcyBtb2R1bGUgbWtkaXIgc3VjY2VlZHMgb24gZGlyZWN0b3JpZXMgdGhhdCBhbHJlYWR5IGV4aXN0XCIsIGFzeW5jIHQgPT4ge1xuICAgIGNvbnN0IGRpciA9IHBhdGguam9pbih0bXBkaXIoKSwgXCJmYWFzdC10ZXN0XCIpO1xuICAgIGF3YWl0IHQubm90VGhyb3dzQXN5bmMobWtkaXJwKGRpcikpO1xuICAgIGF3YWl0IHQubm90VGhyb3dzQXN5bmMobWtkaXJwKGRpcikpO1xuICAgIHQudHJ1ZShhd2FpdCBwYXRoRXhpc3RzKGRpcikpO1xuICAgIGF3YWl0IHJlbW92ZShkaXIpO1xufSk7XG5cbnRlc3QoXCJmcyBtb2R1bGUgbWtkaXIgcmVjdXJzaXZlXCIsIGFzeW5jIHQgPT4ge1xuICAgIGNvbnN0IHRlc3REaXIgPSBwYXRoLmpvaW4odG1wZGlyKCksIFwiZmFhc3QtdGVzdDJcIik7XG4gICAgY29uc3QgZGlyID0gcGF0aC5qb2luKHRlc3REaXIsIHV1aWR2NCgpLCB1dWlkdjQoKSk7XG4gICAgYXdhaXQgbWtkaXJwKGRpcik7XG4gICAgdC50cnVlKGF3YWl0IHBhdGhFeGlzdHMoZGlyKSk7XG4gICAgYXdhaXQgcmVtb3ZlKHRlc3REaXIpO1xufSk7XG4iXX0= |
\ | No newline at end of file |