- pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN)
- expect(pool.opts.workerChoiceStrategy).toBe(
- WorkerChoiceStrategies.ROUND_ROBIN
- )
- // We need to clean up the resources after our test
+ for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) {
+ if (workerChoiceStrategy === WorkerChoiceStrategies.ROUND_ROBIN) {
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
+ workerChoiceStrategy
+ ).nextWorkerNodeId
+ ).toBe(0)
+ } else if (workerChoiceStrategy === WorkerChoiceStrategies.FAIR_SHARE) {
+ for (const workerNodeKey of pool.workerChoiceStrategyContext.workerChoiceStrategies
+ .get(workerChoiceStrategy)
+ .workerLastVirtualTaskTimestamp.keys()) {
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies
+ .get(workerChoiceStrategy)
+ .workerLastVirtualTaskTimestamp.get(workerNodeKey).start
+ ).toBe(0)
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies
+ .get(workerChoiceStrategy)
+ .workerLastVirtualTaskTimestamp.get(workerNodeKey).end
+ ).toBe(0)
+ }
+ } else if (
+ workerChoiceStrategy === WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
+ ) {
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
+ workerChoiceStrategy
+ ).currentWorkerNodeId
+ ).toBe(0)
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
+ workerChoiceStrategy
+ ).defaultWorkerWeight
+ ).toBeGreaterThan(0)
+ for (const workerNodeKey of pool.workerChoiceStrategyContext.workerChoiceStrategies
+ .get(workerChoiceStrategy)
+ .workersTaskRunTime.keys()) {
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies
+ .get(workerChoiceStrategy)
+ .workersTaskRunTime.get(workerNodeKey).weight
+ ).toBeGreaterThan(0)
+ expect(
+ pool.workerChoiceStrategyContext.workerChoiceStrategies
+ .get(workerChoiceStrategy)
+ .workersTaskRunTime.get(workerNodeKey).runTime
+ ).toBe(0)
+ }
+ }
+ }