|
24 | 24 | use Symfony\Component\Messenger\DependencyInjection\MessengerPass;
|
25 | 25 | use Symfony\Component\Messenger\Envelope;
|
26 | 26 | use Symfony\Component\Messenger\Handler\ChainHandler;
|
| 27 | +use Symfony\Component\Messenger\Handler\MessageHandlerInterface; |
27 | 28 | use Symfony\Component\Messenger\Handler\MessageSubscriberInterface;
|
28 | 29 | use Symfony\Component\Messenger\MessageBusInterface;
|
29 | 30 | use Symfony\Component\Messenger\Middleware\AllowNoHandlerMiddleware;
|
@@ -326,13 +327,28 @@ public function testUndefinedMessageClassForHandler()
|
326 | 327 |
|
327 | 328 | /**
|
328 | 329 | * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
329 |
| - * @expectedExceptionMessage Invalid handler service "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessageHandlerViaInterface": message class "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessage" returned by method "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessageHandlerViaInterface::getHandledMessages()" does not exist. |
| 330 | + * @expectedExceptionMessage Invalid handler service "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessageHandlerViaHandlerInterface": message class "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessage" used as argument type in method "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessageHandlerViaHandlerInterface::__invoke()" does not exist. |
330 | 331 | */
|
331 |
| - public function testUndefinedMessageClassForHandlerViaInterface() |
| 332 | + public function testUndefinedMessageClassForHandlerImplementingMessageHandlerInterface() |
332 | 333 | {
|
333 | 334 | $container = $this->getContainerBuilder();
|
334 | 335 | $container
|
335 |
| - ->register(UndefinedMessageHandlerViaInterface::class, UndefinedMessageHandlerViaInterface::class) |
| 336 | + ->register(UndefinedMessageHandlerViaHandlerInterface::class, UndefinedMessageHandlerViaHandlerInterface::class) |
| 337 | + ->addTag('messenger.message_handler') |
| 338 | + ; |
| 339 | + |
| 340 | + (new MessengerPass())->process($container); |
| 341 | + } |
| 342 | + |
| 343 | + /** |
| 344 | + * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException |
| 345 | + * @expectedExceptionMessage Invalid handler service "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessageHandlerViaSubscriberInterface": message class "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessage" returned by method "Symfony\Component\Messenger\Tests\DependencyInjection\UndefinedMessageHandlerViaSubscriberInterface::getHandledMessages()" does not exist. |
| 346 | + */ |
| 347 | + public function testUndefinedMessageClassForHandlerImplementingMessageSubscriberInterface() |
| 348 | + { |
| 349 | + $container = $this->getContainerBuilder(); |
| 350 | + $container |
| 351 | + ->register(UndefinedMessageHandlerViaSubscriberInterface::class, UndefinedMessageHandlerViaSubscriberInterface::class) |
336 | 352 | ->addTag('messenger.message_handler')
|
337 | 353 | ;
|
338 | 354 |
|
@@ -600,7 +616,14 @@ public function __invoke(UndefinedMessage $message)
|
600 | 616 | }
|
601 | 617 | }
|
602 | 618 |
|
603 |
| -class UndefinedMessageHandlerViaInterface implements MessageSubscriberInterface |
| 619 | +class UndefinedMessageHandlerViaHandlerInterface implements MessageHandlerInterface |
| 620 | +{ |
| 621 | + public function __invoke(UndefinedMessage $message) |
| 622 | + { |
| 623 | + } |
| 624 | +} |
| 625 | + |
| 626 | +class UndefinedMessageHandlerViaSubscriberInterface implements MessageSubscriberInterface |
604 | 627 | {
|
605 | 628 | public static function getHandledMessages(): iterable
|
606 | 629 | {
|
|
0 commit comments