X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fselection-strategies%2Fworker-choice-strategy-context.test.js;h=2c5b7abbcc78c1429e9f23d0a8a414a659232c52;hb=ce3bdc7fa682f86fdb6f4cd57fe0ac3afe3af0de;hp=b36ec277d03f1c6728949f16981dd1252029a77b;hpb=1d6aaa0a809637ba26d80288126f5a160eb8ce60;p=poolifier.git diff --git a/tests/pools/selection-strategies/worker-choice-strategy-context.test.js b/tests/pools/selection-strategies/worker-choice-strategy-context.test.js index b36ec277..2c5b7abb 100644 --- a/tests/pools/selection-strategies/worker-choice-strategy-context.test.js +++ b/tests/pools/selection-strategies/worker-choice-strategy-context.test.js @@ -23,6 +23,9 @@ const { const { WeightedRoundRobinWorkerChoiceStrategy } = require('../../../lib/pools/selection-strategies/weighted-round-robin-worker-choice-strategy') +const { + InterleavedWeightedRoundRobinWorkerChoiceStrategy +} = require('../../../lib/pools/selection-strategies/interleaved-weighted-round-robin-worker-choice-strategy') describe('Worker choice strategy context test suite', () => { const min = 1 @@ -322,6 +325,40 @@ describe('Worker choice strategy context test suite', () => { ) }) + it('Verify that setWorkerChoiceStrategy() works with INTERLEAVED_WEIGHTED_ROUND_ROBIN and fixed pool', () => { + const workerChoiceStrategy = + WorkerChoiceStrategies.INTERLEAVED_WEIGHTED_ROUND_ROBIN + const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( + fixedPool + ) + workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) + expect( + workerChoiceStrategyContext.workerChoiceStrategies.get( + workerChoiceStrategy + ) + ).toBeInstanceOf(InterleavedWeightedRoundRobinWorkerChoiceStrategy) + expect(workerChoiceStrategyContext.workerChoiceStrategy).toBe( + workerChoiceStrategy + ) + }) + + it('Verify that setWorkerChoiceStrategy() works with INTERLEAVED_WEIGHTED_ROUND_ROBIN and dynamic pool', () => { + const workerChoiceStrategy = + WorkerChoiceStrategies.INTERLEAVED_WEIGHTED_ROUND_ROBIN + const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( + dynamicPool + ) + workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) + expect( + workerChoiceStrategyContext.workerChoiceStrategies.get( + workerChoiceStrategy + ) + ).toBeInstanceOf(InterleavedWeightedRoundRobinWorkerChoiceStrategy) + expect(workerChoiceStrategyContext.workerChoiceStrategy).toBe( + workerChoiceStrategy + ) + }) + it('Verify that worker choice strategy options enable median runtime pool statistics', () => { const wwrWorkerChoiceStrategy = WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN let workerChoiceStrategyContext = new WorkerChoiceStrategyContext( @@ -331,12 +368,12 @@ describe('Worker choice strategy context test suite', () => { medRunTime: true } ) - expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe( - false - ) - expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe( - true - ) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime + ).toBe(false) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime + ).toBe(true) workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool, wwrWorkerChoiceStrategy, @@ -344,12 +381,12 @@ describe('Worker choice strategy context test suite', () => { medRunTime: true } ) - expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe( - false - ) - expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe( - true - ) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime + ).toBe(false) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime + ).toBe(true) const fsWorkerChoiceStrategy = WorkerChoiceStrategies.FAIR_SHARE workerChoiceStrategyContext = new WorkerChoiceStrategyContext( fixedPool, @@ -358,12 +395,12 @@ describe('Worker choice strategy context test suite', () => { medRunTime: true } ) - expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe( - false - ) - expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe( - true - ) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime + ).toBe(false) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime + ).toBe(true) workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool, fsWorkerChoiceStrategy, @@ -371,11 +408,11 @@ describe('Worker choice strategy context test suite', () => { medRunTime: true } ) - expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe( - false - ) - expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe( - true - ) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().avgRunTime + ).toBe(false) + expect( + workerChoiceStrategyContext.getTaskStatisticsRequirements().medRunTime + ).toBe(true) }) })