X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fselection-strategies%2Fworker-choice-strategy-context.test.js;h=f04013d99c92ad0e61dae665f79df61dda1d2274;hb=d151ac71b4267501d3a1d0d216edc96be15be882;hp=0fd3fb71bfc48a17834375d14ba596d901f9761a;hpb=73491b698f5793d8a927fcbf87c268312f83b411;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 0fd3fb71..f04013d9 100644 --- a/tests/pools/selection-strategies/worker-choice-strategy-context.test.js +++ b/tests/pools/selection-strategies/worker-choice-strategy-context.test.js @@ -4,7 +4,7 @@ const { FixedThreadPool, DynamicThreadPool, WorkerChoiceStrategies -} = require('../../../lib/index') +} = require('../../../lib') const { WorkerChoiceStrategyContext } = require('../../../lib/pools/selection-strategies/worker-choice-strategy-context') @@ -85,6 +85,41 @@ describe('Worker choice strategy context test suite', () => { expect(chosenWorkerKey).toBe(0) }) + it('Verify that execute() throws error if null or undefined is returned', () => { + const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( + fixedPool + ) + const WorkerChoiceStrategyUndefinedStub = sinon.createStubInstance( + RoundRobinWorkerChoiceStrategy, + { + choose: sinon.stub().returns(undefined) + } + ) + const WorkerChoiceStrategyNullStub = sinon.createStubInstance( + RoundRobinWorkerChoiceStrategy, + { + choose: sinon.stub().returns(null) + } + ) + expect(workerChoiceStrategyContext.workerChoiceStrategy).toBe( + WorkerChoiceStrategies.ROUND_ROBIN + ) + workerChoiceStrategyContext.workerChoiceStrategies.set( + workerChoiceStrategyContext.workerChoiceStrategy, + WorkerChoiceStrategyUndefinedStub + ) + expect(() => workerChoiceStrategyContext.execute()).toThrowError( + new Error('Worker node key chosen is null or undefined') + ) + workerChoiceStrategyContext.workerChoiceStrategies.set( + workerChoiceStrategyContext.workerChoiceStrategy, + WorkerChoiceStrategyNullStub + ) + expect(() => workerChoiceStrategyContext.execute()).toThrowError( + new Error('Worker node key chosen is null or undefined') + ) + }) + it('Verify that execute() return the worker chosen by the strategy with dynamic pool', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool @@ -116,11 +151,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( fixedPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(false) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy @@ -145,11 +175,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(true) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy @@ -174,11 +199,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( fixedPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(false) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -195,11 +215,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(true) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -216,11 +231,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( fixedPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(false) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -237,11 +247,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(true) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -258,11 +263,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( fixedPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(false) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -279,11 +279,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(true) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -300,11 +295,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( fixedPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(false) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get( @@ -321,11 +311,6 @@ describe('Worker choice strategy context test suite', () => { const workerChoiceStrategyContext = new WorkerChoiceStrategyContext( dynamicPool ) - expect( - workerChoiceStrategyContext.workerChoiceStrategies.get( - workerChoiceStrategy - ).isDynamicPool - ).toBe(true) workerChoiceStrategyContext.setWorkerChoiceStrategy(workerChoiceStrategy) expect( workerChoiceStrategyContext.workerChoiceStrategies.get(