@@ -36,6 +36,8 @@ jest.mock("@redis/client", () => ({
3636
3737const redisAdapter = require ( "../src/redis-adapter" ) ;
3838
39+ const { REDIS_CLIENT_NAME : CLIENT_NAME } = redisAdapter ;
40+
3941const channel = "channel" ;
4042const channelTwo = "channelTwo" ;
4143const message = "message" ;
@@ -82,6 +84,40 @@ describe("redis-adapter test", () => {
8284 expect ( loggerSpy . error ) . not . toHaveBeenCalled ( ) ;
8385 } ) ;
8486
87+ test ( "_createClientAndConnect silent and then main does not leak options" , async ( ) => {
88+ await redisAdapter . _ . _createClientAndConnect ( CLIENT_NAME . SILENT , {
89+ doLogEvents : false ,
90+ doReconnect : false ,
91+ } ) ;
92+
93+ expect ( redis . createClient ) . toHaveBeenCalledTimes ( 1 ) ;
94+ expect ( redis . createClient . mock . calls [ 0 ] ) . toMatchInlineSnapshot ( `
95+ [
96+ {
97+ "pingInterval": 240000,
98+ "socket": {
99+ "reconnectStrategy": [Function],
100+ },
101+ },
102+ ]
103+ ` ) ;
104+
105+ redis . createClient . mockClear ( ) ;
106+ await redisAdapter . _ . _createClientAndConnect ( CLIENT_NAME . MAIN ) ;
107+
108+ expect ( redis . createClient ) . toHaveBeenCalledTimes ( 1 ) ;
109+ expect ( redis . createClient . mock . calls [ 0 ] ) . toMatchInlineSnapshot ( `
110+ [
111+ {
112+ "pingInterval": 240000,
113+ "socket": {},
114+ },
115+ ]
116+ ` ) ;
117+
118+ expect ( loggerSpy . error ) . not . toHaveBeenCalled ( ) ;
119+ } ) ;
120+
85121 test . each ( Object . entries ( require ( "./__mocks__/mock-redis-credentials.json" ) ) ) (
86122 "_createClientBase on CF | %s" ,
87123 async ( _ , credentials ) => {
0 commit comments