await dynamicPool.destroy()
})
+ it('Verify that constructor() initializes the context with all the available worker choice strategies', () => {
+ const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
+ fixedPool
+ )
+ expect(workerChoiceStrategyContext.workerChoiceStrategies.size).toBe(
+ Object.keys(WorkerChoiceStrategies).length
+ )
+ })
+
it('Verify that execute() return the worker chosen by the strategy with fixed pool', () => {
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
fixedPool
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
fixedPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.ROUND_ROBIN
+ ).isDynamicPool
+ ).toBe(false)
expect(
workerChoiceStrategyContext.workerChoiceStrategies.get(
WorkerChoiceStrategies.ROUND_ROBIN
WorkerChoiceStrategies.ROUND_ROBIN
)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- fixedPool,
WorkerChoiceStrategies.ROUND_ROBIN
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
dynamicPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.ROUND_ROBIN
+ ).isDynamicPool
+ ).toBe(true)
expect(
workerChoiceStrategyContext.workerChoiceStrategies.get(
WorkerChoiceStrategies.ROUND_ROBIN
WorkerChoiceStrategies.ROUND_ROBIN
)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- dynamicPool,
WorkerChoiceStrategies.ROUND_ROBIN
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
fixedPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.LESS_USED
+ ).isDynamicPool
+ ).toBe(false)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- fixedPool,
WorkerChoiceStrategies.LESS_USED
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
dynamicPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.LESS_USED
+ ).isDynamicPool
+ ).toBe(true)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- dynamicPool,
WorkerChoiceStrategies.LESS_USED
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
fixedPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.LESS_BUSY
+ ).isDynamicPool
+ ).toBe(false)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- fixedPool,
WorkerChoiceStrategies.LESS_BUSY
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
dynamicPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.LESS_BUSY
+ ).isDynamicPool
+ ).toBe(true)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- dynamicPool,
WorkerChoiceStrategies.LESS_BUSY
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
fixedPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.FAIR_SHARE
+ ).isDynamicPool
+ ).toBe(false)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- fixedPool,
WorkerChoiceStrategies.FAIR_SHARE
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
dynamicPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.FAIR_SHARE
+ ).isDynamicPool
+ ).toBe(true)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- dynamicPool,
WorkerChoiceStrategies.FAIR_SHARE
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
fixedPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
+ ).isDynamicPool
+ ).toBe(false)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- fixedPool,
WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
)
expect(
const workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
dynamicPool
)
+ expect(
+ workerChoiceStrategyContext.workerChoiceStrategies.get(
+ WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
+ ).isDynamicPool
+ ).toBe(true)
workerChoiceStrategyContext.setWorkerChoiceStrategy(
- dynamicPool,
WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
)
expect(