diff --git a/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/ConnectionTest.php b/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/ConnectionTest.php index 1c2cc479f526..128ff60a0d00 100644 --- a/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/ConnectionTest.php +++ b/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/ConnectionTest.php @@ -124,6 +124,21 @@ public function testFromDsnWithQueryOptions() ); } + public function testFromDsnWithQueueNameOption() + { + $httpClient = $this->getMockBuilder(HttpClientInterface::class)->getMock(); + + $this->assertEquals( + new Connection(['queue_name' => 'queue'], new SqsClient(['region' => 'eu-west-1', 'accessKeyId' => null, 'accessKeySecret' => null], null, $httpClient)), + Connection::fromDsn('sqs://default', ['queue_name' => 'queue'], $httpClient) + ); + + $this->assertEquals( + new Connection(['queue_name' => 'queue'], new SqsClient(['region' => 'eu-west-1', 'accessKeyId' => null, 'accessKeySecret' => null], null, $httpClient)), + Connection::fromDsn('sqs://default/queue', ['queue_name' => 'queue_ignored'], $httpClient) + ); + } + public function testKeepGettingPendingMessages() { $client = $this->createMock(SqsClient::class); diff --git a/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php index ce1b3413edbd..ba7d2f98b9a4 100644 --- a/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php @@ -101,6 +101,7 @@ public static function fromDsn(string $dsn, array $options = [], HttpClientInter 'poll_timeout' => $options['poll_timeout'], 'visibility_timeout' => $options['visibility_timeout'], 'auto_setup' => (bool) $options['auto_setup'], + 'queue_name' => (string) $options['queue_name'], ]; $clientConfiguration = [ @@ -119,8 +120,8 @@ public static function fromDsn(string $dsn, array $options = [], HttpClientInter } $parsedPath = explode('/', ltrim($parsedUrl['path'] ?? '/', '/')); - if (\count($parsedPath) > 0) { - $configuration['queue_name'] = end($parsedPath); + if (\count($parsedPath) > 0 && !empty($queueName = end($parsedPath))) { + $configuration['queue_name'] = $queueName; } $configuration['account'] = 2 === \count($parsedPath) ? $parsedPath[0] : null; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy