UNPKG

faastjs

Version:

Serverless batch computing made simple.

65 lines 7.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const ava_1 = tslib_1.__importDefault(require("ava")); const client_lambda_1 = require("@aws-sdk/client-lambda"); const uuid_1 = require("uuid"); const aws_npm_1 = require("../src/aws/aws-npm"); const util_1 = require("./fixtures/util"); const lambda = new client_lambda_1.Lambda({ region: "us-west-2" }); async function testNpmInstall(t, packageJsonContents, bigPackage) { const LayerName = `faast-test-layer-${(0, uuid_1.v4)()}`; const FunctionName = `faast-${(0, uuid_1.v4)()}`; let layerInfo; let installLog; try { const result = await (0, aws_npm_1.npmInstall)({ LayerName, FunctionName, packageJsonContents, region: "us-west-2", quiet: true, retentionInDays: 1 }); if (bigPackage) { t.true(result.zipSize > 50 * 2 ** 20); } ({ layerInfo, installLog } = result); t.is(layerInfo.LayerName, LayerName); t.true(typeof layerInfo.Version === "number"); t.regex(installLog, /added [0-9]+ package/); const cachedResult = await (0, aws_npm_1.npmInstall)({ LayerName, FunctionName, packageJsonContents, region: "us-west-2", quiet: true, retentionInDays: 1 }); t.deepEqual(cachedResult.layerInfo, layerInfo); } finally { if (layerInfo) { await lambda.deleteLayerVersion({ LayerName, VersionNumber: layerInfo.Version }); } } } const puppeteerPackage = JSON.stringify({ dependencies: { "chrome-aws-lambda": "latest", "puppeteer-core": "latest", typescript: "latest", "aws-sdk": "latest" } }); ava_1.default.serial((0, util_1.title)("aws", `npm-install with Lambda Layer larger than 50MB`), testNpmInstall, puppeteerPackage, true); const tslibPackage = JSON.stringify({ dependencies: { tslib: "latest" } }); ava_1.default.serial((0, util_1.title)("aws", "npm-install with Lambda Layer less than 50MB"), testNpmInstall, tslibPackage, false); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLW5wbS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9hd3MtbnBtLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQTZDO0FBQzdDLDBEQUFnRDtBQUNoRCwrQkFBa0M7QUFDbEMsZ0RBQThEO0FBQzlELDBDQUF3QztBQUV4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLHNCQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUVuRCxLQUFLLFVBQVUsY0FBYyxDQUN6QixDQUFtQixFQUNuQixtQkFBMkIsRUFDM0IsVUFBbUI7SUFFbkIsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLElBQUEsU0FBSSxHQUFFLEVBQUUsQ0FBQztJQUMvQyxNQUFNLFlBQVksR0FBRyxTQUFTLElBQUEsU0FBSSxHQUFFLEVBQUUsQ0FBQztJQUN2QyxJQUFJLFNBQW1DLENBQUM7SUFDeEMsSUFBSSxVQUFrQixDQUFDO0lBQ3ZCLElBQUk7UUFDQSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsb0JBQVUsRUFBQztZQUM1QixTQUFTO1lBQ1QsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixNQUFNLEVBQUUsV0FBVztZQUNuQixLQUFLLEVBQUUsSUFBSTtZQUNYLGVBQWUsRUFBRSxDQUFDO1NBQ3JCLENBQUMsQ0FBQztRQUNILElBQUksVUFBVSxFQUFFO1lBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDMUM7UUFDRCxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sU0FBUyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxvQkFBVSxFQUFDO1lBQ2xDLFNBQVM7WUFDVCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLE1BQU0sRUFBRSxXQUFXO1lBQ25CLEtBQUssRUFBRSxJQUFJO1lBQ1gsZUFBZSxFQUFFLENBQUM7U0FDckIsQ0FBQyxDQUFDO1FBRUgsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ2xEO1lBQVM7UUFDTixJQUFJLFNBQVMsRUFBRTtZQUNYLE1BQU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDO2dCQUM1QixTQUFTO2dCQUNULGFBQWEsRUFBRSxTQUFTLENBQUMsT0FBTzthQUNuQyxDQUFDLENBQUM7U0FDTjtLQUNKO0FBQ0wsQ0FBQztBQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxZQUFZLEVBQUU7UUFDVixtQkFBbUIsRUFBRSxRQUFRO1FBQzdCLGdCQUFnQixFQUFFLFFBQVE7UUFDMUIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsU0FBUyxFQUFFLFFBQVE7S0FDdEI7Q0FDSixDQUFDLENBQUM7QUFFSCxhQUFJLENBQUMsTUFBTSxDQUNQLElBQUEsWUFBSyxFQUFDLEtBQUssRUFBRSxnREFBZ0QsQ0FBQyxFQUM5RCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLElBQUksQ0FDUCxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNoQyxZQUFZLEVBQUU7UUFDVixLQUFLLEVBQUUsUUFBUTtLQUNsQjtDQUNKLENBQUMsQ0FBQztBQUVILGFBQUksQ0FBQyxNQUFNLENBQ1AsSUFBQSxZQUFLLEVBQUMsS0FBSyxFQUFFLDhDQUE4QyxDQUFDLEVBQzVELGNBQWMsRUFDZCxZQUFZLEVBQ1osS0FBSyxDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGVzdCwgeyBFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcImF2YVwiO1xuaW1wb3J0IHsgTGFtYmRhIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1sYW1iZGFcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgQXdzTGF5ZXJJbmZvLCBucG1JbnN0YWxsIH0gZnJvbSBcIi4uL3NyYy9hd3MvYXdzLW5wbVwiO1xuaW1wb3J0IHsgdGl0bGUgfSBmcm9tIFwiLi9maXh0dXJlcy91dGlsXCI7XG5cbmNvbnN0IGxhbWJkYSA9IG5ldyBMYW1iZGEoeyByZWdpb246IFwidXMtd2VzdC0yXCIgfSk7XG5cbmFzeW5jIGZ1bmN0aW9uIHRlc3ROcG1JbnN0YWxsKFxuICAgIHQ6IEV4ZWN1dGlvbkNvbnRleHQsXG4gICAgcGFja2FnZUpzb25Db250ZW50czogc3RyaW5nLFxuICAgIGJpZ1BhY2thZ2U6IGJvb2xlYW5cbikge1xuICAgIGNvbnN0IExheWVyTmFtZSA9IGBmYWFzdC10ZXN0LWxheWVyLSR7dXVpZCgpfWA7XG4gICAgY29uc3QgRnVuY3Rpb25OYW1lID0gYGZhYXN0LSR7dXVpZCgpfWA7XG4gICAgbGV0IGxheWVySW5mbzogQXdzTGF5ZXJJbmZvIHwgdW5kZWZpbmVkO1xuICAgIGxldCBpbnN0YWxsTG9nOiBzdHJpbmc7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbnBtSW5zdGFsbCh7XG4gICAgICAgICAgICBMYXllck5hbWUsXG4gICAgICAgICAgICBGdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBwYWNrYWdlSnNvbkNvbnRlbnRzLFxuICAgICAgICAgICAgcmVnaW9uOiBcInVzLXdlc3QtMlwiLFxuICAgICAgICAgICAgcXVpZXQ6IHRydWUsXG4gICAgICAgICAgICByZXRlbnRpb25JbkRheXM6IDFcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChiaWdQYWNrYWdlKSB7XG4gICAgICAgICAgICB0LnRydWUocmVzdWx0LnppcFNpemUhID4gNTAgKiAyICoqIDIwKTtcbiAgICAgICAgfVxuICAgICAgICAoeyBsYXllckluZm8sIGluc3RhbGxMb2cgfSA9IHJlc3VsdCk7XG4gICAgICAgIHQuaXMobGF5ZXJJbmZvLkxheWVyTmFtZSwgTGF5ZXJOYW1lKTtcbiAgICAgICAgdC50cnVlKHR5cGVvZiBsYXllckluZm8uVmVyc2lvbiA9PT0gXCJudW1iZXJcIik7XG4gICAgICAgIHQucmVnZXgoaW5zdGFsbExvZywgL2FkZGVkIFswLTldKyBwYWNrYWdlLyk7XG5cbiAgICAgICAgY29uc3QgY2FjaGVkUmVzdWx0ID0gYXdhaXQgbnBtSW5zdGFsbCh7XG4gICAgICAgICAgICBMYXllck5hbWUsXG4gICAgICAgICAgICBGdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBwYWNrYWdlSnNvbkNvbnRlbnRzLFxuICAgICAgICAgICAgcmVnaW9uOiBcInVzLXdlc3QtMlwiLFxuICAgICAgICAgICAgcXVpZXQ6IHRydWUsXG4gICAgICAgICAgICByZXRlbnRpb25JbkRheXM6IDFcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdC5kZWVwRXF1YWwoY2FjaGVkUmVzdWx0LmxheWVySW5mbywgbGF5ZXJJbmZvKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAobGF5ZXJJbmZvKSB7XG4gICAgICAgICAgICBhd2FpdCBsYW1iZGEuZGVsZXRlTGF5ZXJWZXJzaW9uKHtcbiAgICAgICAgICAgICAgICBMYXllck5hbWUsXG4gICAgICAgICAgICAgICAgVmVyc2lvbk51bWJlcjogbGF5ZXJJbmZvLlZlcnNpb25cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5jb25zdCBwdXBwZXRlZXJQYWNrYWdlID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgICBcImNocm9tZS1hd3MtbGFtYmRhXCI6IFwibGF0ZXN0XCIsXG4gICAgICAgIFwicHVwcGV0ZWVyLWNvcmVcIjogXCJsYXRlc3RcIixcbiAgICAgICAgdHlwZXNjcmlwdDogXCJsYXRlc3RcIixcbiAgICAgICAgXCJhd3Mtc2RrXCI6IFwibGF0ZXN0XCJcbiAgICB9XG59KTtcblxudGVzdC5zZXJpYWwoXG4gICAgdGl0bGUoXCJhd3NcIiwgYG5wbS1pbnN0YWxsIHdpdGggTGFtYmRhIExheWVyIGxhcmdlciB0aGFuIDUwTUJgKSxcbiAgICB0ZXN0TnBtSW5zdGFsbCxcbiAgICBwdXBwZXRlZXJQYWNrYWdlLFxuICAgIHRydWVcbik7XG5cbmNvbnN0IHRzbGliUGFja2FnZSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgICAgdHNsaWI6IFwibGF0ZXN0XCJcbiAgICB9XG59KTtcblxudGVzdC5zZXJpYWwoXG4gICAgdGl0bGUoXCJhd3NcIiwgXCJucG0taW5zdGFsbCB3aXRoIExhbWJkYSBMYXllciBsZXNzIHRoYW4gNTBNQlwiKSxcbiAgICB0ZXN0TnBtSW5zdGFsbCxcbiAgICB0c2xpYlBhY2thZ2UsXG4gICAgZmFsc2Vcbik7XG4iXX0=