Skip to content

Commit 615a2c3

Browse files
committed
Merge branch 'master' of github.com:php-enqueue/enqueue-dev
2 parents 98b3b42 + ed7ca85 commit 615a2c3

File tree

7 files changed

+89
-15
lines changed

7 files changed

+89
-15
lines changed

pkg/enqueue-bundle/DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public function getConfigTreeBuilder()
5353
->arrayNode('extensions')->addDefaultsIfNotSet()->children()
5454
->booleanNode('doctrine_ping_connection_extension')->defaultFalse()->end()
5555
->booleanNode('doctrine_clear_identity_map_extension')->defaultFalse()->end()
56+
->booleanNode('signal_extension')->defaultValue(function_exists('pcntl_signal_dispatch'))->end()
5657
->end()->end()
5758
;
5859

pkg/enqueue-bundle/DependencyInjection/EnqueueExtension.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22
namespace Enqueue\Bundle\DependencyInjection;
33

4-
use Enqueue\JobQueue\Job;
54
use Enqueue\Client\TraceableMessageProducer;
5+
use Enqueue\JobQueue\Job;
66
use Enqueue\Symfony\TransportFactoryInterface;
77
use Symfony\Component\Config\FileLocator;
88
use Symfony\Component\Config\Resource\FileResource;
@@ -111,6 +111,10 @@ public function load(array $configs, ContainerBuilder $container)
111111
if ($config['extensions']['doctrine_clear_identity_map_extension']) {
112112
$loader->load('extensions/doctrine_clear_identity_map_extension.yml');
113113
}
114+
115+
if ($config['extensions']['signal_extension']) {
116+
$loader->load('extensions/signal_extension.yml');
117+
}
114118
}
115119

