X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fpools%2Fabstract-pool.test.js;h=e6572cc1851a74a028e0a6a39f5478153fc57d32;hb=b04bd0f17e1ef9d2b5bd13ec69405f03ee86ff51;hp=3860a0eb95fc4f50de2ea9ff28813860faafd9b6;hpb=8bb271861d8632c109fb0293f2a6f43bd5e3bea6;p=poolifier.git diff --git a/tests/pools/abstract-pool.test.js b/tests/pools/abstract-pool.test.js index 3860a0eb..e6572cc1 100644 --- a/tests/pools/abstract-pool.test.js +++ b/tests/pools/abstract-pool.test.js @@ -1,4 +1,4 @@ -const { EventEmitter } = require('node:events') +const { EventEmitterAsyncResource } = require('node:events') const { expect } = require('expect') const sinon = require('sinon') const { @@ -79,7 +79,13 @@ describe('Abstract pool test suite', () => { }) it('Verify that numberOfWorkers is checked', () => { - expect(() => new FixedThreadPool()).toThrowError( + expect( + () => + new FixedThreadPool( + undefined, + './tests/worker-files/thread/testWorker.js' + ) + ).toThrowError( new Error( 'Cannot instantiate a pool without specifying the number of workers' ) @@ -180,7 +186,7 @@ describe('Abstract pool test suite', () => { numberOfWorkers, './tests/worker-files/thread/testWorker.js' ) - expect(pool.emitter).toBeInstanceOf(EventEmitter) + expect(pool.emitter).toBeInstanceOf(EventEmitterAsyncResource) expect(pool.opts).toStrictEqual({ startWorkers: true, enableEvents: true, @@ -1096,6 +1102,7 @@ describe('Abstract pool test suite', () => { numberOfWorkers, './tests/worker-files/cluster/testWorker.js' ) + expect(pool.emitter.eventNames()).toStrictEqual([]) let poolInfo let poolReady = 0 pool.emitter.on(PoolEvents.ready, info => { @@ -1103,6 +1110,7 @@ describe('Abstract pool test suite', () => { poolInfo = info }) await waitPoolEvents(pool, PoolEvents.ready, 1) + expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.ready]) expect(poolReady).toBe(1) expect(poolInfo).toStrictEqual({ version, @@ -1128,6 +1136,7 @@ describe('Abstract pool test suite', () => { numberOfWorkers, './tests/worker-files/thread/testWorker.js' ) + expect(pool.emitter.eventNames()).toStrictEqual([]) const promises = new Set() let poolBusy = 0 let poolInfo @@ -1135,6 +1144,7 @@ describe('Abstract pool test suite', () => { ++poolBusy poolInfo = info }) + expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.busy]) for (let i = 0; i < numberOfWorkers * 2; i++) { promises.add(pool.execute()) } @@ -1167,6 +1177,7 @@ describe('Abstract pool test suite', () => { numberOfWorkers, './tests/worker-files/thread/testWorker.js' ) + expect(pool.emitter.eventNames()).toStrictEqual([]) const promises = new Set() let poolFull = 0 let poolInfo @@ -1174,6 +1185,7 @@ describe('Abstract pool test suite', () => { ++poolFull poolInfo = info }) + expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.full]) for (let i = 0; i < numberOfWorkers * 2; i++) { promises.add(pool.execute()) } @@ -1207,6 +1219,7 @@ describe('Abstract pool test suite', () => { } ) sinon.stub(pool, 'hasBackPressure').returns(true) + expect(pool.emitter.eventNames()).toStrictEqual([]) const promises = new Set() let poolBackPressure = 0 let poolInfo @@ -1214,6 +1227,7 @@ describe('Abstract pool test suite', () => { ++poolBackPressure poolInfo = info }) + expect(pool.emitter.eventNames()).toStrictEqual([PoolEvents.backPressure]) for (let i = 0; i < numberOfWorkers + 1; i++) { promises.add(pool.execute()) }