Merge dependabot/npm_and_yarn/examples/typescript/websocket-server-pool/ws-worker_thr...
[poolifier.git] / tests / test-utils.js
index 0014a7911cf587e876aa817f43155c4de00ffb51..ef759824ce7e9b4d0294d84f2fa6dff02aba493a 100644 (file)
@@ -1,10 +1,11 @@
-const { WorkerFunctions } = require('./test-types')
+const { TaskFunctions } = require('./test-types.js')
 
 const waitWorkerEvents = async (pool, workerEvent, numberOfEventsToWait) => {
-  return new Promise(resolve => {
+  return await new Promise(resolve => {
     let events = 0
     if (numberOfEventsToWait === 0) {
       resolve(events)
+      return
     }
     for (const workerNode of pool.workerNodes) {
       workerNode.worker.on(workerEvent, () => {
@@ -18,12 +19,13 @@ const waitWorkerEvents = async (pool, workerEvent, numberOfEventsToWait) => {
 }
 
 const waitPoolEvents = async (pool, poolEvent, numberOfEventsToWait) => {
-  return new Promise(resolve => {
+  return await new Promise(resolve => {
     let events = 0
     if (numberOfEventsToWait === 0) {
       resolve(events)
+      return
     }
-    pool.emitter.on(poolEvent, () => {
+    pool.emitter?.on(poolEvent, () => {
       ++events
       if (events === numberOfEventsToWait) {
         resolve(events)
@@ -33,16 +35,16 @@ const waitPoolEvents = async (pool, poolEvent, numberOfEventsToWait) => {
 }
 
 const sleep = async ms => {
-  return new Promise(resolve => setTimeout(resolve, ms))
+  return await new Promise(resolve => setTimeout(resolve, ms))
 }
 
-const sleepWorkerFunction = async (
+const sleepTaskFunction = async (
   data,
   ms,
   rejection = false,
   rejectionMessage = ''
 ) => {
-  return new Promise((resolve, reject) => {
+  return await new Promise((resolve, reject) => {
     setTimeout(
       () =>
         rejection === true
@@ -72,6 +74,7 @@ const jsonIntegerSerialization = n => {
     }
     JSON.stringify(o)
   }
+  return { ok: 1 }
 }
 
 /**
@@ -96,13 +99,13 @@ const factorial = n => {
   return factorial(n - 1) * n
 }
 
-const executeWorkerFunction = data => {
+const executeTaskFunction = data => {
   switch (data.function) {
-    case WorkerFunctions.jsonIntegerSerialization:
+    case TaskFunctions.jsonIntegerSerialization:
       return jsonIntegerSerialization(data.n || 100)
-    case WorkerFunctions.fibonacci:
+    case TaskFunctions.fibonacci:
       return fibonacci(data.n || 25)
-    case WorkerFunctions.factorial:
+    case TaskFunctions.factorial:
       return factorial(data.n || 100)
     default:
       throw new Error('Unknown worker function')
@@ -110,13 +113,13 @@ const executeWorkerFunction = data => {
 }
 
 module.exports = {
-  executeWorkerFunction,
+  executeTaskFunction,
   factorial,
   fibonacci,
   generateRandomInteger,
   jsonIntegerSerialization,
   sleep,
-  sleepWorkerFunction,
-  waitWorkerEvents,
-  waitPoolEvents
+  sleepTaskFunction,
+  waitPoolEvents,
+  waitWorkerEvents
 }