}
}
+ afterEach(() => {
+ sinon.restore()
+ })
+
it('Verify worker options default values', () => {
const worker = new ThreadWorker(() => {})
expect(worker.opts.maxInactiveTime).toStrictEqual(60000)
killHandler: sinon.stub().returns()
})
worker.isMain = false
+ worker.getMainWorker = sinon.stub().returns({
+ id: 1,
+ send: sinon.stub().returns()
+ })
worker.handleKillMessage()
+ expect(worker.getMainWorker().send.calledOnce).toBe(true)
expect(worker.opts.killHandler.calledOnce).toBe(true)
})
- // it('Verify that async kill handler is called when worker is killed', () => {
- // const worker = new ClusterWorker(() => {}, {
- // killHandler: sinon.stub().resolves()
- // })
- // worker.isMain = false
- // worker.handleKillMessage()
- // expect(worker.opts.killHandler.calledOnce).toBe(true)
- // })
+ it('Verify that async kill handler is called when worker is killed', () => {
+ const killHandlerStub = sinon.stub().returns()
+ const worker = new ClusterWorker(() => {}, {
+ killHandler: async () => Promise.resolve(killHandlerStub())
+ })
+ worker.isMain = false
+ worker.handleKillMessage()
+ expect(killHandlerStub.calledOnce).toBe(true)
+ })
it('Verify that handleError() method works properly', () => {
const error = new Error('Error as an error')
return 2
}
const worker = new ClusterWorker({ fn1, fn2 })
+ worker.getMainWorker = sinon.stub().returns({
+ id: 1,
+ send: sinon.stub().returns()
+ })
expect(worker.taskFunctions.get('default')).toBeInstanceOf(Function)
expect(worker.taskFunctions.get('fn1')).toBeInstanceOf(Function)
expect(worker.taskFunctions.get('fn2')).toBeInstanceOf(Function)
expect(worker.taskFunctions.get('fn1')).toBeInstanceOf(Function)
expect(worker.taskFunctions.get('fn2')).toBeUndefined()
expect(worker.taskFunctions.size).toBe(2)
+ expect(worker.getMainWorker().send.calledOnce).toBe(true)
})
it('Verify that listTaskFunctions() works', () => {