X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fcluster%2Fdynamic.test.mjs;h=166498f9a0b0c4c7a9f4a997f3d296518e3ca457;hb=bcfb06ce041a682baf396a099c633a848d6a4045;hp=d2a250c15b6b1032a6687634caa6cc905e115e00;hpb=8e8d9101768c28914dabc95c14740985e18f1f04;p=poolifier.git diff --git a/tests/pools/cluster/dynamic.test.mjs b/tests/pools/cluster/dynamic.test.mjs index d2a250c1..166498f9 100644 --- a/tests/pools/cluster/dynamic.test.mjs +++ b/tests/pools/cluster/dynamic.test.mjs @@ -1,4 +1,5 @@ import { expect } from 'expect' + import { DynamicClusterPool, PoolEvents, @@ -23,7 +24,7 @@ describe('Dynamic cluster pool test suite', () => { let result = await pool.execute({ function: TaskFunctions.fibonacci }) - expect(result).toBe(75025) + expect(result).toBe(354224848179262000000) result = await pool.execute({ function: TaskFunctions.factorial }) @@ -71,7 +72,10 @@ describe('Dynamic cluster pool test suite', () => { await pool.destroy() const numberOfExitEvents = await exitPromise expect(pool.started).toBe(false) - expect(pool.emitter.eventNames()).toStrictEqual([]) + expect(pool.emitter.eventNames()).toStrictEqual([ + PoolEvents.busy, + PoolEvents.destroy + ]) expect(pool.readyEventEmitted).toBe(false) expect(pool.workerNodes.length).toBe(0) expect(numberOfExitEvents).toBe(min) @@ -115,8 +119,9 @@ describe('Dynamic cluster pool test suite', () => { await waitWorkerEvents(longRunningPool, 'exit', max - min) expect(longRunningPool.workerNodes.length).toBe(min) expect( - longRunningPool.workerChoiceStrategyContext.workerChoiceStrategies.get( - longRunningPool.workerChoiceStrategyContext.workerChoiceStrategy + longRunningPool.workerChoiceStrategiesContext.workerChoiceStrategies.get( + longRunningPool.workerChoiceStrategiesContext + .defaultWorkerChoiceStrategy ).nextWorkerNodeKey ).toBeLessThan(longRunningPool.workerNodes.length) // We need to clean up the resources after our test @@ -157,15 +162,17 @@ describe('Dynamic cluster pool test suite', () => { await pool.destroy() }) - it.skip('Verify that a pool with zero worker works', async () => { - const pool = new DynamicClusterPool( - 0, - max, - './tests/worker-files/thread/testWorker.mjs' - ) - expect(pool.starting).toBe(false) + it('Verify that a pool with zero worker works', async () => { for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) { - pool.setWorkerChoiceStrategy(workerChoiceStrategy) + const pool = new DynamicClusterPool( + 0, + max, + './tests/worker-files/cluster/testWorker.cjs', + { + workerChoiceStrategy + } + ) + expect(pool.starting).toBe(false) expect(pool.readyEventEmitted).toBe(false) for (let run = 0; run < 2; run++) { run % 2 !== 0 && pool.enableTasksQueue(true) @@ -183,8 +190,8 @@ describe('Dynamic cluster pool test suite', () => { expect(pool.readyEventEmitted).toBe(false) expect(pool.workerNodes.length).toBe(pool.info.minSize) } + // We need to clean up the resources after our test + await pool.destroy() } - // We need to clean up the resources after our test - await pool.destroy() }) })