faastjs
Version:
Serverless batch computing made simple.
72 lines • 8.26 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const ava_1 = tslib_1.__importDefault(require("ava"));
const index_1 = require("../index");
const funcs = tslib_1.__importStar(require("./fixtures/functionsPackage"));
const util_1 = require("./fixtures/util");
const uuid_1 = require("uuid");
async function testPackage(t, provider, options) {
const opts = {
...options,
gc: "off",
packageJson: {
name: "package-test",
version: "0.0.2",
description: "package dependency test",
repository: "foo",
license: "ISC",
dependencies: {
"fs-extra": "^7.0.1",
tslib: "^1.9.1"
}
},
useDependencyCaching: false,
description: t.title
};
const faastModule = await (0, index_1.faast)(provider, funcs, opts);
const remote = faastModule.functions;
try {
t.is(await remote.isDir("."), true);
}
finally {
await faastModule.cleanup();
}
}
for (const provider of index_1.providers) {
for (const config of util_1.configs) {
(0, ava_1.default)((0, util_1.title)(provider, "package dependencies", config), testPackage, provider, config);
}
}
(0, ava_1.default)("remote aws package dependencies with lambda layer caching", async (t) => {
const packageJson = {
// Need unique name to avoid problems with communication between
// concurrent tests, esp on aws node8 + node10 copies of the testsuite.
name: (0, uuid_1.v4)(),
version: "0.0.2",
description: "aws layer test",
license: "ISC",
dependencies: {
tslib: "^1.9.1"
}
};
const faastModule = await (0, index_1.faastAws)(funcs, {
gc: "off",
packageJson,
description: t.title
});
try {
const faastModule2 = await (0, index_1.faastAws)(funcs, {
gc: "off",
packageJson,
description: t.title
});
t.not(faastModule.state.resources.layer, undefined);
t.deepEqual(faastModule.state.resources.layer, faastModule2.state.resources.layer);
await faastModule2.cleanup();
}
finally {
await faastModule.cleanup({ deleteCaches: true });
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9wYWNrYWdlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQTZDO0FBQzdDLG9DQUErRTtBQUMvRSwyRUFBcUQ7QUFDckQsMENBQWlEO0FBQ2pELCtCQUFrQztBQUVsQyxLQUFLLFVBQVUsV0FBVyxDQUN0QixDQUFtQixFQUNuQixRQUFrQixFQUNsQixPQUFzQjtJQUV0QixNQUFNLElBQUksR0FBa0I7UUFDeEIsR0FBRyxPQUFPO1FBQ1YsRUFBRSxFQUFFLEtBQUs7UUFDVCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsY0FBYztZQUNwQixPQUFPLEVBQUUsT0FBTztZQUNoQixXQUFXLEVBQUUseUJBQXlCO1lBQ3RDLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsWUFBWSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixLQUFLLEVBQUUsUUFBUTthQUNsQjtTQUNKO1FBQ0Qsb0JBQW9CLEVBQUUsS0FBSztRQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUs7S0FDdkIsQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxhQUFLLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQ3JDLElBQUksQ0FBQztRQUNELENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7WUFBUyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLGlCQUFTLEVBQUUsQ0FBQztJQUMvQixLQUFLLE1BQU0sTUFBTSxJQUFJLGNBQU8sRUFBRSxDQUFDO1FBQzNCLElBQUEsYUFBSSxFQUNBLElBQUEsWUFBSyxFQUFDLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsRUFDL0MsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLENBQ1QsQ0FBQztJQUNOLENBQUM7QUFDTCxDQUFDO0FBRUQsSUFBQSxhQUFJLEVBQUMsMkRBQTJELEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBQyxFQUFFO0lBQ3hFLE1BQU0sV0FBVyxHQUFHO1FBQ2hCLGdFQUFnRTtRQUNoRSx1RUFBdUU7UUFDdkUsSUFBSSxFQUFFLElBQUEsU0FBSSxHQUFFO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixPQUFPLEVBQUUsS0FBSztRQUNkLFlBQVksRUFBRTtZQUNWLEtBQUssRUFBRSxRQUFRO1NBQ2xCO0tBQ0osQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxnQkFBUSxFQUFDLEtBQUssRUFBRTtRQUN0QyxFQUFFLEVBQUUsS0FBSztRQUNULFdBQVc7UUFDWCxXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUs7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGdCQUFRLEVBQUMsS0FBSyxFQUFFO1lBQ3ZDLEVBQUUsRUFBRSxLQUFLO1lBQ1QsV0FBVztZQUNYLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSztTQUN2QixDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsU0FBUyxDQUNQLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFDakMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUNyQyxDQUFDO1FBQ0YsTUFBTSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztZQUFTLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGVzdCwgeyBFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcImF2YVwiO1xuaW1wb3J0IHsgQ29tbW9uT3B0aW9ucywgZmFhc3QsIFByb3ZpZGVyLCBwcm92aWRlcnMsIGZhYXN0QXdzIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQgKiBhcyBmdW5jcyBmcm9tIFwiLi9maXh0dXJlcy9mdW5jdGlvbnNQYWNrYWdlXCI7XG5pbXBvcnQgeyBjb25maWdzLCB0aXRsZSB9IGZyb20gXCIuL2ZpeHR1cmVzL3V0aWxcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuXG5hc3luYyBmdW5jdGlvbiB0ZXN0UGFja2FnZShcbiAgICB0OiBFeGVjdXRpb25Db250ZXh0LFxuICAgIHByb3ZpZGVyOiBQcm92aWRlcixcbiAgICBvcHRpb25zOiBDb21tb25PcHRpb25zXG4pIHtcbiAgICBjb25zdCBvcHRzOiBDb21tb25PcHRpb25zID0ge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBnYzogXCJvZmZcIixcbiAgICAgICAgcGFja2FnZUpzb246IHtcbiAgICAgICAgICAgIG5hbWU6IFwicGFja2FnZS10ZXN0XCIsXG4gICAgICAgICAgICB2ZXJzaW9uOiBcIjAuMC4yXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJwYWNrYWdlIGRlcGVuZGVuY3kgdGVzdFwiLFxuICAgICAgICAgICAgcmVwb3NpdG9yeTogXCJmb29cIixcbiAgICAgICAgICAgIGxpY2Vuc2U6IFwiSVNDXCIsXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgICAgICAgICAgICBcImZzLWV4dHJhXCI6IFwiXjcuMC4xXCIsXG4gICAgICAgICAgICAgICAgdHNsaWI6IFwiXjEuOS4xXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdXNlRGVwZW5kZW5jeUNhY2hpbmc6IGZhbHNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogdC50aXRsZVxuICAgIH07XG4gICAgY29uc3QgZmFhc3RNb2R1bGUgPSBhd2FpdCBmYWFzdChwcm92aWRlciwgZnVuY3MsIG9wdHMpO1xuICAgIGNvbnN0IHJlbW90ZSA9IGZhYXN0TW9kdWxlLmZ1bmN0aW9ucztcbiAgICB0cnkge1xuICAgICAgICB0LmlzKGF3YWl0IHJlbW90ZS5pc0RpcihcIi5cIiksIHRydWUpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAgIGF3YWl0IGZhYXN0TW9kdWxlLmNsZWFudXAoKTtcbiAgICB9XG59XG5cbmZvciAoY29uc3QgcHJvdmlkZXIgb2YgcHJvdmlkZXJzKSB7XG4gICAgZm9yIChjb25zdCBjb25maWcgb2YgY29uZmlncykge1xuICAgICAgICB0ZXN0KFxuICAgICAgICAgICAgdGl0bGUocHJvdmlkZXIsIFwicGFja2FnZSBkZXBlbmRlbmNpZXNcIiwgY29uZmlnKSxcbiAgICAgICAgICAgIHRlc3RQYWNrYWdlLFxuICAgICAgICAgICAgcHJvdmlkZXIsXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbnRlc3QoXCJyZW1vdGUgYXdzIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHdpdGggbGFtYmRhIGxheWVyIGNhY2hpbmdcIiwgYXN5bmMgdCA9PiB7XG4gICAgY29uc3QgcGFja2FnZUpzb24gPSB7XG4gICAgICAgIC8vIE5lZWQgdW5pcXVlIG5hbWUgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCBjb21tdW5pY2F0aW9uIGJldHdlZW5cbiAgICAgICAgLy8gY29uY3VycmVudCB0ZXN0cywgZXNwIG9uIGF3cyBub2RlOCArIG5vZGUxMCBjb3BpZXMgb2YgdGhlIHRlc3RzdWl0ZS5cbiAgICAgICAgbmFtZTogdXVpZCgpLFxuICAgICAgICB2ZXJzaW9uOiBcIjAuMC4yXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcImF3cyBsYXllciB0ZXN0XCIsXG4gICAgICAgIGxpY2Vuc2U6IFwiSVNDXCIsXG4gICAgICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgICAgICAgdHNsaWI6IFwiXjEuOS4xXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgZmFhc3RNb2R1bGUgPSBhd2FpdCBmYWFzdEF3cyhmdW5jcywge1xuICAgICAgICBnYzogXCJvZmZcIixcbiAgICAgICAgcGFja2FnZUpzb24sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0LnRpdGxlXG4gICAgfSk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmFhc3RNb2R1bGUyID0gYXdhaXQgZmFhc3RBd3MoZnVuY3MsIHtcbiAgICAgICAgICAgIGdjOiBcIm9mZlwiLFxuICAgICAgICAgICAgcGFja2FnZUpzb24sXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogdC50aXRsZVxuICAgICAgICB9KTtcbiAgICAgICAgdC5ub3QoZmFhc3RNb2R1bGUuc3RhdGUucmVzb3VyY2VzLmxheWVyLCB1bmRlZmluZWQpO1xuICAgICAgICB0LmRlZXBFcXVhbChcbiAgICAgICAgICAgIGZhYXN0TW9kdWxlLnN0YXRlLnJlc291cmNlcy5sYXllcixcbiAgICAgICAgICAgIGZhYXN0TW9kdWxlMi5zdGF0ZS5yZXNvdXJjZXMubGF5ZXJcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgZmFhc3RNb2R1bGUyLmNsZWFudXAoKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgICBhd2FpdCBmYWFzdE1vZHVsZS5jbGVhbnVwKHsgZGVsZXRlQ2FjaGVzOiB0cnVlIH0pO1xuICAgIH1cbn0pO1xuIl19
;