UNPKG

faastjs

Version:

Serverless batch computing made simple.

46 lines 7.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const ava_1 = tslib_1.__importDefault(require("ava")); const fs_extra_1 = require("fs-extra"); const os_1 = require("os"); const path_1 = tslib_1.__importDefault(require("path")); const uuid_1 = require("uuid"); /** * The point of this file is to ensure that whatever filesystem library is used, * it has required functionality for faast.js. Originally we had a custom fs * module, which was later replaced by fs-extra. Now these tests ensure that * fs-extra behaves as expected. */ (0, ava_1.default)(`fs module rmrf deletes directory recursively`, async (t) => { const tmp = path_1.default.join((0, os_1.tmpdir)(), (0, uuid_1.v4)()); const subdir = path_1.default.join(tmp, "subdir"); await (0, fs_extra_1.mkdir)(tmp); await (0, fs_extra_1.mkdir)(subdir); const file = path_1.default.join(subdir, "file.txt"); const stream = (0, fs_extra_1.createWriteStream)(file); await new Promise((resolve, reject) => stream.write("hello", err => (err ? reject(err) : resolve()))); stream.close(); t.true(await (0, fs_extra_1.pathExists)(file)); t.true(await (0, fs_extra_1.pathExists)(subdir)); t.true(await (0, fs_extra_1.pathExists)(tmp)); await (0, fs_extra_1.remove)(tmp); t.false(await (0, fs_extra_1.pathExists)(file)); t.false(await (0, fs_extra_1.pathExists)(subdir)); t.false(await (0, fs_extra_1.pathExists)(tmp)); }); (0, ava_1.default)("fs module mkdir succeeds on directories that already exist", async (t) => { const dir = path_1.default.join((0, os_1.tmpdir)(), "faast-test"); await t.notThrowsAsync((0, fs_extra_1.mkdirp)(dir)); await t.notThrowsAsync((0, fs_extra_1.mkdirp)(dir)); t.true(await (0, fs_extra_1.pathExists)(dir)); await (0, fs_extra_1.remove)(dir); }); (0, ava_1.default)("fs module mkdir recursive", async (t) => { const testDir = path_1.default.join((0, os_1.tmpdir)(), "faast-test2"); const dir = path_1.default.join(testDir, (0, uuid_1.v4)(), (0, uuid_1.v4)()); await (0, fs_extra_1.mkdirp)(dir); t.true(await (0, fs_extra_1.pathExists)(dir)); await (0, fs_extra_1.remove)(testDir); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1mcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC91bml0LWZzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQXVCO0FBQ3ZCLHVDQUFnRjtBQUNoRiwyQkFBNEI7QUFDNUIsd0RBQXdCO0FBQ3hCLCtCQUFvQztBQUVwQzs7Ozs7R0FLRztBQUVILElBQUEsYUFBSSxFQUFDLDhDQUE4QyxFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUMsRUFBRTtJQUMzRCxNQUFNLEdBQUcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsV0FBTSxHQUFFLEVBQUUsSUFBQSxTQUFNLEdBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sTUFBTSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sSUFBQSxnQkFBSyxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLE1BQU0sSUFBQSxnQkFBSyxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUEsNEJBQWlCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsTUFBTSxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFBLHFCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBQSxxQkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sSUFBQSxpQkFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFBLHFCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBQSxxQkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxhQUFJLEVBQUMsNERBQTRELEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBQyxFQUFFO0lBQ3pFLE1BQU0sR0FBRyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFNLEdBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5QyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBQSxpQkFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUEsaUJBQU0sRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFBLHFCQUFVLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixNQUFNLElBQUEsaUJBQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsYUFBSSxFQUFDLDJCQUEyQixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUMsRUFBRTtJQUN4QyxNQUFNLE9BQU8sR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsV0FBTSxHQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbkQsTUFBTSxHQUFHLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBQSxTQUFNLEdBQUUsRUFBRSxJQUFBLFNBQU0sR0FBRSxDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFBLGlCQUFNLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sSUFBQSxpQkFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlc3QgZnJvbSBcImF2YVwiO1xuaW1wb3J0IHsgY3JlYXRlV3JpdGVTdHJlYW0sIG1rZGlyLCBta2RpcnAsIHBhdGhFeGlzdHMsIHJlbW92ZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSBcIm9zXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSBcInV1aWRcIjtcblxuLyoqXG4gKiBUaGUgcG9pbnQgb2YgdGhpcyBmaWxlIGlzIHRvIGVuc3VyZSB0aGF0IHdoYXRldmVyIGZpbGVzeXN0ZW0gbGlicmFyeSBpcyB1c2VkLFxuICogaXQgaGFzIHJlcXVpcmVkIGZ1bmN0aW9uYWxpdHkgZm9yIGZhYXN0LmpzLiBPcmlnaW5hbGx5IHdlIGhhZCBhIGN1c3RvbSBmc1xuICogbW9kdWxlLCB3aGljaCB3YXMgbGF0ZXIgcmVwbGFjZWQgYnkgZnMtZXh0cmEuIE5vdyB0aGVzZSB0ZXN0cyBlbnN1cmUgdGhhdFxuICogZnMtZXh0cmEgYmVoYXZlcyBhcyBleHBlY3RlZC5cbiAqL1xuXG50ZXN0KGBmcyBtb2R1bGUgcm1yZiBkZWxldGVzIGRpcmVjdG9yeSByZWN1cnNpdmVseWAsIGFzeW5jIHQgPT4ge1xuICAgIGNvbnN0IHRtcCA9IHBhdGguam9pbih0bXBkaXIoKSwgdXVpZHY0KCkpO1xuICAgIGNvbnN0IHN1YmRpciA9IHBhdGguam9pbih0bXAsIFwic3ViZGlyXCIpO1xuICAgIGF3YWl0IG1rZGlyKHRtcCk7XG4gICAgYXdhaXQgbWtkaXIoc3ViZGlyKTtcbiAgICBjb25zdCBmaWxlID0gcGF0aC5qb2luKHN1YmRpciwgXCJmaWxlLnR4dFwiKTtcbiAgICBjb25zdCBzdHJlYW0gPSBjcmVhdGVXcml0ZVN0cmVhbShmaWxlKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PlxuICAgICAgICBzdHJlYW0ud3JpdGUoXCJoZWxsb1wiLCBlcnIgPT4gKGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZSgpKSlcbiAgICApO1xuICAgIHN0cmVhbS5jbG9zZSgpO1xuICAgIHQudHJ1ZShhd2FpdCBwYXRoRXhpc3RzKGZpbGUpKTtcbiAgICB0LnRydWUoYXdhaXQgcGF0aEV4aXN0cyhzdWJkaXIpKTtcbiAgICB0LnRydWUoYXdhaXQgcGF0aEV4aXN0cyh0bXApKTtcbiAgICBhd2FpdCByZW1vdmUodG1wKTtcbiAgICB0LmZhbHNlKGF3YWl0IHBhdGhFeGlzdHMoZmlsZSkpO1xuICAgIHQuZmFsc2UoYXdhaXQgcGF0aEV4aXN0cyhzdWJkaXIpKTtcbiAgICB0LmZhbHNlKGF3YWl0IHBhdGhFeGlzdHModG1wKSk7XG59KTtcblxudGVzdChcImZzIG1vZHVsZSBta2RpciBzdWNjZWVkcyBvbiBkaXJlY3RvcmllcyB0aGF0IGFscmVhZHkgZXhpc3RcIiwgYXN5bmMgdCA9PiB7XG4gICAgY29uc3QgZGlyID0gcGF0aC5qb2luKHRtcGRpcigpLCBcImZhYXN0LXRlc3RcIik7XG4gICAgYXdhaXQgdC5ub3RUaHJvd3NBc3luYyhta2RpcnAoZGlyKSk7XG4gICAgYXdhaXQgdC5ub3RUaHJvd3NBc3luYyhta2RpcnAoZGlyKSk7XG4gICAgdC50cnVlKGF3YWl0IHBhdGhFeGlzdHMoZGlyKSk7XG4gICAgYXdhaXQgcmVtb3ZlKGRpcik7XG59KTtcblxudGVzdChcImZzIG1vZHVsZSBta2RpciByZWN1cnNpdmVcIiwgYXN5bmMgdCA9PiB7XG4gICAgY29uc3QgdGVzdERpciA9IHBhdGguam9pbih0bXBkaXIoKSwgXCJmYWFzdC10ZXN0MlwiKTtcbiAgICBjb25zdCBkaXIgPSBwYXRoLmpvaW4odGVzdERpciwgdXVpZHY0KCksIHV1aWR2NCgpKTtcbiAgICBhd2FpdCBta2RpcnAoZGlyKTtcbiAgICB0LnRydWUoYXdhaXQgcGF0aEV4aXN0cyhkaXIpKTtcbiAgICBhd2FpdCByZW1vdmUodGVzdERpcik7XG59KTtcbiJdfQ==