X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Futils.test.mjs;h=5e089e291f07877506ff12a3373ca407ee2b5c51;hb=e44639e9af74427b71f1556ff7ec9f7606373e0d;hp=fd4f776bf2409c8a725e8d3631be9e8981e545c4;hpb=ab3bb4a4fd6b09465fb97ec4f412e57448f94306;p=poolifier.git diff --git a/tests/utils.test.mjs b/tests/utils.test.mjs index fd4f776b..5e089e29 100644 --- a/tests/utils.test.mjs +++ b/tests/utils.test.mjs @@ -9,8 +9,9 @@ import { EMPTY_FUNCTION, availableParallelism, average, - buildInternalWorkerChoiceStrategyOptions, + buildWorkerChoiceStrategyOptions, exponentialDelay, + getWorkerChoiceStrategyRetries, getWorkerId, getWorkerType, isAsyncFunction, @@ -23,8 +24,13 @@ import { round, secureRandom, sleep -} from '../lib/utils.js' -import { KillBehaviors, WorkerTypes } from '../lib/index.js' +} from '../lib/utils.cjs' +import { + FixedClusterPool, + FixedThreadPool, + KillBehaviors, + WorkerTypes +} from '../lib/index.cjs' describe('Utils test suite', () => { it('Verify DEFAULT_TASK_NAME value', () => { @@ -231,22 +237,32 @@ describe('Utils test suite', () => { expect(max(1, 1)).toBe(1) }) - it('Verify buildInternalWorkerChoiceStrategyOptions() behavior', () => { - const poolMaxSize = 10 - const internalWorkerChoiceStrategyOptions = - buildInternalWorkerChoiceStrategyOptions(poolMaxSize) - expect(internalWorkerChoiceStrategyOptions).toStrictEqual({ - retries: - poolMaxSize + - Object.keys(internalWorkerChoiceStrategyOptions.weights).length, + it('Verify getWorkerChoiceStrategyRetries() behavior', async () => { + const numberOfThreads = 4 + const pool = new FixedThreadPool( + numberOfThreads, + './tests/worker-files/thread/testWorker.mjs' + ) + expect(getWorkerChoiceStrategyRetries(pool)).toBe(pool.info.maxSize * 2) + await pool.destroy() + }) + + it('Verify buildWorkerChoiceStrategyOptions() behavior', async () => { + const numberOfWorkers = 4 + const pool = new FixedClusterPool( + numberOfWorkers, + './tests/worker-files/cluster/testWorker.cjs' + ) + expect(buildWorkerChoiceStrategyOptions(pool)).toStrictEqual({ runTime: { median: false }, waitTime: { median: false }, elu: { median: false }, weights: expect.objectContaining({ 0: expect.any(Number), - [poolMaxSize - 1]: expect.any(Number) + [pool.info.maxSize - 1]: expect.any(Number) }) }) + await pool.destroy() }) // it('Verify once()', () => {