fix: check that task functions worker parameter is not empty
authorJérôme Benoit <jerome.benoit@sap.com>
Fri, 5 May 2023 14:32:06 +0000 (16:32 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Fri, 5 May 2023 14:32:06 +0000 (16:32 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/worker/abstract-worker.ts
tests/worker/abstract-worker.test.js

index 1a2a15599d301df8c929d92ad5846c46c9531650..8b461f7d3bad7d462c0f4bcea900f0a3bff295dd 100644 (file)
@@ -131,6 +131,9 @@ export abstract class AbstractWorker<
           firstEntry = false
         }
       }
+      if (firstEntry) {
+        throw new Error('taskFunctions parameter object is empty')
+      }
     } else {
       this.taskFunctions.set(DEFAULT_FUNCTION_NAME, taskFunctions.bind(this))
     }
index 5b42eb9d357088a6da6253c780da12dbb7230c00..7f05cbb70d91d5a68f76f7bc7508fdac82acd5ea 100644 (file)
@@ -45,7 +45,7 @@ describe('Abstract worker test suite', () => {
     )
   })
 
-  it('Verify that taskFunctions parameter is an object literal', () => {
+  it('Verify that taskFunctions parameter is not an empty object literal', () => {
     expect(() => new ClusterWorker([])).toThrowError(
       new TypeError('taskFunctions parameter is not an object literal')
     )
@@ -61,6 +61,9 @@ describe('Abstract worker test suite', () => {
     expect(() => new ClusterWorker(new WeakSet())).toThrowError(
       new TypeError('taskFunctions parameter is not an object literal')
     )
+    expect(() => new ClusterWorker({})).toThrowError(
+      new TypeError('taskFunctions parameter object is empty')
+    )
   })
 
   it('Verify that taskFunctions parameter with multiple task functions is taken', () => {