From ab78d6471cab11fd67f8d6d4d138a2de299a91b6 Mon Sep 17 00:00:00 2001 From: Maksim Kotlyar Date: Wed, 7 Feb 2018 09:18:58 +0200 Subject: [PATCH 1/2] [bundle] DefaultTransportFactory should accept DSN like foo: --- .../Symfony/DefaultTransportFactoryTest.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkg/enqueue/Tests/Symfony/DefaultTransportFactoryTest.php b/pkg/enqueue/Tests/Symfony/DefaultTransportFactoryTest.php index 7f84d6d04..9a013fdb9 100644 --- a/pkg/enqueue/Tests/Symfony/DefaultTransportFactoryTest.php +++ b/pkg/enqueue/Tests/Symfony/DefaultTransportFactoryTest.php @@ -72,6 +72,24 @@ public function testShouldAllowAddConfigurationAsDsn() $this->assertEquals(['dsn' => 'dsn://'], $config); } + /** + * @see https://github.com/php-enqueue/enqueue-dev/issues/356 + * + * @group bug + */ + public function testShouldAllowAddConfigurationAsDsnWithoutSlashes() + { + $transport = new DefaultTransportFactory(); + $tb = new TreeBuilder(); + $rootNode = $tb->root('foo'); + + $transport->addConfiguration($rootNode); + $processor = new Processor(); + $config = $processor->process($tb->buildTree(), ['dsn:']); + + $this->assertEquals(['dsn' => 'dsn:'], $config); + } + public function testShouldSetNullTransportByDefault() { $transport = new DefaultTransportFactory(); From 75104e07418af1e2e738e22411b8cc2c6b2c6665 Mon Sep 17 00:00:00 2001 From: Maksim Kotlyar Date: Wed, 7 Feb 2018 09:24:17 +0200 Subject: [PATCH 2/2] [bundle] fix dsn --- pkg/enqueue/Symfony/DefaultTransportFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/enqueue/Symfony/DefaultTransportFactory.php b/pkg/enqueue/Symfony/DefaultTransportFactory.php index 97734b83a..20fa1c91a 100644 --- a/pkg/enqueue/Symfony/DefaultTransportFactory.php +++ b/pkg/enqueue/Symfony/DefaultTransportFactory.php @@ -58,7 +58,7 @@ public function addConfiguration(ArrayNodeDefinition $builder) } if (is_string($v)) { - return false !== strpos($v, '://') || false !== strpos($v, 'env_') ? + return false !== strpos($v, ':') || false !== strpos($v, 'env_') ? ['dsn' => $v] : ['alias' => $v]; }