Merge branch 'master' of github.com:poolifier/poolifier
[poolifier.git] / tests / pools / selection-strategies / worker-choice-strategy-context.test.js
index 62a2bd44f558e6307e8510e7d48e4942088d82e9..df8cd25cb375a4aa50db889c7b014e4c17b22f9c 100644 (file)
@@ -91,7 +91,7 @@ describe('Worker choice strategy context test suite', () => {
     expect(chosenWorkerKey).toBe(0)
   })
 
-  it('Verify that execute() throws error if null or undefined is returned', () => {
+  it('Verify that execute() throws error if null or undefined is returned after retries', () => {
     const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
       fixedPool
     )
@@ -115,14 +115,14 @@ describe('Worker choice strategy context test suite', () => {
       WorkerChoiceStrategyUndefinedStub
     )
     expect(() => workerChoiceStrategyContext.execute()).toThrowError(
-      new Error('Worker node key chosen is null or undefined')
+      new Error('Worker node key chosen is null or undefined after 6 retries')
     )
     workerChoiceStrategyContext.workerChoiceStrategies.set(
       workerChoiceStrategyContext.workerChoiceStrategy,
       WorkerChoiceStrategyNullStub
     )
     expect(() => workerChoiceStrategyContext.execute()).toThrowError(
-      new Error('Worker node key chosen is null or undefined')
+      new Error('Worker node key chosen is null or undefined after 6 retries')
     )
   })
 
@@ -400,54 +400,58 @@ describe('Worker choice strategy context test suite', () => {
       fixedPool,
       wwrWorkerChoiceStrategy,
       {
-        medRunTime: true
+        runTime: { median: true }
       }
     )
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime
+        .average
     ).toBe(false)
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime.median
     ).toBe(true)
     workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
       dynamicPool,
       wwrWorkerChoiceStrategy,
       {
-        medRunTime: true
+        runTime: { median: true }
       }
     )
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime
+        .average
     ).toBe(false)
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime.median
     ).toBe(true)
     const fsWorkerChoiceStrategy = WorkerChoiceStrategies.FAIR_SHARE
     workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
       fixedPool,
       fsWorkerChoiceStrategy,
       {
-        medRunTime: true
+        runTime: { median: true }
       }
     )
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime
+        .average
     ).toBe(false)
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime.median
     ).toBe(true)
     workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
       dynamicPool,
       fsWorkerChoiceStrategy,
       {
-        medRunTime: true
+        runTime: { median: true }
       }
     )
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime
+        .average
     ).toBe(false)
     expect(
-      workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime
+      workerChoiceStrategyContext.getTaskStatisticsRequirements().runTime.median
     ).toBe(true)
   })
 })