X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fdynamic.test.js;h=15195012be80f25db7750f80de1fbebdf5614765;hb=e640b5a83f70adfa3c2bdad13dfc3bba815388cc;hp=e23fd9af9fbd32ff210ef178f4cf298f7863af7c;hpb=106744f7518d0f64ce85c4507157092083c2c4d4;p=poolifier.git diff --git a/tests/dynamic.test.js b/tests/dynamic.test.js index e23fd9af..15195012 100644 --- a/tests/dynamic.test.js +++ b/tests/dynamic.test.js @@ -32,6 +32,21 @@ describe('Dynamic thread pool test suite ', () => { expect(closedThreads).toBe(max - min) }) + it('Verify scale thread up and down is working', async () => { + expect(pool.workers.length).toBe(min) + for (let i = 0; i < max * 10; i++) { + pool.execute({ test: 'test' }) + } + expect(pool.workers.length).toBe(max) + await new Promise(resolve => setTimeout(resolve, 1000)) + expect(pool.workers.length).toBe(min) + for (let i = 0; i < max * 10; i++) { + pool.execute({ test: 'test' }) + } + expect(pool.workers.length).toBe(max) + await new Promise(resolve => setTimeout(resolve, 1000)) + expect(pool.workers.length).toBe(min) + }) it('Shutdown test', async () => { let closedThreads = 0 pool.workers.forEach(w => { @@ -39,8 +54,7 @@ describe('Dynamic thread pool test suite ', () => { closedThreads++ }) }) - pool.destroy() - await new Promise(resolve => setTimeout(resolve, 2000)) + await pool.destroy() expect(closedThreads).toBe(min) })