faastjs
Version:
Serverless batch computing made simple.
34 lines • 4.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const index_1 = require("../index");
const ava_1 = tslib_1.__importDefault(require("ava"));
const shared_1 = require("../src/shared");
(0, ava_1.default)(`FunctionStats clone`, t => {
const stats = new index_1.FunctionStats();
stats.executionTime.update(100);
stats.estimatedBilledTime.update(101);
stats.localStartLatency.update(102);
stats.remoteStartLatency.update(103);
stats.returnLatency.update(104);
stats.sendResponseLatency.update(105);
stats.completed = 10;
stats.errors = 1;
stats.invocations = 11;
stats.retries = 2;
const cloned = stats.clone();
t.deepEqual(cloned, stats);
for (const key of (0, shared_1.keysOf)(cloned)) {
if (typeof cloned[key] !== "number") {
t.true(cloned[key] !== stats[key]);
}
}
t.is(cloned.toString(), stats.toString());
cloned.executionTime.update(0);
t.notDeepEqual(cloned, stats);
t.notDeepEqual(cloned.executionTime, stats.executionTime);
t.true(cloned.toString() !== stats.toString());
cloned.completed++;
t.true(cloned.completed !== stats.completed);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1wcm92aWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC91bml0LXByb3ZpZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQXlDO0FBQ3pDLHNEQUF1QjtBQUN2QiwwQ0FBdUM7QUFFdkMsSUFBQSxhQUFJLEVBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxxQkFBYSxFQUFFLENBQUM7SUFFbEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixLQUFLLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUVsQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsRUFBRTtRQUM5QixJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0QztLQUNKO0lBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZ1bmN0aW9uU3RhdHMgfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB0ZXN0IGZyb20gXCJhdmFcIjtcbmltcG9ydCB7IGtleXNPZiB9IGZyb20gXCIuLi9zcmMvc2hhcmVkXCI7XG5cbnRlc3QoYEZ1bmN0aW9uU3RhdHMgY2xvbmVgLCB0ID0+IHtcbiAgICBjb25zdCBzdGF0cyA9IG5ldyBGdW5jdGlvblN0YXRzKCk7XG5cbiAgICBzdGF0cy5leGVjdXRpb25UaW1lLnVwZGF0ZSgxMDApO1xuICAgIHN0YXRzLmVzdGltYXRlZEJpbGxlZFRpbWUudXBkYXRlKDEwMSk7XG4gICAgc3RhdHMubG9jYWxTdGFydExhdGVuY3kudXBkYXRlKDEwMik7XG4gICAgc3RhdHMucmVtb3RlU3RhcnRMYXRlbmN5LnVwZGF0ZSgxMDMpO1xuICAgIHN0YXRzLnJldHVybkxhdGVuY3kudXBkYXRlKDEwNCk7XG4gICAgc3RhdHMuc2VuZFJlc3BvbnNlTGF0ZW5jeS51cGRhdGUoMTA1KTtcbiAgICBzdGF0cy5jb21wbGV0ZWQgPSAxMDtcbiAgICBzdGF0cy5lcnJvcnMgPSAxO1xuICAgIHN0YXRzLmludm9jYXRpb25zID0gMTE7XG4gICAgc3RhdHMucmV0cmllcyA9IDI7XG5cbiAgICBjb25zdCBjbG9uZWQgPSBzdGF0cy5jbG9uZSgpO1xuICAgIHQuZGVlcEVxdWFsKGNsb25lZCwgc3RhdHMpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXNPZihjbG9uZWQpKSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xvbmVkW2tleV0gIT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHQudHJ1ZShjbG9uZWRba2V5XSAhPT0gc3RhdHNba2V5XSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdC5pcyhjbG9uZWQudG9TdHJpbmcoKSwgc3RhdHMudG9TdHJpbmcoKSk7XG5cbiAgICBjbG9uZWQuZXhlY3V0aW9uVGltZS51cGRhdGUoMCk7XG4gICAgdC5ub3REZWVwRXF1YWwoY2xvbmVkLCBzdGF0cyk7XG4gICAgdC5ub3REZWVwRXF1YWwoY2xvbmVkLmV4ZWN1dGlvblRpbWUsIHN0YXRzLmV4ZWN1dGlvblRpbWUpO1xuICAgIHQudHJ1ZShjbG9uZWQudG9TdHJpbmcoKSAhPT0gc3RhdHMudG9TdHJpbmcoKSk7XG4gICAgY2xvbmVkLmNvbXBsZXRlZCsrO1xuICAgIHQudHJ1ZShjbG9uZWQuY29tcGxldGVkICE9PSBzdGF0cy5jb21wbGV0ZWQpO1xufSk7XG4iXX0=