fix redis messenger options with dsn

This commit is contained in:
Bastien Picharles 2021-01-25 16:32:43 +01:00 committed by Nicolas Grekas
parent d244e796b6
commit a0e7bf4c0d
2 changed files with 15 additions and 1 deletions

View File

@ -85,6 +85,19 @@ class ConnectionTest extends TestCase
);
}
public function testFromDsnWithMixDsnQueryOptions()
{
$this->assertEquals(
Connection::fromDsn('redis://localhost/queue/group1?serializer=2', ['consumer' => 'specific-consumer']),
Connection::fromDsn('redis://localhost/queue/group1/specific-consumer?serializer=2')
);
$this->assertEquals(
Connection::fromDsn('redis://localhost/queue/group1/consumer1', ['consumer' => 'specific-consumer']),
Connection::fromDsn('redis://localhost/queue/group1/consumer1')
);
}
public function testKeepGettingPendingMessages()
{
$redis = $this->getMockBuilder(\Redis::class)->disableOriginalConstructor()->getMock();

View File

@ -101,7 +101,8 @@ class Connection
];
if (isset($parsedUrl['query'])) {
parse_str($parsedUrl['query'], $redisOptions);
parse_str($parsedUrl['query'], $dsnOptions);
$redisOptions = array_merge($redisOptions, $dsnOptions);
}
$autoSetup = null;