@@ -87,7 +87,7 @@ describe('MultiSemaphore', () => {
8787 const semaphore2 = new MultiSemaphore ( client , 'key' , 3 , 1 , timeoutOptions )
8888 await semaphore1 . acquire ( )
8989 await semaphore2 . acquire ( )
90- await delay ( 100 )
90+ await delay ( 400 )
9191 expect ( await client . zrange ( 'semaphore:key' , 0 , - 1 ) ) . to . have . members ( [
9292 semaphore1 . identifier + '_0' ,
9393 semaphore1 . identifier + '_1' ,
@@ -100,6 +100,20 @@ describe('MultiSemaphore', () => {
100100 await semaphore2 . release ( )
101101 expect ( await client . zcard ( 'semaphore:key' ) ) . to . be . eql ( 0 )
102102 } )
103+ it ( 'should stop refreshing lock if stopped' , async ( ) => {
104+ const semaphore1 = new MultiSemaphore ( client , 'key' , 3 , 2 , timeoutOptions )
105+ const semaphore2 = new MultiSemaphore ( client , 'key' , 3 , 1 , timeoutOptions )
106+ await semaphore1 . acquire ( )
107+ await semaphore2 . acquire ( )
108+ await semaphore1 . stopRefresh ( )
109+ await delay ( 400 )
110+ expect ( await client . zrange ( 'semaphore:key' , 0 , - 1 ) ) . to . be . eql ( [
111+ semaphore2 . identifier + '_0'
112+ ] )
113+ await semaphore2 . stopRefresh ( )
114+ await delay ( 400 )
115+ expect ( await client . zcard ( 'semaphore:key' ) ) . to . be . eql ( 0 )
116+ } )
103117 it ( 'should acquire maximum LIMIT semaphores' , async ( ) => {
104118 const s = ( ) =>
105119 new MultiSemaphore ( client , 'key' , 3 , 1 , {
0 commit comments