X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fabstract-pool.test.mjs;h=6bb6e1a613cc437a1f0cbc1bf2a781fe0da21fe6;hb=bcc9e518ccacb739018c92de22011fa4e8d47ece;hp=44aca3993c7d94d9f52185e553333db2316a8a71;hpb=c004ececb19646937d2bf9e6431f51fd4108b782;p=poolifier.git diff --git a/tests/pools/abstract-pool.test.mjs b/tests/pools/abstract-pool.test.mjs index 44aca399..6bb6e1a6 100644 --- a/tests/pools/abstract-pool.test.mjs +++ b/tests/pools/abstract-pool.test.mjs @@ -229,19 +229,33 @@ describe('Abstract pool test suite', () => { workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN }) expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({ - retries: pool.info.maxSize, + retries: + pool.info.maxSize + + Object.keys(pool.workerChoiceStrategyContext.opts.weights).length, runTime: { median: false }, waitTime: { median: false }, - elu: { median: false } + elu: { median: false }, + weights: expect.objectContaining({ + 0: expect.any(Number), + [pool.info.maxSize - 1]: expect.any(Number) + }) }) for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext .workerChoiceStrategies) { - expect(workerChoiceStrategy.opts).toStrictEqual({ - retries: pool.info.maxSize, - runTime: { median: false }, - waitTime: { median: false }, - elu: { median: false } - }) + expect(workerChoiceStrategy.opts).toStrictEqual( + expect.objectContaining({ + retries: + pool.info.maxSize + + Object.keys(workerChoiceStrategy.opts.weights).length, + runTime: { median: false }, + waitTime: { median: false }, + elu: { median: false } + // weights: expect.objectContaining({ + // 0: expect.any(Number), + // [pool.info.maxSize - 1]: expect.any(Number) + // }) + }) + ) } await pool.destroy() const testHandler = () => console.info('test handler executed') @@ -288,7 +302,9 @@ describe('Abstract pool test suite', () => { exitHandler: testHandler }) expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({ - retries: pool.info.maxSize, + retries: + pool.info.maxSize + + Object.keys(pool.opts.workerChoiceStrategyOptions.weights).length, runTime: { median: true }, waitTime: { median: false }, elu: { median: false }, @@ -297,7 +313,9 @@ describe('Abstract pool test suite', () => { for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext .workerChoiceStrategies) { expect(workerChoiceStrategy.opts).toStrictEqual({ - retries: pool.info.maxSize, + retries: + pool.info.maxSize + + Object.keys(pool.opts.workerChoiceStrategyOptions.weights).length, runTime: { median: true }, waitTime: { median: false }, elu: { median: false }, @@ -455,19 +473,33 @@ describe('Abstract pool test suite', () => { ) expect(pool.opts.workerChoiceStrategyOptions).toBeUndefined() expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({ - retries: pool.info.maxSize, + retries: + pool.info.maxSize + + Object.keys(pool.workerChoiceStrategyContext.opts.weights).length, runTime: { median: false }, waitTime: { median: false }, - elu: { median: false } + elu: { median: false }, + weights: expect.objectContaining({ + 0: expect.any(Number), + [pool.info.maxSize - 1]: expect.any(Number) + }) }) for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext .workerChoiceStrategies) { - expect(workerChoiceStrategy.opts).toStrictEqual({ - retries: pool.info.maxSize, - runTime: { median: false }, - waitTime: { median: false }, - elu: { median: false } - }) + expect(workerChoiceStrategy.opts).toStrictEqual( + expect.objectContaining({ + retries: + pool.info.maxSize + + Object.keys(workerChoiceStrategy.opts.weights).length, + runTime: { median: false }, + waitTime: { median: false }, + elu: { median: false } + // weights: expect.objectContaining({ + // 0: expect.any(Number), + // [pool.info.maxSize - 1]: expect.any(Number) + // }) + }) + ) } expect( pool.workerChoiceStrategyContext.getTaskStatisticsRequirements() @@ -497,19 +529,33 @@ describe('Abstract pool test suite', () => { elu: { median: true } }) expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({ - retries: pool.info.maxSize, + retries: + pool.info.maxSize + + Object.keys(pool.workerChoiceStrategyContext.opts.weights).length, runTime: { median: true }, waitTime: { median: false }, - elu: { median: true } + elu: { median: true }, + weights: expect.objectContaining({ + 0: expect.any(Number), + [pool.info.maxSize - 1]: expect.any(Number) + }) }) for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext .workerChoiceStrategies) { - expect(workerChoiceStrategy.opts).toStrictEqual({ - retries: pool.info.maxSize, - runTime: { median: true }, - waitTime: { median: false }, - elu: { median: true } - }) + expect(workerChoiceStrategy.opts).toStrictEqual( + expect.objectContaining({ + retries: + pool.info.maxSize + + Object.keys(workerChoiceStrategy.opts.weights).length, + runTime: { median: true }, + waitTime: { median: false }, + elu: { median: true } + // weights: expect.objectContaining({ + // 0: expect.any(Number), + // [pool.info.maxSize - 1]: expect.any(Number) + // }) + }) + ) } expect( pool.workerChoiceStrategyContext.getTaskStatisticsRequirements() @@ -539,19 +585,33 @@ describe('Abstract pool test suite', () => { elu: { median: false } }) expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({ - retries: pool.info.maxSize, + retries: + pool.info.maxSize + + Object.keys(pool.workerChoiceStrategyContext.opts.weights).length, runTime: { median: false }, waitTime: { median: false }, - elu: { median: false } + elu: { median: false }, + weights: expect.objectContaining({ + 0: expect.any(Number), + [pool.info.maxSize - 1]: expect.any(Number) + }) }) for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext .workerChoiceStrategies) { - expect(workerChoiceStrategy.opts).toStrictEqual({ - retries: pool.info.maxSize, - runTime: { median: false }, - waitTime: { median: false }, - elu: { median: false } - }) + expect(workerChoiceStrategy.opts).toStrictEqual( + expect.objectContaining({ + retries: + pool.info.maxSize + + Object.keys(workerChoiceStrategy.opts.weights).length, + runTime: { median: false }, + waitTime: { median: false }, + elu: { median: false } + // weights: expect.objectContaining({ + // 0: expect.any(Number), + // [pool.info.maxSize - 1]: expect.any(Number) + // }) + }) + ) } expect( pool.workerChoiceStrategyContext.getTaskStatisticsRequirements()