@@ -62,10 +62,9 @@ public function testProcess()
62
62
$ handlerLocatorDefinition ->getArgument (0 )
63
63
);
64
64
65
- $ this ->assertEquals (
66
- array (DummyReceiver::class => new Reference (DummyReceiver::class)),
67
- $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 )
68
- );
65
+ $ receiverMapping = $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 );
66
+ $ this ->assertArrayHasKey (DummyReceiver::class, $ receiverMapping );
67
+ $ this ->assertEquals (new Reference (DummyReceiver::class), $ receiverMapping [DummyReceiver::class]);
69
68
}
70
69
71
70
public function testGetClassesFromTheHandlerSubscriberInterface ()
@@ -96,14 +95,34 @@ public function testGetClassesFromTheHandlerSubscriberInterface()
96
95
$ this ->assertEquals (array (new Reference (PrioritizedHandler::class), new Reference (HandlerWithMultipleMessages::class)), $ definition ->getArgument (0 ));
97
96
}
98
97
99
- public function testItRegistersReceivers ()
98
+ public function testItRegistersAReceiverWithTheDefaultKey ()
99
+ {
100
+ $ container = $ this ->getContainerBuilder ();
101
+ $ container ->register (AmqpReceiver::class, AmqpReceiver::class)->addTag ('messenger.receiver ' , array ('name ' => 'amqp ' ));
102
+
103
+ (new MessengerPass ())->process ($ container );
104
+
105
+ $ this ->assertEquals (array (
106
+ 'amqp ' => $ amqpReference = new Reference (AmqpReceiver::class),
107
+ AmqpReceiver::class => $ amqpReference ,
108
+ '.default ' => $ amqpReference ,
109
+ ), $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 ));
110
+ }
111
+
112
+ public function testItRegistersMultipleReceivers ()
100
113
{
101
114
$ container = $ this ->getContainerBuilder ();
102
115
$ container ->register (AmqpReceiver::class, AmqpReceiver::class)->addTag ('messenger.receiver ' , array ('name ' => 'amqp ' ));
116
+ $ container ->register (DummyReceiver::class, DummyReceiver::class)->addTag ('messenger.receiver ' , array ('name ' => 'dummy ' ));
103
117
104
118
(new MessengerPass ())->process ($ container );
105
119
106
- $ this ->assertEquals (array ('amqp ' => new Reference (AmqpReceiver::class), AmqpReceiver::class => new Reference (AmqpReceiver::class)), $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 ));
120
+ $ this ->assertEquals (array (
121
+ 'amqp ' => $ amqpReference = new Reference (AmqpReceiver::class),
122
+ AmqpReceiver::class => $ amqpReference ,
123
+ 'dummy ' => $ dummyReference = new Reference (DummyReceiver::class),
124
+ DummyReceiver::class => $ dummyReference ,
125
+ ), $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 ));
107
126
}
108
127
109
128
public function testItRegistersReceiversWithoutTagName ()
@@ -113,7 +132,9 @@ public function testItRegistersReceiversWithoutTagName()
113
132
114
133
(new MessengerPass ())->process ($ container );
115
134
116
- $ this ->assertEquals (array (AmqpReceiver::class => new Reference (AmqpReceiver::class)), $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 ));
135
+ $ receiverMapping = $ container ->getDefinition ('messenger.receiver_locator ' )->getArgument (0 );
136
+ $ this ->assertArrayHasKey (AmqpReceiver::class, $ receiverMapping );
137
+ $ this ->assertEquals (new Reference (AmqpReceiver::class), $ receiverMapping [AmqpReceiver::class]);
117
138
}
118
139
119
140
public function testItRegistersSenders ()
@@ -410,3 +431,14 @@ public function handle($message, callable $next)
410
431
return $ next ($ message );
411
432
}
412
433
}
434
+
435
+ class NullReceiver implements ReceiverInterface
436
+ {
437
+ public function receive (callable $ handler ): void
438
+ {
439
+ }
440
+
441
+ public function stop (): void
442
+ {
443
+ }
444
+ }
0 commit comments