File tree Expand file tree Collapse file tree 2 files changed +36
-3
lines changed Expand file tree Collapse file tree 2 files changed +36
-3
lines changed Original file line number Diff line number Diff line change 44
55namespace SymfonyHealthCheckBundle \Check ;
66
7- use SymfonyHealthCheckBundle \Dto \Response ;
87use SymfonyHealthCheckBundle \Adapter \RedisAdapterWrapper ;
8+ use SymfonyHealthCheckBundle \Dto \Response ;
99
1010class RedisCheck implements CheckInterface
1111{
1212 private const CHECK_RESULT_NAME = 'redis_check ' ;
1313
1414 private RedisAdapterWrapper $ redisAdapter ;
15- private string $ redisDsn ;
15+ private ? string $ redisDsn ;
1616
17- public function __construct (RedisAdapterWrapper $ redisAdapter , string $ redisDsn )
17+ public function __construct (RedisAdapterWrapper $ redisAdapter , ? string $ redisDsn )
1818 {
1919 $ this ->redisAdapter = $ redisAdapter ;
2020 $ this ->redisDsn = $ redisDsn ;
2121 }
2222
2323 public function check (): Response
2424 {
25+ if (empty ($ this ->redisDsn )) {
26+ return new Response (self ::CHECK_RESULT_NAME , false , 'Invalid redis dsn definition. ' );
27+ }
28+
2529 try {
2630 $ redisConnection = $ this ->redisAdapter ->createConnection ($ this ->redisDsn );
2731
Original file line number Diff line number Diff line change @@ -209,6 +209,35 @@ public function testItFailsCheckWithRedisArrayClient(): void
209209 self ::assertIsArray ($ result ['params ' ]);
210210 }
211211
212+ public function testItFailsCheckWhenNoRedisDsnProvided (): void
213+ {
214+ $ adapter = $ this ->createMock (RedisAdapterWrapper::class);
215+
216+ /** @var \Redis $connectionMock */
217+ $ connectionMock = $ this ->createMock (\Redis::class);
218+
219+ $ adapter
220+ ->method ('createConnection ' )
221+ ->willReturn ($ connectionMock );
222+
223+ $ check = new RedisCheck ($ adapter , null );
224+
225+ $ result = $ check ->check ()->toArray ();
226+
227+ self ::assertIsArray ($ result );
228+ self ::assertNotEmpty ($ result );
229+
230+ self ::assertArrayHasKey ('name ' , $ result );
231+ self ::assertArrayHasKey ('result ' , $ result );
232+ self ::assertArrayHasKey ('message ' , $ result );
233+ self ::assertArrayHasKey ('params ' , $ result );
234+
235+ self ::assertSame ('redis_check ' , $ result ['name ' ]);
236+ self ::assertFalse ($ result ['result ' ]);
237+ self ::assertSame ('Invalid redis dsn definition. ' , $ result ['message ' ]);
238+ self ::assertIsArray ($ result ['params ' ]);
239+ }
240+
212241 /**
213242 * @param string|bool $response
214243 *
You can’t perform that action at this time.
0 commit comments