diff --git a/pkg/enqueue/Symfony/DependencyInjection/TransportFactory.php b/pkg/enqueue/Symfony/DependencyInjection/TransportFactory.php index 54dba4bf7..944b1a30d 100644 --- a/pkg/enqueue/Symfony/DependencyInjection/TransportFactory.php +++ b/pkg/enqueue/Symfony/DependencyInjection/TransportFactory.php @@ -132,15 +132,15 @@ public function buildConnectionFactory(ContainerBuilder $container, array $confi $container->register($factoryFactoryId, $config['factory_class'] ?? ConnectionFactoryFactory::class); $factoryFactoryService = new Reference( - array_key_exists('factory_service', $config) ? $config['factory_service'] : $factoryFactoryId + $config['factory_service'] ?? $factoryFactoryId ); unset($config['factory_service'], $config['factory_class']); - if (array_key_exists('connection_factory_class', $config)) { - $connectionFactoryClass = $config['connection_factory_class']; - unset($config['connection_factory_class']); + $connectionFactoryClass = $config['connection_factory_class'] ?? null; + unset($config['connection_factory_class']); + if (isset($connectionFactoryClass)) { $container->register($factoryId, $connectionFactoryClass) ->addArgument($config) ; diff --git a/pkg/enqueue/Tests/Symfony/DependencyInjection/TransportFactoryTest.php b/pkg/enqueue/Tests/Symfony/DependencyInjection/TransportFactoryTest.php index 68868716b..c5ff1c818 100644 --- a/pkg/enqueue/Tests/Symfony/DependencyInjection/TransportFactoryTest.php +++ b/pkg/enqueue/Tests/Symfony/DependencyInjection/TransportFactoryTest.php @@ -259,7 +259,14 @@ public function testShouldBuildConnectionFactoryFromDSN() $transport = new TransportFactory('default'); - $transport->buildConnectionFactory($container, ['dsn' => 'foo://bar/baz']); + $config = [ + 'dsn' => 'foo://bar/baz', + 'connection_factory_class' => null, + 'factory_service' => null, + 'factory_class' => null, + ]; + + $transport->buildConnectionFactory($container, $config); $this->assertTrue($container->hasDefinition('enqueue.transport.default.connection_factory'));