Skip to content

Commit f331ba8

Browse files
authored
Merge pull request #54 from php-enqueue/dbal-transport
DBAL Transport
2 parents aac3b91 + 21238e6 commit f331ba8

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

EnqueueBundle.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
use Enqueue\Bundle\DependencyInjection\Compiler\BuildQueueMetaRegistryPass;
1212
use Enqueue\Bundle\DependencyInjection\Compiler\BuildTopicMetaSubscribersPass;
1313
use Enqueue\Bundle\DependencyInjection\EnqueueExtension;
14+
use Enqueue\Dbal\DbalContext;
15+
use Enqueue\Dbal\Symfony\DbalTransportFactory;
1416
use Enqueue\Fs\FsContext;
1517
use Enqueue\Fs\Symfony\FsTransportFactory;
1618
use Enqueue\Redis\RedisContext;
@@ -58,5 +60,9 @@ public function build(ContainerBuilder $container)
5860
if (class_exists(RedisContext::class)) {
5961
$extension->addTransportFactory(new RedisTransportFactory());
6062
}
63+
64+
if (class_exists(DbalContext::class)) {
65+
$extension->addTransportFactory(new DbalTransportFactory());
66+
}
6167
}
6268
}

Tests/Functional/UseCasesTest.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,20 @@ public function provideEnqueueConfigs()
7272
'store_dir' => sys_get_temp_dir(),
7373
]
7474
]
75-
]]
75+
]],
76+
['dbal' => [
77+
'transport' => [
78+
'default' => 'dbal',
79+
'dbal' => [
80+
'dbname' => getenv('SYMFONY__DB__NAME'),
81+
'user' => getenv('SYMFONY__DB__USER'),
82+
'password' => getenv('SYMFONY__DB__PASSWORD'),
83+
'host' => getenv('SYMFONY__DB__HOST'),
84+
'port' => getenv('SYMFONY__DB__PORT'),
85+
'driver' => getenv('SYMFONY__DB__DRIVER'),
86+
]
87+
]
88+
]],
7689
];
7790
}
7891

Tests/Unit/EnqueueBundleTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Enqueue\Bundle\DependencyInjection\Compiler\BuildTopicMetaSubscribersPass;
1212
use Enqueue\Bundle\DependencyInjection\EnqueueExtension;
1313
use Enqueue\Bundle\EnqueueBundle;
14+
use Enqueue\Dbal\Symfony\DbalTransportFactory;
1415
use Enqueue\Fs\Symfony\FsTransportFactory;
1516
use Enqueue\Redis\Symfony\RedisTransportFactory;
1617
use Enqueue\Stomp\Symfony\RabbitMqStompTransportFactory;
@@ -176,6 +177,23 @@ public function testShouldRegisterRedisTransportFactory()
176177
$bundle->build($container);
177178
}
178179

180+
public function testShouldRegisterDbalTransportFactory()
181+
{
182+
$extensionMock = $this->createEnqueueExtensionMock();
183+
184+
$container = new ContainerBuilder();
185+
$container->registerExtension($extensionMock);
186+
187+
$extensionMock
188+
->expects($this->at(8))
189+
->method('addTransportFactory')
190+
->with($this->isInstanceOf(DbalTransportFactory::class))
191+
;
192+
193+
$bundle = new EnqueueBundle();
194+
$bundle->build($container);
195+
}
196+
179197
/**
180198
* @return \PHPUnit_Framework_MockObject_MockObject|EnqueueExtension
181199
*/

0 commit comments

Comments
 (0)