@@ -377,6 +377,46 @@ describe('Token bucket management functions', () => {
377377 assert . strictEqual ( bucket1 . bucketName , 'bucket-1' ) ;
378378 assert . strictEqual ( bucket2 . bucketName , 'bucket-2' ) ;
379379 } ) ;
380+
381+ it ( 'should update limitConfig when limit changes' , ( ) => {
382+ const bucket1 = tokenBucket . getTokenBucket ( 'test-bucket' , { limit : 100 , source : 'bucket' } , mockLog ) ;
383+ assert . strictEqual ( bucket1 . limitConfig . limit , 100 ) ;
384+
385+ // Simulate rate limit change
386+ const bucket2 = tokenBucket . getTokenBucket ( 'test-bucket' , { limit : 200 , source : 'bucket' } , mockLog ) ;
387+
388+ assert . strictEqual ( bucket1 , bucket2 ) ; // Same bucket instance
389+ assert . strictEqual ( bucket2 . limitConfig . limit , 200 ) ; // Limit updated
390+ assert ( mockLog . info . calledOnce ) ;
391+ assert ( mockLog . info . firstCall . args [ 0 ] . includes ( 'Updated token bucket limit config' ) ) ;
392+ } ) ;
393+
394+ it ( 'should not log update when limit is unchanged' , ( ) => {
395+ tokenBucket . getTokenBucket ( 'test-bucket' , { limit : 100 } , mockLog ) ;
396+ mockLog . info . resetHistory ( ) ;
397+
398+ tokenBucket . getTokenBucket ( 'test-bucket' , { limit : 100 } , mockLog ) ;
399+
400+ assert . strictEqual ( mockLog . info . called , false ) ;
401+ } ) ;
402+ } ) ;
403+
404+ describe ( 'removeTokenBucket' , ( ) => {
405+ it ( 'should remove existing bucket and return true' , ( ) => {
406+ tokenBucket . getTokenBucket ( 'test-bucket' , { limit : 100 } , mockLog ) ;
407+ assert . strictEqual ( tokenBucket . getAllTokenBuckets ( ) . size , 1 ) ;
408+
409+ const result = tokenBucket . removeTokenBucket ( 'test-bucket' ) ;
410+
411+ assert . strictEqual ( result , true ) ;
412+ assert . strictEqual ( tokenBucket . getAllTokenBuckets ( ) . size , 0 ) ;
413+ } ) ;
414+
415+ it ( 'should return false when bucket does not exist' , ( ) => {
416+ const result = tokenBucket . removeTokenBucket ( 'non-existent-bucket' ) ;
417+
418+ assert . strictEqual ( result , false ) ;
419+ } ) ;
380420 } ) ;
381421
382422 describe ( 'getAllTokenBuckets' , ( ) => {
0 commit comments