[Messenger] [Redis] Make auth option works

This commit is contained in:
Mathieu Santostefano 2021-07-13 06:58:43 +02:00 committed by Robin Chalas
parent da1a33e4b5
commit 7dfdd383c9
No known key found for this signature in database
GPG Key ID: 89672113756EE03B
2 changed files with 34 additions and 1 deletions

View File

@ -169,6 +169,39 @@ class ConnectionTest extends TestCase
Connection::fromDsn('redis://password@localhost/queue', [], $redis);
}
public function testAuthFromOptions()
{
$redis = $this->createMock(\Redis::class);
$redis->expects($this->exactly(1))->method('auth')
->with('password')
->willReturn(true);
Connection::fromDsn('redis://localhost/queue', ['auth' => 'password'], $redis);
}
public function testAuthFromOptionsAndDsn()
{
$redis = $this->createMock(\Redis::class);
$redis->expects($this->exactly(1))->method('auth')
->with('password2')
->willReturn(true);
Connection::fromDsn('redis://password1@localhost/queue', ['auth' => 'password2'], $redis);
}
public function testAuthAsUserInDsn()
{
$redis = $this->createMock(\Redis::class);
$redis->expects($this->exactly(1))->method('auth')
->with('password')
->willReturn(true);
Connection::fromDsn('redis://password:localhost/queue', [], $redis);
}
public function testNoAuthWithEmptyPassword()
{
$redis = $this->createMock(\Redis::class);

View File

@ -200,7 +200,7 @@ class Connection
$connectionCredentials = [
'host' => $parsedUrl['host'] ?? '127.0.0.1',
'port' => $parsedUrl['port'] ?? 6379,
'auth' => $parsedUrl['pass'] ?? $parsedUrl['user'] ?? null,
'auth' => $redisOptions['auth'] ?? $parsedUrl['pass'] ?? $parsedUrl['user'] ?? null,
];
$pathParts = explode('/', rtrim($parsedUrl['path'] ?? '', '/'));