File tree 2 files changed +36
-3
lines changed
2 files changed +36
-3
lines changed Original file line number Diff line number Diff line change 4
4
5
5
namespace SymfonyHealthCheckBundle \Check ;
6
6
7
- use SymfonyHealthCheckBundle \Dto \Response ;
8
7
use SymfonyHealthCheckBundle \Adapter \RedisAdapterWrapper ;
8
+ use SymfonyHealthCheckBundle \Dto \Response ;
9
9
10
10
class RedisCheck implements CheckInterface
11
11
{
12
12
private const CHECK_RESULT_NAME = 'redis_check ' ;
13
13
14
14
private RedisAdapterWrapper $ redisAdapter ;
15
- private string $ redisDsn ;
15
+ private ? string $ redisDsn ;
16
16
17
- public function __construct (RedisAdapterWrapper $ redisAdapter , string $ redisDsn )
17
+ public function __construct (RedisAdapterWrapper $ redisAdapter , ? string $ redisDsn )
18
18
{
19
19
$ this ->redisAdapter = $ redisAdapter ;
20
20
$ this ->redisDsn = $ redisDsn ;
21
21
}
22
22
23
23
public function check (): Response
24
24
{
25
+ if (empty ($ this ->redisDsn )) {
26
+ return new Response (self ::CHECK_RESULT_NAME , false , 'Invalid redis dsn definition. ' );
27
+ }
28
+
25
29
try {
26
30
$ redisConnection = $ this ->redisAdapter ->createConnection ($ this ->redisDsn );
27
31
Original file line number Diff line number Diff line change @@ -209,6 +209,35 @@ public function testItFailsCheckWithRedisArrayClient(): void
209
209
self ::assertIsArray ($ result ['params ' ]);
210
210
}
211
211
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
+
212
241
/**
213
242
* @param string|bool $response
214
243
*
You can’t perform that action at this time.
0 commit comments