116120
/**
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
services:
2+
enqueue.consumption.signal_extension:
3+
class: 'Enqueue\Consumption\Extension\SignalExtension'
4+
public: false
5+
tags:
6+
- { name: 'enqueue.consumption.extension' }

pkg/enqueue-bundle/Resources/config/services.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@ services:
55
arguments:
66
- []
77

8-
enqueue.consumption.signal_extension:
9-
class: 'Enqueue\Consumption\Extension\SignalExtension'
10-
public: false
11-
tags:
12-
- { name: 'enqueue.consumption.extension' }
13-
148
enqueue.consumption.queue_consumer:
159
class: 'Enqueue\Consumption\QueueConsumer'
1610
arguments:

pkg/enqueue-bundle/Tests/Unit/DependencyInjection/ConfigurationTest.php

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?php
22
namespace Enqueue\Bundle\Tests\Unit\DependencyInjection;
33

4+
use Enqueue\Bundle\DependencyInjection\Configuration;
5+
use Enqueue\Bundle\Tests\Unit\Mocks\FooTransportFactory;
46
use Enqueue\Symfony\DefaultTransportFactory;
57
use Enqueue\Symfony\NullTransportFactory;
68
use Enqueue\Test\ClassExtensionTrait;
7-
use Enqueue\Bundle\DependencyInjection\Configuration;
8-
use Enqueue\Bundle\Tests\Unit\Mocks\FooTransportFactory;
99
use Symfony\Component\Config\Definition\ConfigurationInterface;
1010
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
1111
use Symfony\Component\Config\Definition\Processor;
@@ -312,4 +312,39 @@ public function testDoctrineClearIdentityMapExtensionCouldBeEnabled()
312312
],
313313
], $config);
314314
}
315+
316+
public function testSignalExtensionShouldBeEnabledByDefault()
317+
{
318+
$configuration = new Configuration([]);
319+
320+
$processor = new Processor();
321+
$config = $processor->processConfiguration($configuration, [[
322+
'transport' => [],
323+
]]);
324+
325+
$this->assertArraySubset([
326+
'extensions' => [
327+
'signal_extension' => true,
328+
],
329+
], $config);
330+
}
331+
332+
public function testSignalExtensionCouldBeDisabled()
333+
{
334+
$configuration = new Configuration([]);
335+
336+
$processor = new Processor();
337+
$config = $processor->processConfiguration($configuration, [[
338+
'transport' => [],
339+
'extensions' => [
340+
'signal_extension' => false,
341+
],
342+
]]);
343+
344+
$this->assertArraySubset([
345+
'extensions' => [
346+
'signal_extension' => false,
347+
],
348+
], $config);
349+
}
315350
}
Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<?php
22
namespace Enqueue\Bundle\Tests\Unit\DependencyInjection;
33

4+
use Enqueue\Bundle\DependencyInjection\Configuration;
5+
use Enqueue\Bundle\DependencyInjection\EnqueueExtension;
6+
use Enqueue\Bundle\Tests\Unit\Mocks\FooTransportFactory;
47
use Enqueue\Client\MessageProducer;
58
use Enqueue\Client\TraceableMessageProducer;
69
use Enqueue\Symfony\DefaultTransportFactory;
710
use Enqueue\Symfony\NullTransportFactory;
811
use Enqueue\Test\ClassExtensionTrait;
912
use Enqueue\Transport\Null\NullContext;
10-
use Enqueue\Bundle\DependencyInjection\Configuration;
11-
use Enqueue\Bundle\DependencyInjection\EnqueueExtension;
12-
use Enqueue\Bundle\Tests\Unit\Mocks\FooTransportFactory;
1313
use Symfony\Component\DependencyInjection\ContainerBuilder;
1414
use Symfony\Component\DependencyInjection\Reference;
1515
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
@@ -398,4 +398,38 @@ public function testShouldNotLoadDoctrineClearIdentityMapExtensionServiceIfDisab
398398

399399
self::assertFalse($container->hasDefinition('enqueue.consumption.doctrine_clear_identity_map_extension'));
400400
}
401+
402+
public function testShouldLoadSignalExtensionServiceIfEnabled()
403+
{
404+
$container = new ContainerBuilder();
405+
$container->setParameter('kernel.debug', true);
406+
407+
$extension = new EnqueueExtension();
408+
409+
$extension->load([[
410+
'transport' => [],
411+
'extensions' => [
412+
'signal_extension' => true,
413+
],
414+
]], $container);
415+
416+
self::assertTrue($container->hasDefinition('enqueue.consumption.signal_extension'));
417+
}
418+
419+
public function testShouldNotLoadSignalExtensionServiceIfDisabled()
420+
{
421+
$container = new ContainerBuilder();
422+
$container->setParameter('kernel.debug', true);
423+
424+
$extension = new EnqueueExtension();
425+
426+
$extension->load([[
427+
'transport' => [],
428+
'extensions' => [
429+
'signal_extension' => false,
430+
],
431+
]], $container);
432+
433+
self::assertFalse($container->hasDefinition('enqueue.consumption.signal_extension'));
434+
}
401435
}

pkg/enqueue-bundle/Tests/Unit/FormaproMessageQueueBundleTest.php renamed to pkg/enqueue-bundle/Tests/Unit/EnqueueBundleTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33

44
use Enqueue\AmqpExt\Symfony\AmqpTransportFactory;
55
use Enqueue\AmqpExt\Symfony\RabbitMqTransportFactory;
6-
use Enqueue\Symfony\DefaultTransportFactory;
7-
use Enqueue\Symfony\NullTransportFactory;
8-
use Enqueue\Test\ClassExtensionTrait;
96
use Enqueue\Bundle\DependencyInjection\Compiler\BuildClientRoutingPass;
107
use Enqueue\Bundle\DependencyInjection\Compiler\BuildExtensionsPass;
118
use Enqueue\Bundle\DependencyInjection\Compiler\BuildMessageProcessorRegistryPass;
@@ -15,6 +12,9 @@
1512
use Enqueue\Bundle\EnqueueBundle;
1613
use Enqueue\Stomp\Symfony\RabbitMqStompTransportFactory;
1714
use Enqueue\Stomp\Symfony\StompTransportFactory;
15+
use Enqueue\Symfony\DefaultTransportFactory;
16+
use Enqueue\Symfony\NullTransportFactory;
17+
use Enqueue\Test\ClassExtensionTrait;
1818
use Symfony\Component\DependencyInjection\ContainerBuilder;
1919
use Symfony\Component\HttpKernel\Bundle\Bundle;
2020

0 commit comments

Comments
 (0)