diff --git a/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/ConnectionTest.php b/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/ConnectionTest.php index d24b91f032..05175bb613 100644 --- a/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/ConnectionTest.php +++ b/src/Symfony/Component/Messenger/Bridge/Redis/Tests/Transport/ConnectionTest.php @@ -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); diff --git a/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php index 0e5bdfb935..d34f8db5d8 100644 --- a/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php @@ -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'] ?? '', '/'));