faastjs
Version:
Serverless batch computing made simple.
40 lines • 6.15 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2RldGFpbC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUE2QztBQUM3QyxvQ0FBcUU7QUFDckUsb0VBQThDO0FBQzlDLDBDQUE2RTtBQUU3RSxLQUFLLFVBQVUsVUFBVSxDQUNyQixDQUFtQixFQUNuQixRQUFrQixFQUNsQixPQUFzQjtJQUV0QixNQUFNLElBQUksR0FBa0I7UUFDeEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxFQUFFLEVBQUUsS0FBSztRQUNULFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSztRQUNwQixHQUFHLE9BQU87S0FDYixDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLGFBQUssRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUM7SUFFM0MsSUFBSTtRQUNBLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxTQUFTLENBQ1AsQ0FBQyxNQUFNLElBQUEsY0FBTyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDbkUsUUFBUSxDQUNYLENBQUM7UUFDRixDQUFDLENBQUMsU0FBUyxDQUNQLENBQUMsTUFBTSxJQUFBLGNBQU8sRUFBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3hFLFFBQVEsQ0FDWCxDQUFDO1FBQ0YsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQztLQUNKO1lBQVM7UUFDTixNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMvQjtBQUNMLENBQUM7QUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLGlCQUFTLEVBQUU7SUFDOUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxDQUFDLEdBQUcsY0FBTyxFQUFFLEdBQUcsd0JBQWlCLENBQUMsRUFBRTtRQUNyRCxJQUFBLGFBQUksRUFBQyxJQUFBLFlBQUssRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNqRjtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlc3QsIHsgRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCJhdmFcIjtcbmltcG9ydCB7IENvbW1vbk9wdGlvbnMsIGZhYXN0LCBQcm92aWRlciwgcHJvdmlkZXJzIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQgKiBhcyBmdW5jcyBmcm9tIFwiLi9maXh0dXJlcy9mdW5jdGlvbnNcIjtcbmltcG9ydCB7IGNvbmZpZ3MsIG5vVmFsaWRhdGVDb25maWdzLCB0aXRsZSwgdG9BcnJheSB9IGZyb20gXCIuL2ZpeHR1cmVzL3V0aWxcIjtcblxuYXN5bmMgZnVuY3Rpb24gdGVzdERldGFpbChcbiAgICB0OiBFeGVjdXRpb25Db250ZXh0LFxuICAgIHByb3ZpZGVyOiBQcm92aWRlcixcbiAgICBvcHRpb25zOiBDb21tb25PcHRpb25zXG4pIHtcbiAgICBjb25zdCBvcHRzOiBDb21tb25PcHRpb25zID0ge1xuICAgICAgICB0aW1lb3V0OiA2MCxcbiAgICAgICAgZ2M6IFwib2ZmXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0LnRpdGxlLFxuICAgICAgICAuLi5vcHRpb25zXG4gICAgfTtcbiAgICBjb25zdCBmYWFzdE1vZHVsZSA9IGF3YWl0IGZhYXN0KHByb3ZpZGVyLCBmdW5jcywgb3B0cyk7XG4gICAgY29uc3QgcmVtb3RlID0gZmFhc3RNb2R1bGUuZnVuY3Rpb25zRGV0YWlsO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgdC5pcygoYXdhaXQgcmVtb3RlLmhlbGxvKFwiQW5keVwiKSkudmFsdWUsIFwiSGVsbG8gQW5keSFcIik7XG4gICAgICAgIHQuaXMoKGF3YWl0IHJlbW90ZS5pZGVudGl0eVN0cmluZyhcIuS9oOWlvVwiKSkudmFsdWUsIFwi5L2g5aW9XCIpO1xuICAgICAgICB0LmlzKChhd2FpdCByZW1vdGUuaWRlbnRpdHlOdW0oNDIpKS52YWx1ZSwgNDIpO1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IFtcImJhclwiLCBcImJhelwiXTtcbiAgICAgICAgdC5kZWVwRXF1YWwoXG4gICAgICAgICAgICAoYXdhaXQgdG9BcnJheShyZW1vdGUuZ2VuZXJhdG9yKGVsZW1lbnRzKSkpLm1hcChlbGVtID0+IGVsZW0udmFsdWUpLFxuICAgICAgICAgICAgZWxlbWVudHNcbiAgICAgICAgKTtcbiAgICAgICAgdC5kZWVwRXF1YWwoXG4gICAgICAgICAgICAoYXdhaXQgdG9BcnJheShyZW1vdGUuYXN5bmNHZW5lcmF0b3IoZWxlbWVudHMpKSkubWFwKGVsZW0gPT4gZWxlbS52YWx1ZSksXG4gICAgICAgICAgICBlbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICBpZiAocHJvdmlkZXIgPT09IFwiYXdzXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGRldGFpbCA9IGF3YWl0IHJlbW90ZS5oZWxsbyhcInRoZXJlXCIpO1xuICAgICAgICAgICAgdC50cnV0aHkoZGV0YWlsLmxvZ1VybCk7XG4gICAgICAgICAgICB0LnRydXRoeShkZXRhaWwuaW5zdGFuY2VJZCk7XG4gICAgICAgICAgICB0LnRydXRoeShkZXRhaWwuZXhlY3V0aW9uSWQpO1xuICAgICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgICAgYXdhaXQgZmFhc3RNb2R1bGUuY2xlYW51cCgpO1xuICAgIH1cbn1cblxuZm9yIChjb25zdCBwcm92aWRlciBvZiBwcm92aWRlcnMpIHtcbiAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBbLi4uY29uZmlncywgLi4ubm9WYWxpZGF0ZUNvbmZpZ3NdKSB7XG4gICAgICAgIHRlc3QodGl0bGUocHJvdmlkZXIsIGBkZXRhaWxlZCBjYWxsc2AsIGNvbmZpZyksIHRlc3REZXRhaWwsIHByb3ZpZGVyLCBjb25maWcpO1xuICAgIH1cbn1cbiJdfQ==