X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fabstract%2Fworker-node.test.js;h=f6305fe7566e4262008777530ed63568e487b2e0;hb=18d5678258f31cff39813c412cb0bc12161120ae;hp=df4e03fead8e71319bbab00178297d9e80ea9060;hpb=4ba4c7f958c50c9e734effb61831b9acfed2fd79;p=poolifier.git diff --git a/tests/pools/abstract/worker-node.test.js b/tests/pools/abstract/worker-node.test.js index df4e03fe..f6305fe7 100644 --- a/tests/pools/abstract/worker-node.test.js +++ b/tests/pools/abstract/worker-node.test.js @@ -1,5 +1,5 @@ -const { MessageChannel, Worker } = require('worker_threads') -const cluster = require('cluster') +const { MessageChannel, Worker } = require('node:worker_threads') +const cluster = require('node:cluster') const { expect } = require('expect') const { WorkerNode } = require('../../../lib/pools/worker-node') const { WorkerTypes } = require('../../../lib') @@ -29,6 +29,21 @@ describe('Worker node test suite', () => { 'Cannot construct a worker node with a tasks queue back pressure size that is not an integer' ) ) + expect(() => new WorkerNode(threadWorker, 0.2)).toThrowError( + new TypeError( + 'Cannot construct a worker node with a tasks queue back pressure size that is not an integer' + ) + ) + expect(() => new WorkerNode(threadWorker, 0)).toThrowError( + new RangeError( + 'Cannot construct a worker node with a tasks queue back pressure size that is not a positive integer' + ) + ) + expect(() => new WorkerNode(threadWorker, -1)).toThrowError( + new RangeError( + 'Cannot construct a worker node with a tasks queue back pressure size that is not a positive integer' + ) + ) expect(threadWorkerNode).toBeInstanceOf(WorkerNode) expect(threadWorkerNode.worker).toBe(threadWorker) expect(threadWorkerNode.info).toStrictEqual({ @@ -65,6 +80,11 @@ describe('Worker node test suite', () => { expect(threadWorkerNode.tasksQueueBackPressureSize).toBe(12) expect(threadWorkerNode.tasksQueue).toBeInstanceOf(Deque) expect(threadWorkerNode.tasksQueue.size).toBe(0) + expect(threadWorkerNode.tasksQueueSize()).toBe( + threadWorkerNode.tasksQueue.size + ) + expect(threadWorkerNode.onBackPressureStarted).toBe(false) + expect(threadWorkerNode.onEmptyQueueCount).toBe(0) expect(threadWorkerNode.taskFunctionsUsage).toBeInstanceOf(Map) expect(clusterWorkerNode).toBeInstanceOf(WorkerNode) @@ -103,6 +123,11 @@ describe('Worker node test suite', () => { expect(clusterWorkerNode.tasksQueueBackPressureSize).toBe(12) expect(clusterWorkerNode.tasksQueue).toBeInstanceOf(Deque) expect(clusterWorkerNode.tasksQueue.size).toBe(0) + expect(clusterWorkerNode.tasksQueueSize()).toBe( + clusterWorkerNode.tasksQueue.size + ) + expect(clusterWorkerNode.onBackPressureStarted).toBe(false) + expect(clusterWorkerNode.onEmptyQueueCount).toBe(0) expect(clusterWorkerNode.taskFunctionsUsage).toBeInstanceOf(Map) }) @@ -114,7 +139,7 @@ describe('Worker node test suite', () => { "Cannot get task function worker usage for task function name 'invalidTaskFunction' when task function names list is not yet defined" ) ) - threadWorkerNode.info.taskFunctions = [DEFAULT_TASK_NAME, 'fn1'] + threadWorkerNode.info.taskFunctionNames = [DEFAULT_TASK_NAME, 'fn1'] expect(() => threadWorkerNode.getTaskFunctionWorkerUsage('invalidTaskFunction') ).toThrowError( @@ -122,7 +147,7 @@ describe('Worker node test suite', () => { "Cannot get task function worker usage for task function name 'invalidTaskFunction' when task function names list has less than 3 elements" ) ) - threadWorkerNode.info.taskFunctions = [DEFAULT_TASK_NAME, 'fn1', 'fn2'] + threadWorkerNode.info.taskFunctionNames = [DEFAULT_TASK_NAME, 'fn1', 'fn2'] expect( threadWorkerNode.getTaskFunctionWorkerUsage(DEFAULT_TASK_NAME) ).toStrictEqual({