Skip to content

Commit 65d45b2

Browse files
authored
Merge pull request #81 from MacPaw/develop
Release
2 parents 4fbdfb3 + 3b38fce commit 65d45b2

File tree

2 files changed

+36
-3
lines changed

2 files changed

+36
-3
lines changed

src/Check/RedisCheck.php

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,28 @@
44

55
namespace SymfonyHealthCheckBundle\Check;
66

7-
use SymfonyHealthCheckBundle\Dto\Response;
87
use SymfonyHealthCheckBundle\Adapter\RedisAdapterWrapper;
8+
use SymfonyHealthCheckBundle\Dto\Response;
99

1010
class 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

tests/Unit/Check/RedisCheckTest.php

+29
Original file line numberDiff line numberDiff 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
*

0 commit comments

Comments
 (0)