const { expect } = require('expect')
// const sinon = require('sinon')
const {
- SelectionStrategiesUtils
+ getWorkerChoiceStrategy
} = require('../../../lib/pools/selection-strategies/selection-strategies-utils')
const {
FixedThreadPool,
RoundRobinWorkerChoiceStrategy
} = require('../../../lib/pools/selection-strategies/round-robin-worker-choice-strategy')
const {
- LessRecentlyUsedWorkerChoiceStrategy
-} = require('../../../lib/pools/selection-strategies/less-recently-used-worker-choice-strategy')
+ LessUsedWorkerChoiceStrategy
+} = require('../../../lib/pools/selection-strategies/less-used-worker-choice-strategy')
+const {
+ LessBusyWorkerChoiceStrategy
+} = require('../../../lib/pools/selection-strategies/less-busy-worker-choice-strategy')
const {
FairShareWorkerChoiceStrategy
} = require('../../../lib/pools/selection-strategies/fair-share-worker-choice-strategy')
const {
WeightedRoundRobinWorkerChoiceStrategy
-} = require('../../../lib/pools/selection-strategies/weighted-round-robin-choice-strategy')
+} = require('../../../lib/pools/selection-strategies/weighted-round-robin-worker-choice-strategy')
describe('Selection strategies utils test suite', () => {
const max = 3
// sinon.restore()
// })
- after(() => {
- pool.destroy()
+ after(async () => {
+ await pool.destroy()
})
it('Verify that getWorkerChoiceStrategy() default return ROUND_ROBIN strategy', () => {
- const strategy = SelectionStrategiesUtils.getWorkerChoiceStrategy(pool)
+ const strategy = getWorkerChoiceStrategy(pool)
expect(strategy).toBeInstanceOf(RoundRobinWorkerChoiceStrategy)
})
it('Verify that getWorkerChoiceStrategy() can return ROUND_ROBIN strategy', () => {
- const strategy = SelectionStrategiesUtils.getWorkerChoiceStrategy(
+ const strategy = getWorkerChoiceStrategy(
pool,
WorkerChoiceStrategies.ROUND_ROBIN
)
expect(strategy).toBeInstanceOf(RoundRobinWorkerChoiceStrategy)
})
- it('Verify that getWorkerChoiceStrategy() can return LESS_RECENTLY_USED strategy', () => {
- const strategy = SelectionStrategiesUtils.getWorkerChoiceStrategy(
+ it('Verify that getWorkerChoiceStrategy() can return LESS_USED strategy', () => {
+ const strategy = getWorkerChoiceStrategy(
+ pool,
+ WorkerChoiceStrategies.LESS_USED
+ )
+ expect(strategy).toBeInstanceOf(LessUsedWorkerChoiceStrategy)
+ })
+
+ it('Verify that getWorkerChoiceStrategy() can return LESS_BUSY strategy', () => {
+ const strategy = getWorkerChoiceStrategy(
pool,
- WorkerChoiceStrategies.LESS_RECENTLY_USED
+ WorkerChoiceStrategies.LESS_BUSY
)
- expect(strategy).toBeInstanceOf(LessRecentlyUsedWorkerChoiceStrategy)
+ expect(strategy).toBeInstanceOf(LessBusyWorkerChoiceStrategy)
})
it('Verify that getWorkerChoiceStrategy() can return FAIR_SHARE strategy', () => {
- const strategy = SelectionStrategiesUtils.getWorkerChoiceStrategy(
+ const strategy = getWorkerChoiceStrategy(
pool,
WorkerChoiceStrategies.FAIR_SHARE
)
})
it('Verify that getWorkerChoiceStrategy() can return WEIGHTED_ROUND_ROBIN strategy', () => {
- const strategy = SelectionStrategiesUtils.getWorkerChoiceStrategy(
+ const strategy = getWorkerChoiceStrategy(
pool,
WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
)
it('Verify that getWorkerChoiceStrategy() throw error on unknown strategy', () => {
expect(() => {
- SelectionStrategiesUtils.getWorkerChoiceStrategy(pool, 'UNKNOWN_STRATEGY')
+ getWorkerChoiceStrategy(pool, 'UNKNOWN_STRATEGY')
}).toThrowError(
new Error("Worker choice strategy 'UNKNOWN_STRATEGY' not found")
)