|
16 | 16 | use Symfony\Component\DependencyInjection\ContainerBuilder;
|
17 | 17 | use Symfony\Component\DependencyInjection\Reference;
|
18 | 18 | use Symfony\Component\DependencyInjection\ServiceLocator;
|
| 19 | +use Symfony\Component\Messenger\Command\ConsumeMessagesCommand; |
19 | 20 | use Symfony\Component\Messenger\Transport\AmqpExt\AmqpReceiver;
|
20 | 21 | use Symfony\Component\Messenger\Transport\AmqpExt\AmqpSender;
|
21 | 22 | use Symfony\Component\Messenger\Handler\Locator\ContainerHandlerLocator;
|
@@ -116,6 +117,41 @@ public function testItRegistersReceiversWithoutTagName()
|
116 | 117 | $this->assertEquals(array(AmqpReceiver::class => new Reference(AmqpReceiver::class)), $container->getDefinition('messenger.receiver_locator')->getArgument(0));
|
117 | 118 | }
|
118 | 119 |
|
| 120 | + public function testItRegistersOneReceiverAndSetsTheDefaultOneOnTheCommand() |
| 121 | + { |
| 122 | + $container = $this->getContainerBuilder(); |
| 123 | + $container->register('console.command.messenger_consume_messages', ConsumeMessagesCommand::class)->setArguments(array( |
| 124 | + new Reference('message_bus'), |
| 125 | + new Reference('messenger.receiver_locator'), |
| 126 | + null, |
| 127 | + null, |
| 128 | + )); |
| 129 | + |
| 130 | + $container->register(AmqpReceiver::class, AmqpReceiver::class)->addTag('messenger.receiver', array('name' => 'amqp')); |
| 131 | + |
| 132 | + (new MessengerPass())->process($container); |
| 133 | + |
| 134 | + $this->assertSame(AmqpReceiver::class, $container->getDefinition('console.command.messenger_consume_messages')->getArgument(3)); |
| 135 | + } |
| 136 | + |
| 137 | + public function testItRegistersMultipleReceiversAndDoesNotSetTheDefaultOneOnTheCommand() |
| 138 | + { |
| 139 | + $container = $this->getContainerBuilder(); |
| 140 | + $container->register('console.command.messenger_consume_messages', ConsumeMessagesCommand::class)->setArguments(array( |
| 141 | + new Reference('message_bus'), |
| 142 | + new Reference('messenger.receiver_locator'), |
| 143 | + null, |
| 144 | + null, |
| 145 | + )); |
| 146 | + |
| 147 | + $container->register(AmqpReceiver::class, AmqpReceiver::class)->addTag('messenger.receiver', array('name' => 'amqp')); |
| 148 | + $container->register(DummyReceiver::class, DummyReceiver::class)->addTag('messenger.receiver', array('name' => 'dummy')); |
| 149 | + |
| 150 | + (new MessengerPass())->process($container); |
| 151 | + |
| 152 | + $this->assertNull($container->getDefinition('console.command.messenger_consume_messages')->getArgument(3)); |
| 153 | + } |
| 154 | + |
119 | 155 | public function testItRegistersSenders()
|
120 | 156 | {
|
121 | 157 | $container = $this->getContainerBuilder();
|
|
0 commit comments