test: improve task error handling
[poolifier.git] / tests / pools / cluster / dynamic.test.js
index 0da467ca8685157e453872a84e0760f11aa2641e..291629f59b93f195eaf2d9b4a57f5e2649786af0 100644 (file)
@@ -1,5 +1,5 @@
 const { expect } = require('expect')
-const { DynamicClusterPool, PoolEvents } = require('../../../lib/index')
+const { DynamicClusterPool, PoolEvents } = require('../../../lib')
 const { WorkerFunctions } = require('../../test-types')
 const TestUtils = require('../../test-utils')
 
@@ -19,11 +19,11 @@ describe('Dynamic cluster pool test suite', () => {
     let result = await pool.execute({
       function: WorkerFunctions.fibonacci
     })
-    expect(result).toBe(false)
+    expect(result).toBe(121393)
     result = await pool.execute({
       function: WorkerFunctions.factorial
     })
-    expect(result).toBe(false)
+    expect(result).toBe(9.33262154439441e157)
   })
 
   it('Verify that new workers are created when required, max size is not exceeded and that after a while new workers will die', async () => {
@@ -37,28 +37,28 @@ describe('Dynamic cluster pool test suite', () => {
     // The `busy` event is triggered when the number of submitted tasks at once reach the max number of workers in the dynamic pool.
     // So in total numberOfWorkers + 1 times for a loop submitting up to numberOfWorkers * 2 tasks to the dynamic pool.
     expect(poolBusy).toBe(max + 1)
-    const numberOfExitEvents = await TestUtils.waitExits(pool, max - min)
+    const numberOfExitEvents = await TestUtils.waitWorkerExits(pool, max - min)
     expect(numberOfExitEvents).toBe(max - min)
   })
 
   it('Verify scale worker up and down is working', async () => {
     expect(pool.workerNodes.length).toBe(min)
-    for (let i = 0; i < max * 10; i++) {
+    for (let i = 0; i < max * 2; i++) {
       pool.execute()
     }
     expect(pool.workerNodes.length).toBeGreaterThan(min)
-    await TestUtils.waitExits(pool, max - min)
+    await TestUtils.waitWorkerExits(pool, max - min)
     expect(pool.workerNodes.length).toBe(min)
-    for (let i = 0; i < max * 10; i++) {
+    for (let i = 0; i < max * 2; i++) {
       pool.execute()
     }
     expect(pool.workerNodes.length).toBeGreaterThan(min)
-    await TestUtils.waitExits(pool, max - min)
+    await TestUtils.waitWorkerExits(pool, max - min)
     expect(pool.workerNodes.length).toBe(min)
   })
 
   it('Shutdown test', async () => {
-    const exitPromise = TestUtils.waitExits(pool, min)
+    const exitPromise = TestUtils.waitWorkerExits(pool, min)
     await pool.destroy()
     const numberOfExitEvents = await exitPromise
     expect(numberOfExitEvents).toBe(min)
@@ -66,7 +66,7 @@ describe('Dynamic cluster pool test suite', () => {
 
   it('Validation of inputs test', () => {
     expect(() => new DynamicClusterPool(min)).toThrowError(
-      new Error('Please specify a file with a worker implementation')
+      'Please specify a file with a worker implementation'
     )
   })
 
@@ -94,11 +94,11 @@ describe('Dynamic cluster pool test suite', () => {
       }
     )
     expect(longRunningPool.workerNodes.length).toBe(min)
-    for (let i = 0; i < max * 10; i++) {
+    for (let i = 0; i < max * 2; i++) {
       longRunningPool.execute()
     }
     expect(longRunningPool.workerNodes.length).toBe(max)
-    await TestUtils.waitExits(longRunningPool, max - min)
+    await TestUtils.waitWorkerExits(longRunningPool, max - min)
     expect(longRunningPool.workerNodes.length).toBe(min)
     expect(
       longRunningPool.workerChoiceStrategyContext.workerChoiceStrategies.get(
@@ -121,7 +121,7 @@ describe('Dynamic cluster pool test suite', () => {
       }
     )
     expect(longRunningPool.workerNodes.length).toBe(min)
-    for (let i = 0; i < max * 10; i++) {
+    for (let i = 0; i < max * 2; i++) {
       longRunningPool.execute()
     }
     expect(longRunningPool.workerNodes.length).toBe(max)