X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fcluster%2Ffixed.test.js;h=b0e39c308ae6b3d5b0c45396fde375f1c9605143;hb=d32eb966642d1108a42b5930e04bb9f867eb1328;hp=e958374139bc560167bc61c420a278394283a7ef;hpb=3f7eb773a2c8775fa263b696b6a611e484e437a8;p=poolifier.git diff --git a/tests/pools/cluster/fixed.test.js b/tests/pools/cluster/fixed.test.js index e9583741..b0e39c30 100644 --- a/tests/pools/cluster/fixed.test.js +++ b/tests/pools/cluster/fixed.test.js @@ -1,6 +1,6 @@ const { expect } = require('expect') const { FixedClusterPool } = require('../../../lib/index') -const WorkerFunctions = require('../../test-types') +const { WorkerFunctions } = require('../../test-types') const TestUtils = require('../../test-utils') describe('Fixed cluster pool test suite', () => { @@ -49,14 +49,6 @@ describe('Fixed cluster pool test suite', () => { await emptyPool.destroy() }) - it('Choose worker round robin test', async () => { - const results = new Set() - for (let i = 0; i < numberOfWorkers; i++) { - results.add(pool.chooseWorker().id) - } - expect(results.size).toBe(numberOfWorkers) - }) - it('Verify that the function is executed in a worker cluster', async () => { let result = await pool.execute({ function: WorkerFunctions.fibonacci @@ -74,11 +66,10 @@ describe('Fixed cluster pool test suite', () => { }) it('Verify that busy event is emitted', async () => { - const promises = [] let poolBusy = 0 pool.emitter.on('busy', () => poolBusy++) for (let i = 0; i < numberOfWorkers * 2; i++) { - promises.push(pool.execute()) + pool.execute() } // The `busy` event is triggered when the number of submitted tasks at once reach the number of fixed pool workers. // So in total numberOfWorkers + 1 times for a loop submitting up to numberOfWorkers * 2 tasks to the fixed pool. @@ -138,6 +129,29 @@ describe('Fixed cluster pool test suite', () => { expect(numberOfExitEvents).toBe(numberOfWorkers) }) + it('Verify that cluster pool options are checked', async () => { + const workerFilePath = './tests/worker-files/cluster/testWorker.js' + let pool1 = new FixedClusterPool(numberOfWorkers, workerFilePath) + expect(pool1.opts.env).toBeUndefined() + expect(pool1.opts.settings).toBeUndefined() + await pool1.destroy() + pool1 = new FixedClusterPool(numberOfWorkers, workerFilePath, { + env: { TEST: 'test' }, + settings: { args: ['--use', 'http'], silent: true } + }) + expect(pool1.opts.env).toStrictEqual({ TEST: 'test' }) + expect(pool1.opts.settings).toStrictEqual({ + args: ['--use', 'http'], + silent: true + }) + expect({ ...pool1.opts.settings, exec: workerFilePath }).toStrictEqual({ + args: ['--use', 'http'], + silent: true, + exec: workerFilePath + }) + await pool1.destroy() + }) + it('Should work even without opts in input', async () => { const pool1 = new FixedClusterPool( numberOfWorkers,