@@ -11,7 +11,7 @@ import { IPRateLimiterService } from '../../../../src/lib/services/rateLimiterSe
1111import { RedisRateLimitStore } from '../../../../src/lib/services/rateLimiterService/RedisRateLimitStore' ;
1212import { RateLimitKey } from '../../../../src/lib/types/rateLimiter' ;
1313import { RequestDetails } from '../../../../src/lib/types/RequestDetails' ;
14- import { overrideEnvsInMochaDescribe , withOverriddenEnvsInMochaTest } from '../../../helpers' ;
14+ import { createMockRedisClient , overrideEnvsInMochaDescribe , withOverriddenEnvsInMochaTest } from '../../../helpers' ;
1515
1616describe ( 'IPRateLimiterService Test Suite' , function ( ) {
1717 this . timeout ( 10000 ) ;
@@ -251,12 +251,8 @@ describe('IPRateLimiterService Test Suite', function () {
251251 } ) ;
252252
253253 it ( 'should handle Redis connection failures gracefully (fail-open behavior)' , async ( ) => {
254- const createClientStub = sinon . stub ( ) . returns ( {
255- connect : sinon . stub ( ) . rejects ( new Error ( 'Redis connection failed' ) ) ,
256- on : sinon . stub ( ) ,
257- eval : sinon . stub ( ) ,
258- quit : sinon . stub ( ) ,
259- } ) ;
254+ const mockRedisClient = createMockRedisClient ( { connectRejects : true } ) ;
255+ const createClientStub = sinon . stub ( ) . returns ( mockRedisClient ) ;
260256 sinon . replace ( redis , 'createClient' , createClientStub ) ;
261257
262258 rateLimiterService = new IPRateLimiterService ( logger , registry , duration ) ;
@@ -270,12 +266,7 @@ describe('IPRateLimiterService Test Suite', function () {
270266 } ) ;
271267
272268 it ( 'should handle Redis operation failures gracefully (fail-open behavior)' , async ( ) => {
273- const mockRedisClient = {
274- connect : sinon . stub ( ) . resolves ( ) ,
275- on : sinon . stub ( ) ,
276- eval : sinon . stub ( ) . rejects ( new Error ( 'Redis operation failed' ) ) ,
277- quit : sinon . stub ( ) ,
278- } ;
269+ const mockRedisClient = createMockRedisClient ( { evalRejects : true } ) ;
279270 const createClientStub = sinon . stub ( ) . returns ( mockRedisClient ) ;
280271 sinon . replace ( redis , 'createClient' , createClientStub ) ;
281272
0 commit comments