faastjs
Version:
Serverless batch computing made simple.
34 lines • 4.85 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 testUnsupported(t, provider, options) {
const opts = {
timeout: 30,
gc: "off",
description: t.title,
...options
};
const faastModule = await (0, index_1.faast)(provider, funcs, opts);
const remote = faastModule.functions;
try {
const expected = { message: /cannot be serialized/ };
await t.throwsAsync(remote.promiseArg(Promise.resolve()), expected);
await t.throwsAsync(remote.identityFunction(() => { }), expected);
await t.throwsAsync(remote.functionReturn(), expected);
await t.throwsAsync(remote.identityClass(new funcs.Cls()), expected);
await t.throwsAsync(remote.classReturn(), expected);
}
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, `unsupported arguments`, config), testUnsupported, provider, config);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zdXBwb3J0ZWQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvdW5zdXBwb3J0ZWQudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBNkM7QUFDN0Msb0NBQXFFO0FBQ3JFLG9FQUE4QztBQUM5QywwQ0FBaUQ7QUFFakQsS0FBSyxVQUFVLGVBQWUsQ0FDMUIsQ0FBbUIsRUFDbkIsUUFBa0IsRUFDbEIsT0FBc0I7SUFFdEIsTUFBTSxJQUFJLEdBQWtCO1FBQ3hCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsRUFBRSxFQUFFLEtBQUs7UUFDVCxXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFDcEIsR0FBRyxPQUFPO0tBQ2IsQ0FBQztJQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxhQUFLLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBRXJDLElBQUk7UUFDQSxNQUFNLFFBQVEsR0FBRyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FDZixNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLEVBQ2pDLFFBQVEsQ0FDWCxDQUFDO1FBQ0YsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDdkQ7WUFBUztRQUNOLE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQy9CO0FBQ0wsQ0FBQztBQUNELEtBQUssTUFBTSxRQUFRLElBQUksaUJBQVMsRUFBRTtJQUM5QixLQUFLLE1BQU0sTUFBTSxJQUFJLGNBQU8sRUFBRTtRQUMxQixJQUFBLGFBQUksRUFDQSxJQUFBLFlBQUssRUFBQyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLEVBQ2hELGVBQWUsRUFDZixRQUFRLEVBQ1IsTUFBTSxDQUNULENBQUM7S0FDTDtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlc3QsIHsgRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCJhdmFcIjtcbmltcG9ydCB7IENvbW1vbk9wdGlvbnMsIGZhYXN0LCBQcm92aWRlciwgcHJvdmlkZXJzIH0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQgKiBhcyBmdW5jcyBmcm9tIFwiLi9maXh0dXJlcy9mdW5jdGlvbnNcIjtcbmltcG9ydCB7IGNvbmZpZ3MsIHRpdGxlIH0gZnJvbSBcIi4vZml4dHVyZXMvdXRpbFwiO1xuXG5hc3luYyBmdW5jdGlvbiB0ZXN0VW5zdXBwb3J0ZWQoXG4gICAgdDogRXhlY3V0aW9uQ29udGV4dCxcbiAgICBwcm92aWRlcjogUHJvdmlkZXIsXG4gICAgb3B0aW9uczogQ29tbW9uT3B0aW9uc1xuKSB7XG4gICAgY29uc3Qgb3B0czogQ29tbW9uT3B0aW9ucyA9IHtcbiAgICAgICAgdGltZW91dDogMzAsXG4gICAgICAgIGdjOiBcIm9mZlwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogdC50aXRsZSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG4gICAgY29uc3QgZmFhc3RNb2R1bGUgPSBhd2FpdCBmYWFzdChwcm92aWRlciwgZnVuY3MsIG9wdHMpO1xuICAgIGNvbnN0IHJlbW90ZSA9IGZhYXN0TW9kdWxlLmZ1bmN0aW9ucztcblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGV4cGVjdGVkID0geyBtZXNzYWdlOiAvY2Fubm90IGJlIHNlcmlhbGl6ZWQvIH07XG4gICAgICAgIGF3YWl0IHQudGhyb3dzQXN5bmMocmVtb3RlLnByb21pc2VBcmcoUHJvbWlzZS5yZXNvbHZlKCkpLCBleHBlY3RlZCk7XG4gICAgICAgIGF3YWl0IHQudGhyb3dzQXN5bmMoXG4gICAgICAgICAgICByZW1vdGUuaWRlbnRpdHlGdW5jdGlvbigoKSA9PiB7fSksXG4gICAgICAgICAgICBleHBlY3RlZFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0LnRocm93c0FzeW5jKHJlbW90ZS5mdW5jdGlvblJldHVybigpLCBleHBlY3RlZCk7XG4gICAgICAgIGF3YWl0IHQudGhyb3dzQXN5bmMocmVtb3RlLmlkZW50aXR5Q2xhc3MobmV3IGZ1bmNzLkNscygpKSwgZXhwZWN0ZWQpO1xuICAgICAgICBhd2FpdCB0LnRocm93c0FzeW5jKHJlbW90ZS5jbGFzc1JldHVybigpLCBleHBlY3RlZCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgICAgYXdhaXQgZmFhc3RNb2R1bGUuY2xlYW51cCgpO1xuICAgIH1cbn1cbmZvciAoY29uc3QgcHJvdmlkZXIgb2YgcHJvdmlkZXJzKSB7XG4gICAgZm9yIChjb25zdCBjb25maWcgb2YgY29uZmlncykge1xuICAgICAgICB0ZXN0KFxuICAgICAgICAgICAgdGl0bGUocHJvdmlkZXIsIGB1bnN1cHBvcnRlZCBhcmd1bWVudHNgLCBjb25maWcpLFxuICAgICAgICAgICAgdGVzdFVuc3VwcG9ydGVkLFxuICAgICAgICAgICAgcHJvdmlkZXIsXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=