const pool = new DynamicThreadPool(
min,
max,
- './tests/worker-files/thread/testWorker.js',
+ './tests/worker-files/thread/testWorker.mjs',
{
errorHandler: e => console.error(e)
}
expect(poolBusy).toBe(1)
const numberOfExitEvents = await waitWorkerEvents(pool, 'exit', max - min)
expect(numberOfExitEvents).toBe(max - min)
+ expect(pool.workerNodes.length).toBe(min)
})
it('Verify scale thread up and down is working', async () => {
- expect(pool.workerNodes.length).toBe(min)
for (let i = 0; i < max * 2; i++) {
pool.execute()
}
await pool.destroy()
const numberOfExitEvents = await exitPromise
expect(pool.started).toBe(false)
+ expect(pool.emitter.eventNames()).toStrictEqual([])
+ expect(pool.readyEventEmitted).toBe(false)
expect(pool.workerNodes.length).toBe(0)
expect(numberOfExitEvents).toBe(min)
expect(poolDestroy).toBe(1)
})
it('Validation of inputs test', () => {
- expect(() => new DynamicThreadPool(min)).toThrowError(
- 'Please specify a file with a worker implementation'
+ expect(() => new DynamicThreadPool(min)).toThrow(
+ 'The worker file path must be specified'
)
})
const pool = new DynamicThreadPool(
min,
max,
- './tests/worker-files/thread/testWorker.js'
+ './tests/worker-files/thread/testWorker.mjs'
)
const res = await pool.execute()
expect(res).toStrictEqual({ ok: 1 })
const longRunningPool = new DynamicThreadPool(
min,
max,
- './tests/worker-files/thread/longRunningWorkerHardBehavior.js',
+ './tests/worker-files/thread/longRunningWorkerHardBehavior.mjs',
{
errorHandler: e => console.error(e),
onlineHandler: () => console.info('long executing worker is online'),
const longRunningPool = new DynamicThreadPool(
min,
max,
- './tests/worker-files/thread/longRunningWorkerSoftBehavior.js',
+ './tests/worker-files/thread/longRunningWorkerSoftBehavior.mjs',
{
errorHandler: e => console.error(e),
onlineHandler: () => console.info('long executing worker is online'),
const pool = new DynamicThreadPool(
0,
max,
- './tests/worker-files/thread/testWorker.js'
+ './tests/worker-files/thread/testWorker.mjs'
)
expect(pool).toBeInstanceOf(DynamicThreadPool)
// We need to clean up the resources after our test