@jjavery/worker-pool
Version:
A worker pool for Node.js applications
67 lines • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const serialize_error_1 = require("serialize-error");
const worker_main_1 = require("./worker-main");
describe('worker-main', function () {
it('handles a request', function (done) {
(0, worker_main_1.onSend)((message) => {
if ((message === null || message === void 0 ? void 0 : message.err) != null) {
return done((0, serialize_error_1.deserializeError)(message.err));
}
chai_1.assert.isNumber(message.id);
chai_1.assert.isString(message.result);
done();
});
(0, worker_main_1.handleRequest)({
id: 0,
modulePath: 'os',
functionName: 'hostname'
});
});
it("sends an error when a module can't be found", function (done) {
(0, worker_main_1.onSend)((message) => {
chai_1.assert.isObject(message.err);
done();
});
(0, worker_main_1.handleRequest)({
id: 0,
modulePath: '8bdc44c3-9549-473e-a99b-4898bdd01485',
functionName: 'hostname'
});
});
it("sends an error when a function can't be found", function (done) {
(0, worker_main_1.onSend)((message) => {
chai_1.assert.isObject(message.err);
done();
});
(0, worker_main_1.handleRequest)({
id: 0,
modulePath: 'os',
functionName: '5f8df03c-87b9-414b-888e-73e67287686d'
});
});
it('sends an error when a synchronous function throws an error', function (done) {
(0, worker_main_1.onSend)((message) => {
chai_1.assert.isObject(message.err);
done();
});
(0, worker_main_1.handleRequest)({
id: 0,
modulePath: `${__dirname}/test-worker`,
functionName: 'throws'
});
});
it('sends an error when an asynchronous function throws an error', function (done) {
(0, worker_main_1.onSend)((message) => {
chai_1.assert.isObject(message.err);
done();
});
(0, worker_main_1.handleRequest)({
id: 0,
modulePath: `${__dirname}/test-worker`,
functionName: 'asyncThrows'
});
});
});
//# sourceMappingURL=worker-main.test.js.map