Move worker choice strategy tests into in its own file
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 15 Oct 2022 16:53:11 +0000 (18:53 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 15 Oct 2022 16:53:11 +0000 (18:53 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
tests/pools/cluster/fixed.test.js
tests/pools/selection-strategies/selection-strategies.test.js
tests/pools/thread/fixed.test.js

index e00e5fa331d7231d0cacd862c22adeb29c6c9f66..b0e39c308ae6b3d5b0c45396fde375f1c9605143 100644 (file)
@@ -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
index b8341f09e9093566b28c672fd55a5cf107a966d3..93d85ea6e419e52a1d3e861f18b485ea688fd580 100644 (file)
@@ -2,7 +2,8 @@ const { expect } = require('expect')
 const {
   WorkerChoiceStrategies,
   DynamicThreadPool,
-  FixedThreadPool
+  FixedThreadPool,
+  FixedClusterPool
 } = require('../../../lib/index')
 
 describe('Selection strategies test suite', () => {
@@ -125,6 +126,26 @@ describe('Selection strategies test suite', () => {
     await pool.destroy()
   })
 
+  it('Verify ROUND_ROBIN strategy runtime behavior', async () => {
+    let pool = new FixedClusterPool(
+      max,
+      './tests/worker-files/cluster/testWorker.js'
+    )
+    let results = new Set()
+    for (let i = 0; i < max; i++) {
+      results.add(pool.chooseWorker().id)
+    }
+    expect(results.size).toBe(max)
+    await pool.destroy()
+    pool = new FixedThreadPool(max, './tests/worker-files/thread/testWorker.js')
+    results = new Set()
+    for (let i = 0; i < max; i++) {
+      results.add(pool.chooseWorker().threadId)
+    }
+    expect(results.size).toBe(max)
+    await pool.destroy()
+  })
+
   it('Verify ROUND_ROBIN strategy internals are resets after setting it', async () => {
     let pool = new FixedThreadPool(
       max,
index a0fd08c8038d9455dabe67b0891d7907b93d98d5..116a17da8640bc97a01715970137817dca078077 100644 (file)
@@ -49,14 +49,6 @@ describe('Fixed thread pool test suite', () => {
     await emptyPool.destroy()
   })
 
-  it('Choose worker round robin test', async () => {
-    const results = new Set()
-    for (let i = 0; i < numberOfThreads; i++) {
-      results.add(pool.chooseWorker().threadId)
-    }
-    expect(results.size).toBe(numberOfThreads)
-  })
-
   it('Verify that the function is executed in a worker thread', async () => {
     let result = await pool.execute({
       function: WorkerFunctions.fibonacci