feat: add per task function strategy support
[poolifier.git] / tests / pools / cluster / dynamic.test.mjs
index 540223bf2840ab384e11d4b077a5f84cd27a8144..166498f9a0b0c4c7a9f4a997f3d296518e3ca457 100644 (file)
@@ -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