diff --git a/pkg/enqueue-bundle/DependencyInjection/Compiler/AddTopicMetaPass.php b/pkg/enqueue-bundle/DependencyInjection/Compiler/AddTopicMetaPass.php index ba4269b2d..45becabef 100644 --- a/pkg/enqueue-bundle/DependencyInjection/Compiler/AddTopicMetaPass.php +++ b/pkg/enqueue-bundle/DependencyInjection/Compiler/AddTopicMetaPass.php @@ -2,6 +2,7 @@ namespace Enqueue\Bundle\DependencyInjection\Compiler; +use Enqueue\Client\Meta\TopicMetaRegistry; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -44,7 +45,7 @@ public function add($topicName, $topicDescription = '', array $topicSubscribers */ public function process(ContainerBuilder $container) { - $metaRegistryId = 'enqueue.client.meta.topic_meta_registry'; + $metaRegistryId = TopicMetaRegistry::class; if (false == $container->hasDefinition($metaRegistryId)) { return; diff --git a/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildClientRoutingPass.php b/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildClientRoutingPass.php index 541f1f977..3511a3a96 100644 --- a/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildClientRoutingPass.php +++ b/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildClientRoutingPass.php @@ -3,6 +3,7 @@ namespace Enqueue\Bundle\DependencyInjection\Compiler; use Enqueue\Client\Config; +use Enqueue\Client\RouterProcessor; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -16,7 +17,7 @@ class BuildClientRoutingPass implements CompilerPassInterface public function process(ContainerBuilder $container) { $processorTagName = 'enqueue.client.processor'; - $routerId = 'enqueue.client.router_processor'; + $routerId = RouterProcessor::class; if (false == $container->hasDefinition($routerId)) { return; diff --git a/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildQueueMetaRegistryPass.php b/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildQueueMetaRegistryPass.php index 4cc641f2e..5e82f324d 100644 --- a/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildQueueMetaRegistryPass.php +++ b/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildQueueMetaRegistryPass.php @@ -2,6 +2,7 @@ namespace Enqueue\Bundle\DependencyInjection\Compiler; +use Enqueue\Client\Meta\QueueMetaRegistry; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -15,7 +16,7 @@ class BuildQueueMetaRegistryPass implements CompilerPassInterface public function process(ContainerBuilder $container) { $processorTagName = 'enqueue.client.processor'; - $queueMetaRegistryId = 'enqueue.client.meta.queue_meta_registry'; + $queueMetaRegistryId = QueueMetaRegistry::class; if (false == $container->hasDefinition($queueMetaRegistryId)) { return; } diff --git a/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildTopicMetaSubscribersPass.php b/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildTopicMetaSubscribersPass.php index 4eeadae04..2f5195fa6 100644 --- a/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildTopicMetaSubscribersPass.php +++ b/pkg/enqueue-bundle/DependencyInjection/Compiler/BuildTopicMetaSubscribersPass.php @@ -2,6 +2,7 @@ namespace Enqueue\Bundle\DependencyInjection\Compiler; +use Enqueue\Client\Meta\TopicMetaRegistry; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -16,7 +17,7 @@ public function process(ContainerBuilder $container) { $processorTagName = 'enqueue.client.processor'; - if (false == $container->hasDefinition('enqueue.client.meta.topic_meta_registry')) { + if (false == $container->hasDefinition(TopicMetaRegistry::class)) { return; } diff --git a/pkg/enqueue-bundle/DependencyInjection/Configuration.php b/pkg/enqueue-bundle/DependencyInjection/Configuration.php index 92686d12e..e5a49a34a 100644 --- a/pkg/enqueue-bundle/DependencyInjection/Configuration.php +++ b/pkg/enqueue-bundle/DependencyInjection/Configuration.php @@ -3,6 +3,7 @@ namespace Enqueue\Bundle\DependencyInjection; use Enqueue\Client\Config; +use Enqueue\Client\RouterProcessor; use Enqueue\Symfony\TransportFactoryInterface; use Symfony\Component\Config\Definition\Builder\TreeBuilder; use Symfony\Component\Config\Definition\ConfigurationInterface; @@ -46,7 +47,7 @@ public function getConfigTreeBuilder() ->scalarNode('app_name')->defaultValue('app')->end() ->scalarNode('router_topic')->defaultValue(Config::DEFAULT_PROCESSOR_QUEUE_NAME)->cannotBeEmpty()->end() ->scalarNode('router_queue')->defaultValue(Config::DEFAULT_PROCESSOR_QUEUE_NAME)->cannotBeEmpty()->end() - ->scalarNode('router_processor')->defaultValue('enqueue.client.router_processor')->end() + ->scalarNode('router_processor')->defaultValue(RouterProcessor::class)->end() ->scalarNode('default_processor_queue')->defaultValue(Config::DEFAULT_PROCESSOR_QUEUE_NAME)->cannotBeEmpty()->end() ->integerNode('redelivered_delay_time')->min(0)->defaultValue(0)->end() ->end()->end() diff --git a/pkg/enqueue-bundle/DependencyInjection/EnqueueExtension.php b/pkg/enqueue-bundle/DependencyInjection/EnqueueExtension.php index 7d1221dcd..df6fc4cd5 100644 --- a/pkg/enqueue-bundle/DependencyInjection/EnqueueExtension.php +++ b/pkg/enqueue-bundle/DependencyInjection/EnqueueExtension.php @@ -3,7 +3,9 @@ namespace Enqueue\Bundle\DependencyInjection; use Enqueue\AsyncEventDispatcher\DependencyInjection\AsyncEventDispatcherExtension; +use Enqueue\Client\Producer; use Enqueue\Client\TraceableProducer; +use Enqueue\Consumption\QueueConsumer; use Enqueue\JobQueue\Job; use Enqueue\Null\Symfony\NullTransportFactory; use Enqueue\Symfony\DefaultTransportFactory; @@ -94,10 +96,9 @@ public function load(array $configs, ContainerBuilder $container) $container->setParameter('enqueue.client.default_queue_name', $config['client']['default_processor_queue']); if (false == empty($config['client']['traceable_producer'])) { - $producerId = 'enqueue.client.traceable_producer'; - $container->register($producerId, TraceableProducer::class) - ->setDecoratedService('enqueue.client.producer') - ->addArgument(new Reference('enqueue.client.traceable_producer.inner')) + $container->register(TraceableProducer::class, TraceableProducer::class) + ->setDecoratedService(Producer::class) + ->addArgument(new Reference(sprintf('%s.inner', TraceableProducer::class))) ; } @@ -111,7 +112,7 @@ public function load(array $configs, ContainerBuilder $container) } // configure queue consumer - $container->getDefinition('enqueue.consumption.queue_consumer') + $container->getDefinition(QueueConsumer::class) ->replaceArgument(2, $config['consumption']['idle_timeout']) ->replaceArgument(3, $config['consumption']['receive_timeout']) ; diff --git a/pkg/enqueue-bundle/Resources/config/client.yml b/pkg/enqueue-bundle/Resources/config/client.yml index 8fb6ab607..539abfcc3 100644 --- a/pkg/enqueue-bundle/Resources/config/client.yml +++ b/pkg/enqueue-bundle/Resources/config/client.yml @@ -3,40 +3,51 @@ services: class: 'Enqueue\Client\Config' public: false - enqueue.client.producer: + Enqueue\Client\Producer: class: 'Enqueue\Client\Producer' arguments: - '@enqueue.client.driver' - '@enqueue.client.rpc_factory' - '@enqueue.client.extensions' - enqueue.client.spool_producer: - class: 'Enqueue\Client\SpoolProducer' - arguments: - - '@enqueue.client.producer' - - enqueue.client.extensions: - class: 'Enqueue\Client\ChainExtension' - public: false - arguments: - - [] + # Deprecated. To be removed in 0.10. + enqueue.client.producer: + alias: 'Enqueue\Client\Producer' + # Deprecated. To be removed in 0.10. enqueue.producer: alias: 'enqueue.client.producer' + # Deprecated. To be removed in 0.10. enqueue.client.producer_v2: alias: 'enqueue.client.producer' + Enqueue\Client\SpoolProducer: + class: 'Enqueue\Client\SpoolProducer' + arguments: + - '@Enqueue\Client\Producer' + + # Deprecated. To be removed in 0.10. + enqueue.client.spool_producer: + alias: 'Enqueue\Client\SpoolProducer' + + # Deprecated. To be removed in 0.10. enqueue.spool_producer: alias: 'enqueue.client.spool_producer' + enqueue.client.extensions: + class: 'Enqueue\Client\ChainExtension' + public: false + arguments: + - [] + enqueue.client.rpc_factory: class: 'Enqueue\Rpc\RpcFactory' public: false arguments: - '@enqueue.transport.context' - enqueue.client.router_processor: + Enqueue\Client\RouterProcessor: class: 'Enqueue\Client\RouterProcessor' public: true arguments: @@ -49,22 +60,34 @@ services: topicName: '__router__' queueName: '%enqueue.client.router_queue_name%' + # Deprecated. To be removed in 0.10. + enqueue.client.router_processor: + alias: 'Enqueue\Client\RouterProcessor' + enqueue.client.processor_registry: class: 'Enqueue\Symfony\Client\ContainerAwareProcessorRegistry' public: false calls: - ['setContainer', ['@service_container']] - enqueue.client.meta.topic_meta_registry: + Enqueue\Client\Meta\TopicMetaRegistry: class: 'Enqueue\Client\Meta\TopicMetaRegistry' public: true arguments: [[]] - enqueue.client.meta.queue_meta_registry: + # Deprecated. To be removed in 0.10. + enqueue.client.meta.topic_meta_registry: + alias: 'Enqueue\Client\Meta\TopicMetaRegistry' + + Enqueue\Client\Meta\QueueMetaRegistry: class: 'Enqueue\Client\Meta\QueueMetaRegistry' public: true arguments: ['@enqueue.client.config', []] + # Deprecated. To be removed in 0.10. + enqueue.client.meta.queue_meta_registry: + alias: 'Enqueue\Client\Meta\QueueMetaRegistry' + enqueue.client.delegate_processor: class: 'Enqueue\Client\DelegateProcessor' public: false @@ -88,40 +111,56 @@ services: - ~ - ~ - enqueue.client.consume_messages_command: + Enqueue\Symfony\Client\ConsumeMessagesCommand: class: 'Enqueue\Symfony\Client\ConsumeMessagesCommand' public: true arguments: - '@enqueue.client.queue_consumer' - '@enqueue.client.delegate_processor' - - '@enqueue.client.meta.queue_meta_registry' + - '@Enqueue\Client\Meta\QueueMetaRegistry' - '@enqueue.client.driver' tags: - { name: 'console.command' } - enqueue.client.produce_message_command: + # Deprecated. To be removed in 0.10. + enqueue.client.consume_messages_command: + alias: 'Enqueue\Symfony\Client\ConsumeMessagesCommand' + + Enqueue\Symfony\Client\ProduceMessageCommand: class: 'Enqueue\Symfony\Client\ProduceMessageCommand' public: true arguments: - - '@enqueue.client.producer' + - '@Enqueue\Client\Producer' tags: - { name: 'console.command' } - enqueue.client.meta.topics_command: + # Deprecated. To be removed in 0.10. + enqueue.client.produce_message_command: + alias: 'Enqueue\Symfony\Client\ProduceMessageCommand' + + Enqueue\Symfony\Client\Meta\TopicsCommand: class: 'Enqueue\Symfony\Client\Meta\TopicsCommand' arguments: - - '@enqueue.client.meta.topic_meta_registry' + - '@Enqueue\Client\Meta\TopicMetaRegistry' tags: - { name: 'console.command' } - enqueue.client.meta.queues_command: + # Deprecated. To be removed in 0.10. + enqueue.client.meta.topics_command: + alias: 'Enqueue\Symfony\Client\Meta\TopicsCommand' + + Enqueue\Symfony\Client\Meta\QueuesCommand: class: 'Enqueue\Symfony\Client\Meta\QueuesCommand' arguments: - - '@enqueue.client.meta.queue_meta_registry' + - '@Enqueue\Client\Meta\QueueMetaRegistry' tags: - { name: 'console.command' } - enqueue.client.setup_broker_command: + # Deprecated. To be removed in 0.10. + enqueue.client.meta.queues_command: + alias: 'Enqueue\Symfony\Client\Meta\QueuesCommand' + + Enqueue\Symfony\Client\SetupBrokerCommand: class: 'Enqueue\Symfony\Client\SetupBrokerCommand' public: true arguments: @@ -129,19 +168,25 @@ services: tags: - { name: 'console.command' } + # Deprecated. To be removed in 0.10. + enqueue.client.setup_broker_command: + alias: 'Enqueue\Symfony\Client\SetupBrokerCommand' + enqueue.profiler.message_queue_collector: class: 'Enqueue\Bundle\Profiler\MessageQueueCollector' public: false - arguments: ['@enqueue.client.producer'] + arguments: + - '@Enqueue\Client\Producer' tags: - - - name: 'data_collector' - template: '@Enqueue/Profiler/panel.html.twig' - id: 'enqueue.message_queue' + - { name: 'data_collector', template: '@Enqueue/Profiler/panel.html.twig', id: 'enqueue.message_queue' } - enqueue.flush_spool_producer_listener: + Enqueue\Symfony\Client\FlushSpoolProducerListener: class: 'Enqueue\Symfony\Client\FlushSpoolProducerListener' arguments: - - '@enqueue.client.spool_producer' + - '@Enqueue\Client\SpoolProducer' tags: - { name: 'kernel.event_subscriber' } + + # Deprecated. To be removed in 0.10. + enqueue.flush_spool_producer_listener: + alias: 'Enqueue\Symfony\Client\FlushSpoolProducerListener' diff --git a/pkg/enqueue-bundle/Resources/config/extensions/flush_spool_producer_extension.yml b/pkg/enqueue-bundle/Resources/config/extensions/flush_spool_producer_extension.yml index b665cf66d..80bd3d455 100644 --- a/pkg/enqueue-bundle/Resources/config/extensions/flush_spool_producer_extension.yml +++ b/pkg/enqueue-bundle/Resources/config/extensions/flush_spool_producer_extension.yml @@ -3,6 +3,6 @@ services: class: 'Enqueue\Client\ConsumptionExtension\FlushSpoolProducerExtension' public: false arguments: - - '@enqueue.client.spool_producer' + - '@Enqueue\Client\SpoolProducer' tags: - { name: 'enqueue.consumption.extension', priority: -100 } \ No newline at end of file diff --git a/pkg/enqueue-bundle/Resources/config/job.yml b/pkg/enqueue-bundle/Resources/config/job.yml index 8a0f5f5a1..d8db70793 100644 --- a/pkg/enqueue-bundle/Resources/config/job.yml +++ b/pkg/enqueue-bundle/Resources/config/job.yml @@ -2,49 +2,77 @@ parameters: enqueue.job.unique_job_table_name: 'enqueue_job_unique' services: - enqueue.job.storage: + Enqueue\JobQueue\Doctrine\JobStorage: class: 'Enqueue\JobQueue\Doctrine\JobStorage' arguments: - '@doctrine' - 'Enqueue\JobQueue\Doctrine\Entity\Job' - '%enqueue.job.unique_job_table_name%' - enqueue.job.processor: + # Deprecated. To be removed in 0.10. + enqueue.job.storage: + alias: 'Enqueue\JobQueue\Doctrine\JobStorage' + + Enqueue\JobQueue\JobProcessor: class: 'Enqueue\JobQueue\JobProcessor' arguments: - - '@enqueue.job.storage' - - '@enqueue.client.producer' + - '@Enqueue\JobQueue\Doctrine\JobStorage' + - '@Enqueue\Client\Producer' - enqueue.job.runner: + # Deprecated. To be removed in 0.10. + enqueue.job.processor: + alias: 'Enqueue\JobQueue\JobProcessor' + + Enqueue\JobQueue\JobRunner: class: 'Enqueue\JobQueue\JobRunner' arguments: - - '@enqueue.job.processor' + - '@Enqueue\JobQueue\JobProcessor' - enqueue.job.calculate_root_job_status_service: + # Deprecated. To be removed in 0.10. + enqueue.job.runner: + alias: 'Enqueue\JobQueue\JobRunner' + + Enqueue\JobQueue\CalculateRootJobStatusService: class: 'Enqueue\JobQueue\CalculateRootJobStatusService' arguments: - - '@enqueue.job.storage' + - '@Enqueue\JobQueue\Doctrine\JobStorage' - enqueue.job.calculate_root_job_status_processor: + # Deprecated. To be removed in 0.10. + enqueue.job.calculate_root_job_status_service: + alias: 'Enqueue\JobQueue\CalculateRootJobStatusService' + + Enqueue\JobQueue\CalculateRootJobStatusProcessor: class: 'Enqueue\JobQueue\CalculateRootJobStatusProcessor' arguments: - - '@enqueue.job.storage' - - '@enqueue.job.calculate_root_job_status_service' - - '@enqueue.client.producer' + - '@Enqueue\JobQueue\Doctrine\JobStorage' + - '@Enqueue\JobQueue\CalculateRootJobStatusService' + - '@Enqueue\Client\Producer' - '@logger' tags: - { name: 'enqueue.client.processor' } - enqueue.job.dependent_job_processor: + # Deprecated. To be removed in 0.10. + enqueue.job.calculate_root_job_status_processor: + alias: 'Enqueue\JobQueue\CalculateRootJobStatusProcessor' + + Enqueue\JobQueue\DependentJobProcessor: class: 'Enqueue\JobQueue\DependentJobProcessor' arguments: - - '@enqueue.job.storage' - - '@enqueue.client.producer' + - '@Enqueue\JobQueue\Doctrine\JobStorage' + - '@Enqueue\Client\Producer' - '@logger' tags: - { name: 'enqueue.client.processor' } - enqueue.job.dependent_job_service: + # Deprecated. To be removed in 0.10. + enqueue.job.dependent_job_processor: + alias: 'Enqueue\JobQueue\DependentJobProcessor' + + Enqueue\JobQueue\DependentJobService: class: 'Enqueue\JobQueue\DependentJobService' arguments: - - '@enqueue.job.storage' + - '@Enqueue\JobQueue\Doctrine\JobStorage' + + # Deprecated. To be removed in 0.10. + enqueue.job.dependent_job_service: + alias: 'Enqueue\JobQueue\DependentJobService' diff --git a/pkg/enqueue-bundle/Resources/config/services.yml b/pkg/enqueue-bundle/Resources/config/services.yml index 1d13655d7..21a58dfdc 100644 --- a/pkg/enqueue-bundle/Resources/config/services.yml +++ b/pkg/enqueue-bundle/Resources/config/services.yml @@ -5,7 +5,7 @@ services: arguments: - [] - enqueue.consumption.queue_consumer: + Enqueue\Consumption\QueueConsumer: class: 'Enqueue\Consumption\QueueConsumer' arguments: - '@enqueue.transport.context' @@ -13,21 +13,33 @@ services: - ~ - ~ - enqueue.command.consume_messages: + # Deprecated. To be removed in 0.10. + enqueue.consumption.queue_consumer: + alias: 'Enqueue\Consumption\QueueConsumer' + + Enqueue\Symfony\Consumption\ContainerAwareConsumeMessagesCommand: class: 'Enqueue\Symfony\Consumption\ContainerAwareConsumeMessagesCommand' arguments: - - '@enqueue.consumption.queue_consumer' + - '@Enqueue\Consumption\QueueConsumer' tags: - { name: 'console.command' } + # Deprecated. To be removed in 0.10. + enqueue.command.consume_messages: + alias: 'Enqueue\Symfony\Consumption\ContainerAwareConsumeMessagesCommand' + enqueue.transport.rpc_factory: class: 'Enqueue\Rpc\RpcFactory' public: false arguments: - '@enqueue.transport.context' - enqueue.transport.rpc_client: + Enqueue\Rpc\RpcClient: class: 'Enqueue\Rpc\RpcClient' arguments: - '@enqueue.transport.context' - '@enqueue.transport.rpc_factory' + + # Deprecated. To be removed in 0.10. + enqueue.transport.rpc_client: + alias: 'Enqueue\Rpc\RpcClient' diff --git a/pkg/enqueue-bundle/Tests/Functional/App/config/config.yml b/pkg/enqueue-bundle/Tests/Functional/App/config/config.yml index d21a6ec34..d5f2dc07f 100644 --- a/pkg/enqueue-bundle/Tests/Functional/App/config/config.yml +++ b/pkg/enqueue-bundle/Tests/Functional/App/config/config.yml @@ -73,4 +73,4 @@ services: # overwrite async listener with one based on client producer. so we can use traceable producer. enqueue.events.async_listener: class: 'Enqueue\Bundle\Tests\Functional\App\AsyncListener' - arguments: ['@enqueue.client.producer', '@enqueue.events.registry'] \ No newline at end of file + arguments: ['@Enqueue\Client\Producer', '@enqueue.events.registry'] \ No newline at end of file diff --git a/pkg/enqueue-bundle/Tests/Functional/Client/ConsumeMessagesCommandTest.php b/pkg/enqueue-bundle/Tests/Functional/Client/ConsumeMessagesCommandTest.php index 8cad85ec6..7dc45a4a6 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Client/ConsumeMessagesCommandTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Client/ConsumeMessagesCommandTest.php @@ -12,7 +12,7 @@ class ConsumeMessagesCommandTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $command = $this->container->get('enqueue.client.consume_messages_command'); + $command = $this->container->get(ConsumeMessagesCommand::class); $this->assertInstanceOf(ConsumeMessagesCommand::class, $command); } diff --git a/pkg/enqueue-bundle/Tests/Functional/Client/ProduceMessageCommandTest.php b/pkg/enqueue-bundle/Tests/Functional/Client/ProduceMessageCommandTest.php index b003805cf..d8ae433c8 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Client/ProduceMessageCommandTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Client/ProduceMessageCommandTest.php @@ -12,7 +12,7 @@ class ProduceMessageCommandTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $command = $this->container->get('enqueue.client.produce_message_command'); + $command = $this->container->get(ProduceMessageCommand::class); $this->assertInstanceOf(ProduceMessageCommand::class, $command); } diff --git a/pkg/enqueue-bundle/Tests/Functional/Client/ProducerTest.php b/pkg/enqueue-bundle/Tests/Functional/Client/ProducerTest.php index 283784166..1494c6930 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Client/ProducerTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Client/ProducerTest.php @@ -5,7 +5,9 @@ use Enqueue\Bundle\Tests\Functional\WebTestCase; use Enqueue\Client\Config; use Enqueue\Client\Message; +use Enqueue\Client\Producer; use Enqueue\Client\ProducerInterface; +use Enqueue\Client\RouterProcessor; use Enqueue\Client\TraceableProducer; use Enqueue\Rpc\Promise; @@ -18,26 +20,26 @@ public function setUp() { parent::setUp(); - $this->container->get('enqueue.client.producer')->clearTraces(); + $this->container->get(Producer::class)->clearTraces(); } public function tearDown() { parent::tearDown(); - $this->container->get('enqueue.client.producer')->clearTraces(); + $this->container->get(Producer::class)->clearTraces(); } public function testCouldBeGetFromContainerAsService() { - $messageProducer = $this->container->get('enqueue.client.producer'); + $messageProducer = $this->container->get(Producer::class); $this->assertInstanceOf(ProducerInterface::class, $messageProducer); } public function testCouldBeGetFromContainerAsShortenAlias() { - $messageProducer = $this->container->get('enqueue.client.producer'); + $messageProducer = $this->container->get(Producer::class); $aliasMessageProducer = $this->container->get('enqueue.producer'); $this->assertSame($messageProducer, $aliasMessageProducer); @@ -46,7 +48,7 @@ public function testCouldBeGetFromContainerAsShortenAlias() public function testShouldSendEvent() { /** @var ProducerInterface $producer */ - $producer = $this->container->get('enqueue.client.producer'); + $producer = $this->container->get(Producer::class); $producer->sendEvent('theTopic', 'theMessage'); @@ -59,7 +61,7 @@ public function testShouldSendEvent() public function testShouldSendCommandWithoutNeedForReply() { /** @var ProducerInterface $producer */ - $producer = $this->container->get('enqueue.client.producer'); + $producer = $this->container->get(Producer::class); $result = $producer->sendCommand('theCommand', 'theMessage', false); @@ -74,7 +76,7 @@ public function testShouldSendCommandWithoutNeedForReply() public function testShouldSendMessageInstanceAsCommandWithoutNeedForReply() { /** @var ProducerInterface $producer */ - $producer = $this->container->get('enqueue.client.producer'); + $producer = $this->container->get(Producer::class); $message = new Message('theMessage'); @@ -88,7 +90,7 @@ public function testShouldSendMessageInstanceAsCommandWithoutNeedForReply() $this->assertEquals('theMessage', $traces[0]['body']); $this->assertEquals([ 'enqueue.topic_name' => Config::COMMAND_TOPIC, - 'enqueue.processor_name' => 'enqueue.client.router_processor', + 'enqueue.processor_name' => RouterProcessor::class, 'enqueue.command_name' => 'theCommand', 'enqueue.processor_queue_name' => 'default', ], $traces[0]['properties']); @@ -97,7 +99,7 @@ public function testShouldSendMessageInstanceAsCommandWithoutNeedForReply() public function testShouldSendExclusiveCommandWithNeedForReply() { /** @var ProducerInterface $producer */ - $producer = $this->container->get('enqueue.client.producer'); + $producer = $this->container->get(Producer::class); $message = new Message('theMessage'); @@ -120,7 +122,7 @@ public function testShouldSendExclusiveCommandWithNeedForReply() public function testShouldSendMessageInstanceCommandWithNeedForReply() { /** @var ProducerInterface $producer */ - $producer = $this->container->get('enqueue.client.producer'); + $producer = $this->container->get(Producer::class); $message = new Message('theMessage'); @@ -134,7 +136,7 @@ public function testShouldSendMessageInstanceCommandWithNeedForReply() $this->assertEquals('theMessage', $traces[0]['body']); $this->assertEquals([ 'enqueue.topic_name' => Config::COMMAND_TOPIC, - 'enqueue.processor_name' => 'enqueue.client.router_processor', + 'enqueue.processor_name' => RouterProcessor::class, 'enqueue.command_name' => 'theCommand', 'enqueue.processor_queue_name' => 'default', ], $traces[0]['properties']); @@ -145,6 +147,6 @@ public function testShouldSendMessageInstanceCommandWithNeedForReply() */ private function getTraceableProducer() { - return $this->container->get('enqueue.client.producer'); + return $this->container->get(Producer::class); } } diff --git a/pkg/enqueue-bundle/Tests/Functional/Client/SpoolProducerTest.php b/pkg/enqueue-bundle/Tests/Functional/Client/SpoolProducerTest.php index ee09fa75e..1ed461997 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Client/SpoolProducerTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Client/SpoolProducerTest.php @@ -12,11 +12,14 @@ class SpoolProducerTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $producer = $this->container->get('enqueue.client.spool_producer'); + $producer = $this->container->get(SpoolProducer::class); $this->assertInstanceOf(SpoolProducer::class, $producer); } + /** + * @group legacy + */ public function testCouldBeGetFromContainerAsShortenAlias() { $producer = $this->container->get('enqueue.client.spool_producer'); diff --git a/pkg/enqueue-bundle/Tests/Functional/ConsumeMessagesCommandTest.php b/pkg/enqueue-bundle/Tests/Functional/ConsumeMessagesCommandTest.php index 434d17199..e372d960d 100644 --- a/pkg/enqueue-bundle/Tests/Functional/ConsumeMessagesCommandTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/ConsumeMessagesCommandTest.php @@ -11,7 +11,7 @@ class ConsumeMessagesCommandTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $command = $this->container->get('enqueue.client.consume_messages_command'); + $command = $this->container->get(ConsumeMessagesCommand::class); $this->assertInstanceOf(ConsumeMessagesCommand::class, $command); } diff --git a/pkg/enqueue-bundle/Tests/Functional/Job/CalculateRootJobStatusProcessorTest.php b/pkg/enqueue-bundle/Tests/Functional/Job/CalculateRootJobStatusProcessorTest.php index cd8d92435..fdc3471b8 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Job/CalculateRootJobStatusProcessorTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Job/CalculateRootJobStatusProcessorTest.php @@ -12,7 +12,7 @@ class CalculateRootJobStatusProcessorTest extends WebTestCase { public function testCouldBeConstructedByContainer() { - $instance = $this->container->get('enqueue.job.calculate_root_job_status_processor'); + $instance = $this->container->get(CalculateRootJobStatusProcessor::class); $this->assertInstanceOf(CalculateRootJobStatusProcessor::class, $instance); } diff --git a/pkg/enqueue-bundle/Tests/Functional/Job/DependentJobServiceTest.php b/pkg/enqueue-bundle/Tests/Functional/Job/DependentJobServiceTest.php index ca0fdccd4..00974bb88 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Job/DependentJobServiceTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Job/DependentJobServiceTest.php @@ -12,7 +12,7 @@ class DependentJobServiceTest extends WebTestCase { public function testCouldBeConstructedByContainer() { - $instance = $this->container->get('enqueue.job.dependent_job_service'); + $instance = $this->container->get(DependentJobService::class); $this->assertInstanceOf(DependentJobService::class, $instance); } diff --git a/pkg/enqueue-bundle/Tests/Functional/Job/JobRunnerTest.php b/pkg/enqueue-bundle/Tests/Functional/Job/JobRunnerTest.php index e63fc4f20..6e1320b8c 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Job/JobRunnerTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Job/JobRunnerTest.php @@ -12,7 +12,7 @@ class JobRunnerTest extends WebTestCase { public function testCouldBeConstructedByContainer() { - $instance = $this->container->get('enqueue.job.runner'); + $instance = $this->container->get(JobRunner::class); $this->assertInstanceOf(JobRunner::class, $instance); } diff --git a/pkg/enqueue-bundle/Tests/Functional/Job/JobStorageTest.php b/pkg/enqueue-bundle/Tests/Functional/Job/JobStorageTest.php index 9bfd0ca38..e34d9dab4 100644 --- a/pkg/enqueue-bundle/Tests/Functional/Job/JobStorageTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/Job/JobStorageTest.php @@ -12,7 +12,7 @@ class JobStorageTest extends WebTestCase { public function testCouldGetJobStorageAsServiceFromContainer() { - $instance = $this->container->get('enqueue.job.storage'); + $instance = $this->container->get(JobStorage::class); $this->assertInstanceOf(JobStorage::class, $instance); } diff --git a/pkg/enqueue-bundle/Tests/Functional/QueueConsumerTest.php b/pkg/enqueue-bundle/Tests/Functional/QueueConsumerTest.php index 8ad6c46ac..415fd9842 100644 --- a/pkg/enqueue-bundle/Tests/Functional/QueueConsumerTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/QueueConsumerTest.php @@ -11,7 +11,7 @@ class QueueConsumerTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $queueConsumer = $this->container->get('enqueue.consumption.queue_consumer'); + $queueConsumer = $this->container->get(QueueConsumer::class); $this->assertInstanceOf(QueueConsumer::class, $queueConsumer); } diff --git a/pkg/enqueue-bundle/Tests/Functional/QueueRegistryTest.php b/pkg/enqueue-bundle/Tests/Functional/QueueRegistryTest.php index fdd35549c..5db4f3105 100644 --- a/pkg/enqueue-bundle/Tests/Functional/QueueRegistryTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/QueueRegistryTest.php @@ -11,7 +11,7 @@ class QueueRegistryTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $connection = $this->container->get('enqueue.client.meta.queue_meta_registry'); + $connection = $this->container->get(QueueMetaRegistry::class); $this->assertInstanceOf(QueueMetaRegistry::class, $connection); } diff --git a/pkg/enqueue-bundle/Tests/Functional/QueuesCommandTest.php b/pkg/enqueue-bundle/Tests/Functional/QueuesCommandTest.php index cff1db1aa..b4fce6140 100644 --- a/pkg/enqueue-bundle/Tests/Functional/QueuesCommandTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/QueuesCommandTest.php @@ -2,8 +2,10 @@ namespace Enqueue\Bundle\Tests\Functional; +use Enqueue\Client\RouterProcessor; use Enqueue\Symfony\Client\Meta\QueuesCommand; use Symfony\Component\Console\Tester\CommandTester; +use Symfony\Component\HttpKernel\Kernel; /** * @group functional @@ -12,14 +14,14 @@ class QueuesCommandTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $command = $this->container->get('enqueue.client.meta.queues_command'); + $command = $this->container->get(QueuesCommand::class); $this->assertInstanceOf(QueuesCommand::class, $command); } public function testShouldDisplayRegisteredQueues() { - $command = $this->container->get('enqueue.client.meta.queues_command'); + $command = $this->container->get(QueuesCommand::class); $tester = new CommandTester($command); $tester->execute([]); @@ -28,12 +30,20 @@ public function testShouldDisplayRegisteredQueues() $this->assertContains(' default ', $display); $this->assertContains('enqueue.app.default', $display); - $this->assertContains('enqueue.client.router_processor', $display); + + $displayId = RouterProcessor::class; + if (30300 > Kernel::VERSION_ID) { + // Symfony 3.2 and below make service identifiers lowercase, so we do the same. + // To be removed when dropping support for Symfony < 3.3. + $displayId = strtolower($displayId); + } + + $this->assertContains($displayId, $display); } public function testShouldDisplayRegisteredCommand() { - $command = $this->container->get('enqueue.client.meta.queues_command'); + $command = $this->container->get(QueuesCommand::class); $tester = new CommandTester($command); $tester->execute([]); diff --git a/pkg/enqueue-bundle/Tests/Functional/RpcClientTest.php b/pkg/enqueue-bundle/Tests/Functional/RpcClientTest.php index f9c9fcb41..ad4ea8787 100644 --- a/pkg/enqueue-bundle/Tests/Functional/RpcClientTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/RpcClientTest.php @@ -11,7 +11,7 @@ class RpcClientTest extends WebTestCase { public function testTransportRpcClientCouldBeGetFromContainerAsService() { - $connection = $this->container->get('enqueue.transport.rpc_client'); + $connection = $this->container->get(RpcClient::class); $this->assertInstanceOf(RpcClient::class, $connection); } diff --git a/pkg/enqueue-bundle/Tests/Functional/TopicRegistryTest.php b/pkg/enqueue-bundle/Tests/Functional/TopicRegistryTest.php index 0db559da0..dc7ecfea5 100644 --- a/pkg/enqueue-bundle/Tests/Functional/TopicRegistryTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/TopicRegistryTest.php @@ -11,7 +11,7 @@ class TopicRegistryTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $connection = $this->container->get('enqueue.client.meta.topic_meta_registry'); + $connection = $this->container->get(TopicMetaRegistry::class); $this->assertInstanceOf(TopicMetaRegistry::class, $connection); } diff --git a/pkg/enqueue-bundle/Tests/Functional/TopicsCommandTest.php b/pkg/enqueue-bundle/Tests/Functional/TopicsCommandTest.php index 84526dbe3..c1bbf6229 100644 --- a/pkg/enqueue-bundle/Tests/Functional/TopicsCommandTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/TopicsCommandTest.php @@ -3,8 +3,10 @@ namespace Enqueue\Bundle\Tests\Functional; use Enqueue\Client\Config; +use Enqueue\Client\RouterProcessor; use Enqueue\Symfony\Client\Meta\TopicsCommand; use Symfony\Component\Console\Tester\CommandTester; +use Symfony\Component\HttpKernel\Kernel; /** * @group functional @@ -13,14 +15,14 @@ class TopicsCommandTest extends WebTestCase { public function testCouldBeGetFromContainerAsService() { - $command = $this->container->get('enqueue.client.meta.topics_command'); + $command = $this->container->get(TopicsCommand::class); $this->assertInstanceOf(TopicsCommand::class, $command); } public function testShouldDisplayRegisteredTopics() { - $command = $this->container->get('enqueue.client.meta.topics_command'); + $command = $this->container->get(TopicsCommand::class); $tester = new CommandTester($command); $tester->execute([]); @@ -28,12 +30,20 @@ public function testShouldDisplayRegisteredTopics() $display = $tester->getDisplay(); $this->assertContains('__router__', $display); - $this->assertContains('enqueue.client.router_processor', $display); + + $displayId = RouterProcessor::class; + if (30300 > Kernel::VERSION_ID) { + // Symfony 3.2 and below make service identifiers lowercase, so we do the same. + // To be removed when dropping support for Symfony < 3.3. + $displayId = strtolower($displayId); + } + + $this->assertContains($displayId, $display); } public function testShouldDisplayCommands() { - $command = $this->container->get('enqueue.client.meta.topics_command'); + $command = $this->container->get(TopicsCommand::class); $tester = new CommandTester($command); $tester->execute([]); diff --git a/pkg/enqueue-bundle/Tests/Functional/UseCasesTest.php b/pkg/enqueue-bundle/Tests/Functional/UseCasesTest.php index c90b18697..9c633b3d1 100644 --- a/pkg/enqueue-bundle/Tests/Functional/UseCasesTest.php +++ b/pkg/enqueue-bundle/Tests/Functional/UseCasesTest.php @@ -4,7 +4,10 @@ use Enqueue\Bundle\Tests\Functional\App\CustomAppKernel; use Enqueue\Client\DriverInterface; +use Enqueue\Client\Producer; use Enqueue\Client\ProducerInterface; +use Enqueue\Symfony\Client\ConsumeMessagesCommand; +use Enqueue\Symfony\Consumption\ContainerAwareConsumeMessagesCommand; use Interop\Queue\PsrContext; use Interop\Queue\PsrMessage; use Symfony\Component\Console\Tester\CommandTester; @@ -237,7 +240,7 @@ public function testClientConsumeCommandMessagesFromExplicitlySetQueue(array $en { $this->customSetUp($enqueueConfig); - $command = $this->container->get('enqueue.client.consume_messages_command'); + $command = $this->container->get(ConsumeMessagesCommand::class); $processor = $this->container->get('test.message.command_processor'); $expectedBody = __METHOD__.time(); @@ -262,7 +265,7 @@ public function testClientConsumeMessagesFromExplicitlySetQueue(array $enqueueCo { $this->customSetUp($enqueueConfig); - $command = $this->container->get('enqueue.client.consume_messages_command'); + $command = $this->container->get(ConsumeMessagesCommand::class); $processor = $this->container->get('test.message.processor'); $this->getMessageProducer()->sendEvent(TestProcessor::TOPIC, 'test message body'); @@ -285,7 +288,7 @@ public function testTransportConsumeMessagesCommandShouldConsumeMessage(array $e { $this->customSetUp($enqueueConfig); - $command = $this->container->get('enqueue.command.consume_messages'); + $command = $this->container->get(ContainerAwareConsumeMessagesCommand::class); $command->setContainer($this->container); $processor = $this->container->get('test.message.processor'); @@ -356,7 +359,7 @@ protected static function createKernel(array $options = []) */ private function getMessageProducer() { - return $this->container->get('enqueue.client.producer'); + return $this->container->get(Producer::class); } /** diff --git a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/AddTopicMetaPassTest.php b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/AddTopicMetaPassTest.php index f7730ba1a..94537fd89 100644 --- a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/AddTopicMetaPassTest.php +++ b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/AddTopicMetaPassTest.php @@ -3,6 +3,7 @@ namespace Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler; use Enqueue\Bundle\DependencyInjection\Compiler\AddTopicMetaPass; +use Enqueue\Client\Meta\TopicMetaRegistry; use Enqueue\Test\ClassExtensionTrait; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; @@ -56,7 +57,7 @@ public function testShouldAddTopicsInRegistryKeepingPreviouslyAdded() $registry = new Definition(null, [[ 'bazTopic' => [], ]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $registry); + $container->setDefinition(TopicMetaRegistry::class, $registry); $pass = AddTopicMetaPass::create() ->add('fooTopic') diff --git a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildClientRoutingPassTest.php b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildClientRoutingPassTest.php index d553d53f0..2b493f5df 100644 --- a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildClientRoutingPassTest.php +++ b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildClientRoutingPassTest.php @@ -10,6 +10,7 @@ use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\ProcessorNameTopicSubscriber; use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\QueueNameTopicSubscriber; use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\WithoutProcessorNameTopicSubscriber; +use Enqueue\Client\RouterProcessor; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; @@ -35,7 +36,7 @@ public function testShouldBuildRouteRegistry() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -61,7 +62,7 @@ public function testThrowIfProcessorClassNameCouldNotBeFound() $router = new Definition(); $router->setArguments([null, []]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); @@ -80,7 +81,7 @@ public function testShouldThrowExceptionIfTopicNameIsNotSet() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); @@ -102,7 +103,7 @@ public function testShouldSetServiceIdAdProcessorIdIfIsNotSetInTag() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -128,7 +129,7 @@ public function testShouldSetDefaultQueueIfNotSetInTag() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -152,7 +153,7 @@ public function testShouldBuildRouteFromSubscriberIfOnlyTopicNameSpecified() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -176,7 +177,7 @@ public function testShouldBuildRouteFromSubscriberIfProcessorNameSpecified() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -200,7 +201,7 @@ public function testShouldBuildRouteFromSubscriberIfQueueNameSpecified() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -224,7 +225,7 @@ public function testShouldBuildRouteFromWithoutProcessorNameTopicSubscriber() $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -248,7 +249,7 @@ public function testShouldThrowExceptionWhenTopicSubscriberConfigurationIsInvali $router = new Definition(); $router->setArguments(['', '']); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); @@ -268,7 +269,7 @@ public function testShouldBuildRouteFromCommandSubscriberIfOnlyCommandNameSpecif $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); @@ -291,7 +292,7 @@ public function testShouldBuildRouteFromCommandSubscriberIfProcessorNameSpecifie $router = new Definition(); $router->setArguments([null, null, null]); - $container->setDefinition('enqueue.client.router_processor', $router); + $container->setDefinition(RouterProcessor::class, $router); $pass = new BuildClientRoutingPass(); $pass->process($container); diff --git a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildQueueMetaRegistryPassTest.php b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildQueueMetaRegistryPassTest.php index cd98f8b18..46c315a78 100644 --- a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildQueueMetaRegistryPassTest.php +++ b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildQueueMetaRegistryPassTest.php @@ -8,6 +8,7 @@ use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\ProcessorNameCommandSubscriber; use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\ProcessorNameTopicSubscriber; use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\QueueNameTopicSubscriber; +use Enqueue\Client\Meta\QueueMetaRegistry; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; @@ -45,7 +46,7 @@ public function testThrowIfProcessorClassNameCouldNotBeFound() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); @@ -67,7 +68,7 @@ public function testShouldBuildQueueMetaRegistry() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -91,7 +92,7 @@ public function testShouldSetServiceIdAdProcessorIdIfIsNotSetInTag() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -116,7 +117,7 @@ public function testShouldSetQueueIfSetInTag() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -138,7 +139,7 @@ public function testShouldBuildQueueFromSubscriberIfOnlyTopicNameSpecified() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -160,7 +161,7 @@ public function testShouldBuildQueueFromSubscriberIfProcessorNameSpecified() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -182,7 +183,7 @@ public function testShouldBuildQueueFromSubscriberIfQueueNameSpecified() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -204,7 +205,7 @@ public function testShouldBuildQueueFromCommandSubscriber() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); @@ -226,7 +227,7 @@ public function testShouldBuildQueueFromOnlyCommandNameSubscriber() $registry = new Definition(); $registry->setArguments([null, []]); - $container->setDefinition('enqueue.client.meta.queue_meta_registry', $registry); + $container->setDefinition(QueueMetaRegistry::class, $registry); $pass = new BuildQueueMetaRegistryPass(); $pass->process($container); diff --git a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildTopicMetaSubscribersPassTest.php b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildTopicMetaSubscribersPassTest.php index cb8425abf..d5128add1 100644 --- a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildTopicMetaSubscribersPassTest.php +++ b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildTopicMetaSubscribersPassTest.php @@ -9,6 +9,7 @@ use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\ProcessorNameCommandSubscriber; use Enqueue\Bundle\Tests\Unit\DependencyInjection\Compiler\Mock\ProcessorNameTopicSubscriber; use Enqueue\Client\Config; +use Enqueue\Client\Meta\TopicMetaRegistry; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; @@ -33,7 +34,7 @@ public function testShouldBuildTopicMetaSubscribersForOneTagAndEmptyRegistry() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -57,7 +58,7 @@ public function testThrowIfProcessorClassNameCouldNotBeFound() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); @@ -81,7 +82,7 @@ public function testShouldBuildTopicMetaSubscribersForOneTagAndSameMetaInRegistr $topicMetaRegistry->setArguments([[ 'topic' => ['description' => 'aDescription', 'processors' => ['fooProcessorName']], ]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -112,7 +113,7 @@ public function testShouldBuildTopicMetaSubscribersForOneTagAndSameMetaInPlusAno 'fooTopic' => ['description' => 'aDescription', 'processors' => ['fooProcessorName']], 'barTopic' => ['description' => 'aBarDescription'], ]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -148,7 +149,7 @@ public function testShouldBuildTopicMetaSubscribersForTwoTagAndEmptyRegistry() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -184,7 +185,7 @@ public function testShouldBuildTopicMetaSubscribersForTwoTagSameMetaRegistry() $topicMetaRegistry->setArguments([[ 'fooTopic' => ['description' => 'aDescription', 'processors' => ['bazProcessorName']], ]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -209,7 +210,7 @@ public function testThrowIfTopicNameNotSetOnTagAsAttribute() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); @@ -230,7 +231,7 @@ public function testShouldSetServiceIdAdProcessorIdIfIsNotSetInTag() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -252,7 +253,7 @@ public function testShouldBuildMetaFromSubscriberIfOnlyTopicNameSpecified() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -274,7 +275,7 @@ public function testShouldBuildMetaFromSubscriberIfProcessorNameSpecified() $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -296,7 +297,7 @@ public function testShouldThrowExceptionWhenTopicSubscriberConfigurationIsInvali $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); @@ -316,7 +317,7 @@ public function testShouldBuildMetaFromCommandSubscriberIfOnlyCommandNameSpecifi $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); @@ -338,7 +339,7 @@ public function testShouldBuildMetaFromCommandSubscriberIfProcessorNameSpecified $topicMetaRegistry = new Definition(); $topicMetaRegistry->setArguments([[]]); - $container->setDefinition('enqueue.client.meta.topic_meta_registry', $topicMetaRegistry); + $container->setDefinition(TopicMetaRegistry::class, $topicMetaRegistry); $pass = new BuildTopicMetaSubscribersPass(); $pass->process($container); diff --git a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/ConfigurationTest.php b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/ConfigurationTest.php index 81be3a44c..fbff2d989 100644 --- a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/ConfigurationTest.php +++ b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/ConfigurationTest.php @@ -4,6 +4,7 @@ use Enqueue\Bundle\DependencyInjection\Configuration; use Enqueue\Bundle\Tests\Unit\Mocks\FooTransportFactory; +use Enqueue\Client\RouterProcessor; use Enqueue\Null\Symfony\NullTransportFactory; use Enqueue\Symfony\DefaultTransportFactory; use Enqueue\Test\ClassExtensionTrait; @@ -144,7 +145,7 @@ public function testShouldSetDefaultConfigurationForClient() 'client' => [ 'prefix' => 'enqueue', 'app_name' => 'app', - 'router_processor' => 'enqueue.client.router_processor', + 'router_processor' => RouterProcessor::class, 'router_topic' => 'default', 'router_queue' => 'default', 'default_processor_queue' => 'default', diff --git a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/EnqueueExtensionTest.php b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/EnqueueExtensionTest.php index 014e7c3b5..806fe9754 100644 --- a/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/EnqueueExtensionTest.php +++ b/pkg/enqueue-bundle/Tests/Unit/DependencyInjection/EnqueueExtensionTest.php @@ -8,6 +8,8 @@ use Enqueue\Bundle\Tests\Unit\Mocks\TransportFactoryWithoutDriverFactory; use Enqueue\Client\Producer; use Enqueue\Client\TraceableProducer; +use Enqueue\Consumption\QueueConsumer; +use Enqueue\JobQueue\JobRunner; use Enqueue\Null\NullContext; use Enqueue\Null\Symfony\NullTransportFactory; use Enqueue\Symfony\DefaultTransportFactory; @@ -17,6 +19,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\HttpKernel\DependencyInjection\Extension; +use Symfony\Component\HttpKernel\Kernel; class EnqueueExtensionTest extends TestCase { @@ -182,7 +185,7 @@ public function testShouldLoadClientServicesWhenEnabled() self::assertTrue($container->hasDefinition('foo.driver')); self::assertTrue($container->hasDefinition('enqueue.client.config')); - self::assertTrue($container->hasDefinition('enqueue.client.producer')); + self::assertTrue($container->hasDefinition(Producer::class)); } public function testShouldNotCreateDriverIfFactoryDoesNotImplementDriverFactoryInterface() @@ -223,7 +226,7 @@ public function testShouldUseProducerByDefault() ], ]], $container); - $producer = $container->getDefinition('enqueue.client.producer'); + $producer = $container->getDefinition(Producer::class); self::assertEquals(Producer::class, $producer->getClass()); } @@ -247,7 +250,7 @@ public function testShouldUseMessageProducerIfTraceableProducerOptionSetToFalseE ], ]], $container); - $producer = $container->getDefinition('enqueue.client.producer'); + $producer = $container->getDefinition(Producer::class); self::assertEquals(Producer::class, $producer->getClass()); } @@ -271,16 +274,23 @@ public function testShouldUseTraceableMessageProducerIfTraceableProducerOptionSe ], ]], $container); - $producer = $container->getDefinition('enqueue.client.traceable_producer'); + $producer = $container->getDefinition(TraceableProducer::class); self::assertEquals(TraceableProducer::class, $producer->getClass()); self::assertEquals( - ['enqueue.client.producer', null, 0], + [Producer::class, null, 0], $producer->getDecoratedService() ); self::assertInstanceOf(Reference::class, $producer->getArgument(0)); + + $innerServiceName = sprintf('%s.inner', TraceableProducer::class); + if (30300 > Kernel::VERSION_ID) { + // Symfony 3.2 and below make service identifiers lowercase, so we do the same. + $innerServiceName = strtolower($innerServiceName); + } + self::assertEquals( - 'enqueue.client.traceable_producer.inner', + $innerServiceName, (string) $producer->getArgument(0) ); } @@ -345,7 +355,7 @@ public function testShouldLoadJobServicesIfEnabled() 'job' => true, ]], $container); - self::assertTrue($container->hasDefinition('enqueue.job.runner')); + self::assertTrue($container->hasDefinition(JobRunner::class)); } public function testShouldNotLoadJobServicesIfDisabled() @@ -360,7 +370,7 @@ public function testShouldNotLoadJobServicesIfDisabled() 'job' => false, ]], $container); - self::assertFalse($container->hasDefinition('enqueue.job.runner')); + self::assertFalse($container->hasDefinition(JobRunner::class)); } public function testShouldAllowGetConfiguration() @@ -551,7 +561,7 @@ public function testShouldConfigureQueueConsumer() ], ]], $container); - $def = $container->getDefinition('enqueue.consumption.queue_consumer'); + $def = $container->getDefinition(QueueConsumer::class); $this->assertSame(123, $def->getArgument(2)); $this->assertSame(456, $def->getArgument(3)); diff --git a/pkg/enqueue/Symfony/Client/ContainerAwareProcessorRegistry.php b/pkg/enqueue/Symfony/Client/ContainerAwareProcessorRegistry.php index 2b42cec18..b378eb45d 100644 --- a/pkg/enqueue/Symfony/Client/ContainerAwareProcessorRegistry.php +++ b/pkg/enqueue/Symfony/Client/ContainerAwareProcessorRegistry.php @@ -6,6 +6,7 @@ use Interop\Queue\PsrProcessor; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerAwareTrait; +use Symfony\Component\HttpKernel\Kernel; class ContainerAwareProcessorRegistry implements ProcessorRegistryInterface, ContainerAwareInterface { @@ -38,6 +39,12 @@ public function set($processorName, $serviceId) */ public function get($processorName) { + if (30300 > Kernel::VERSION_ID) { + // Symfony 3.2 and below make service identifiers lowercase, so we do the same. + // To be removed when dropping support for Symfony < 3.3. + $processorName = strtolower($processorName); + } + if (false == isset($this->processors[$processorName])) { throw new \LogicException(sprintf('Processor was not found. processorName: "%s"', $processorName)); }