test: add IWRR reset() test
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 6 Jan 2024 19:34:20 +0000 (20:34 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 6 Jan 2024 19:34:20 +0000 (20:34 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
tests/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.test.mjs

index 286bc44e55f2a9c200101415ae8639b78e21e47a..063c7a46dfb259d26b5fb1705bfaadab74e8a09d 100644 (file)
@@ -1,6 +1,7 @@
 import { randomInt } from 'node:crypto'
 import { expect } from 'expect'
 import { FixedThreadPool } from '../../../lib/index.cjs'
+import { InterleavedWeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/interleaved-weighted-round-robin-worker-choice-strategy.cjs'
 import { WeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.cjs'
 
 describe('Weighted round robin strategy worker choice strategy test suite', () => {
@@ -19,7 +20,7 @@ describe('Weighted round robin strategy worker choice strategy test suite', () =
     await pool.destroy()
   })
 
-  it('Verify that reset() resets internals', () => {
+  it('Verify that WRR reset() resets internals', () => {
     const strategy = new WeightedRoundRobinWorkerChoiceStrategy(pool)
     strategy.nextWorkerNodeKey = randomInt(1, 281474976710655)
     strategy.previousWorkerNodeKey = randomInt(1, 281474976710655)
@@ -32,4 +33,24 @@ describe('Weighted round robin strategy worker choice strategy test suite', () =
     expect(strategy.previousWorkerNodeKey).toBe(0)
     expect(strategy.workerNodeVirtualTaskRunTime).toBe(0)
   })
+
+  it('Verify that IWRR reset() resets internals', () => {
+    const strategy = new InterleavedWeightedRoundRobinWorkerChoiceStrategy(pool)
+    strategy.nextWorkerNodeKey = randomInt(1, 281474976710656)
+    strategy.previousWorkerNodeKey = randomInt(1, 281474976710656)
+    strategy.roundId = randomInt(1, 281474976710656)
+    strategy.workerNodeId = randomInt(1, 281474976710656)
+    strategy.workerNodeVirtualTaskRunTime = randomInt(1, 281474976710656)
+    expect(strategy.nextWorkerNodeKey).toBeGreaterThan(0)
+    expect(strategy.previousWorkerNodeKey).toBeGreaterThan(0)
+    expect(strategy.roundId).toBeGreaterThan(0)
+    expect(strategy.workerNodeId).toBeGreaterThan(0)
+    expect(strategy.workerNodeVirtualTaskRunTime).toBeGreaterThan(0)
+    expect(strategy.reset()).toBe(true)
+    expect(strategy.nextWorkerNodeKey).toBe(0)
+    expect(strategy.previousWorkerNodeKey).toBe(0)
+    expect(strategy.roundId).toBe(0)
+    expect(strategy.workerNodeId).toBe(0)
+    expect(strategy.workerNodeVirtualTaskRunTime).toBe(0)
+  })
 })