faastjs
Version:
Serverless batch computing made simple.
40 lines • 6.21 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/functions"));
const util_1 = require("./fixtures/util");
async function testDetail(t, provider, options) {
const opts = {
timeout: 60,
gc: "off",
description: t.title,
...options
};
const faastModule = await (0, index_1.faast)(provider, funcs, opts);
const remote = faastModule.functionsDetail;
try {
t.is((await remote.hello("Andy")).value, "Hello Andy!");
t.is((await remote.identityString("你好")).value, "你好");
t.is((await remote.identityNum(42)).value, 42);
const elements = ["bar", "baz"];
t.deepEqual((await (0, util_1.toArray)(remote.generator(elements))).map(elem => elem.value), elements);
t.deepEqual((await (0, util_1.toArray)(remote.asyncGenerator(elements))).map(elem => elem.value), elements);
if (provider === "aws") {
const detail = await remote.hello("there");
t.truthy(detail.logUrl);
t.truthy(detail.instanceId);
t.truthy(detail.executionId);
}
}
finally {
await faastModule.cleanup();
}
}
for (const provider of index_1.providers) {
for (const config of [...util_1.configs, ...util_1.noValidateConfigs]) {
(0, ava_1.default)((0, util_1.title)(provider, `detailed calls`, config), testDetail, provider, config);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2RldGFpbC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUE2QztBQUM3QyxvQ0FBcUU7QUFDckUsb0VBQThDO0FBQzlDLDBDQUE2RTtBQUU3RSxLQUFLLFVBQVUsVUFBVSxDQUNyQixDQUFtQixFQUNuQixRQUFrQixFQUNsQixPQUFzQjtJQUV0QixNQUFNLElBQUksR0FBa0I7UUFDeEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxFQUFFLEVBQUUsS0FBSztRQUNULFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSztRQUNwQixHQUFHLE9BQU87S0FDYixDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLGFBQUssRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUM7SUFFM0MsSUFBSSxDQUFDO1FBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLFNBQVMsQ0FDUCxDQUFDLE1BQU0sSUFBQSxjQUFPLEVBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNuRSxRQUFRLENBQ1gsQ0FBQztRQUNGLENBQUMsQ0FBQyxTQUFTLENBQ1AsQ0FBQyxNQUFNLElBQUEsY0FBTyxFQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDeEUsUUFBUSxDQUNYLENBQUM7UUFDRixJQUFJLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNyQixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7WUFBUyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLGlCQUFTLEVBQUUsQ0FBQztJQUMvQixLQUFLLE1BQU0sTUFBTSxJQUFJLENBQUMsR0FBRyxjQUFPLEVBQUUsR0FBRyx3QkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDdEQsSUFBQSxhQUFJLEVBQUMsSUFBQSxZQUFLLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEYsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGVzdCwgeyBFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcImF2YVwiO1xuaW1wb3J0IHsgQ29tbW9uT3B0aW9ucywgZmFhc3QsIFByb3ZpZGVyLCBwcm92aWRlcnMgfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCAqIGFzIGZ1bmNzIGZyb20gXCIuL2ZpeHR1cmVzL2Z1bmN0aW9uc1wiO1xuaW1wb3J0IHsgY29uZmlncywgbm9WYWxpZGF0ZUNvbmZpZ3MsIHRpdGxlLCB0b0FycmF5IH0gZnJvbSBcIi4vZml4dHVyZXMvdXRpbFwiO1xuXG5hc3luYyBmdW5jdGlvbiB0ZXN0RGV0YWlsKFxuICAgIHQ6IEV4ZWN1dGlvbkNvbnRleHQsXG4gICAgcHJvdmlkZXI6IFByb3ZpZGVyLFxuICAgIG9wdGlvbnM6IENvbW1vbk9wdGlvbnNcbikge1xuICAgIGNvbnN0IG9wdHM6IENvbW1vbk9wdGlvbnMgPSB7XG4gICAgICAgIHRpbWVvdXQ6IDYwLFxuICAgICAgICBnYzogXCJvZmZcIixcbiAgICAgICAgZGVzY3JpcHRpb246IHQudGl0bGUsXG4gICAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIGNvbnN0IGZhYXN0TW9kdWxlID0gYXdhaXQgZmFhc3QocHJvdmlkZXIsIGZ1bmNzLCBvcHRzKTtcbiAgICBjb25zdCByZW1vdGUgPSBmYWFzdE1vZHVsZS5mdW5jdGlvbnNEZXRhaWw7XG5cbiAgICB0cnkge1xuICAgICAgICB0LmlzKChhd2FpdCByZW1vdGUuaGVsbG8oXCJBbmR5XCIpKS52YWx1ZSwgXCJIZWxsbyBBbmR5IVwiKTtcbiAgICAgICAgdC5pcygoYXdhaXQgcmVtb3RlLmlkZW50aXR5U3RyaW5nKFwi5L2g5aW9XCIpKS52YWx1ZSwgXCLkvaDlpb1cIik7XG4gICAgICAgIHQuaXMoKGF3YWl0IHJlbW90ZS5pZGVudGl0eU51bSg0MikpLnZhbHVlLCA0Mik7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gW1wiYmFyXCIsIFwiYmF6XCJdO1xuICAgICAgICB0LmRlZXBFcXVhbChcbiAgICAgICAgICAgIChhd2FpdCB0b0FycmF5KHJlbW90ZS5nZW5lcmF0b3IoZWxlbWVudHMpKSkubWFwKGVsZW0gPT4gZWxlbS52YWx1ZSksXG4gICAgICAgICAgICBlbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICB0LmRlZXBFcXVhbChcbiAgICAgICAgICAgIChhd2FpdCB0b0FycmF5KHJlbW90ZS5hc3luY0dlbmVyYXRvcihlbGVtZW50cykpKS5tYXAoZWxlbSA9PiBlbGVtLnZhbHVlKSxcbiAgICAgICAgICAgIGVsZW1lbnRzXG4gICAgICAgICk7XG4gICAgICAgIGlmIChwcm92aWRlciA9PT0gXCJhd3NcIikge1xuICAgICAgICAgICAgY29uc3QgZGV0YWlsID0gYXdhaXQgcmVtb3RlLmhlbGxvKFwidGhlcmVcIik7XG4gICAgICAgICAgICB0LnRydXRoeShkZXRhaWwubG9nVXJsKTtcbiAgICAgICAgICAgIHQudHJ1dGh5KGRldGFpbC5pbnN0YW5jZUlkKTtcbiAgICAgICAgICAgIHQudHJ1dGh5KGRldGFpbC5leGVjdXRpb25JZCk7XG4gICAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgICBhd2FpdCBmYWFzdE1vZHVsZS5jbGVhbnVwKCk7XG4gICAgfVxufVxuXG5mb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHByb3ZpZGVycykge1xuICAgIGZvciAoY29uc3QgY29uZmlnIG9mIFsuLi5jb25maWdzLCAuLi5ub1ZhbGlkYXRlQ29uZmlnc10pIHtcbiAgICAgICAgdGVzdCh0aXRsZShwcm92aWRlciwgYGRldGFpbGVkIGNhbGxzYCwgY29uZmlnKSwgdGVzdERldGFpbCwgcHJvdmlkZXIsIGNvbmZpZyk7XG4gICAgfVxufVxuIl19
;