"eslint-plugin-n": "^15.3.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettierx": "^0.18.0",
- "eslint-plugin-promise": "^6.0.1",
+ "eslint-plugin-promise": "^6.1.0",
"eslint-plugin-spellcheck": "^0.0.19",
"expect": "^29.1.2",
"husky": "^8.0.1",
}
},
"node_modules/eslint-plugin-promise": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz",
- "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.0.tgz",
+ "integrity": "sha512-NYCfDZF/KHt27p06nFAttgWuFyIDSUMnNaJBIY1FY9GpBFhdT2vMG64HlFguSgcJeyM5by6Yr5csSOuJm60eXQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"eslint-plugin-promise": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz",
- "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.0.tgz",
+ "integrity": "sha512-NYCfDZF/KHt27p06nFAttgWuFyIDSUMnNaJBIY1FY9GpBFhdT2vMG64HlFguSgcJeyM5by6Yr5csSOuJm60eXQ==",
"dev": true
},
"eslint-plugin-spellcheck": {
"eslint-plugin-n": "^15.3.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettierx": "^0.18.0",
- "eslint-plugin-promise": "^6.0.1",
+ "eslint-plugin-promise": "^6.1.0",
"eslint-plugin-spellcheck": "^0.0.19",
"expect": "^29.1.2",
"husky": "^8.0.1",
const {
WeightedRoundRobinWorkerChoiceStrategy
} = require('../../../lib/pools/selection-strategies/weighted-round-robin-worker-choice-strategy')
+const TestUtils = require('../../test-utils')
describe('Weighted round robin strategy worker choice strategy test suite', () => {
// const min = 1
it('Verify that reset() resets internals', () => {
const strategy = new WeightedRoundRobinWorkerChoiceStrategy(pool)
+ strategy.previousWorkerIndex = TestUtils.generateRandomInteger(
+ Number.MAX_SAFE_INTEGER
+ )
+ strategy.currentWorkerIndex = TestUtils.generateRandomInteger(
+ Number.MAX_SAFE_INTEGER
+ )
const workersTaskRunTimeClearStub = sinon
.stub(strategy.workersTaskRunTime, 'clear')
.returns()
expect(resetResult).toBe(true)
expect(strategy.previousWorkerIndex).toBe(0)
expect(strategy.currentWorkerIndex).toBe(0)
- expect(strategy.defaultWorkerWeight).toBeGreaterThan(0)
expect(workersTaskRunTimeClearStub.calledOnce).toBe(true)
expect(initWorkersTaskRunTimeStub.calledOnce).toBe(true)
})
})
}
+ static generateRandomInteger (max, min = 0) {
+ max = Math.floor(max)
+ if (min) {
+ min = Math.ceil(min)
+ return Math.floor(Math.random() * (max - min + 1)) + min
+ }
+ return Math.floor(Math.random() * (max + 1))
+ }
+
static jsonIntegerSerialization (n) {
for (let i = 0; i < n; i++) {
const o = {