Skip to content

Commit 85fb3f5

Browse files
committed
review feedback
1 parent 69de65c commit 85fb3f5

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

src/Symfony/Component/Messenger/Bridge/Amqp/Transport/AmqpReceiver.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use Symfony\Component\Messenger\Exception\TransportException;
1818
use Symfony\Component\Messenger\Transport\Receiver\MessageCountAwareInterface;
1919
use Symfony\Component\Messenger\Transport\Receiver\QueueReceiverInterface;
20-
use Symfony\Component\Messenger\Transport\Receiver\ReceiverInterface;
2120
use Symfony\Component\Messenger\Transport\Serialization\PhpSerializer;
2221
use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface;
2322

@@ -26,7 +25,7 @@
2625
*
2726
* @author Samuel Roze <samuel.roze@gmail.com>
2827
*/
29-
class AmqpReceiver implements ReceiverInterface, QueueReceiverInterface, MessageCountAwareInterface
28+
class AmqpReceiver implements QueueReceiverInterface, MessageCountAwareInterface
3029
{
3130
private $serializer;
3231
private $connection;

src/Symfony/Component/Messenger/Tests/WorkerTest.php

+10-6
Original file line numberDiff line numberDiff line change
@@ -249,20 +249,23 @@ public function testWorkerWithMultipleReceivers()
249249

250250
public function testWorkerLimitQueues()
251251
{
252-
$receiver1 = $this->createMock(QueueReceiverInterface::class);
253-
$receiver1->expects($this->once())
252+
$envelope = [new Envelope(new DummyMessage('message1'))];
253+
$receiver = $this->createMock(QueueReceiverInterface::class);
254+
$receiver->expects($this->once())
254255
->method('getFromQueues')
255256
->with(['foo'])
256-
->willReturn([new Envelope(new DummyMessage('message1'))])
257+
->willReturn($envelope)
258+
;
259+
$receiver->expects($this->never())
260+
->method('get')
257261
;
258262

259263
$bus = $this->getMockBuilder(MessageBusInterface::class)->getMock();
260264

261265
$dispatcher = new EventDispatcher();
262266
$dispatcher->addSubscriber(new StopWorkerOnMessageLimitListener(1));
263267

264-
$worker = new Worker([$receiver1], $bus, $dispatcher);
265-
$this->expectException(RuntimeException::class);
268+
$worker = new Worker(['transport' => $receiver], $bus, $dispatcher);
266269
$worker->run(['queues' => ['foo']]);
267270
}
268271

@@ -273,8 +276,9 @@ public function testWorkerLimitQueuesUnsupported()
273276

274277
$bus = $this->getMockBuilder(MessageBusInterface::class)->getMock();
275278

276-
$worker = new Worker([$receiver1, $receiver2], $bus);
279+
$worker = new Worker(['transport1' => $receiver1, 'transport2' => $receiver2], $bus);
277280
$this->expectException(RuntimeException::class);
281+
$this->expectExceptionMessage(sprintf('Receiver for transport2 does not implement %s', QueueReceiverInterface::class));
278282
$worker->run(['queues' => ['foo']]);
279283
}
280284

src/Symfony/Component/Messenger/Transport/Receiver/QueueReceiverInterface.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
* Some transports may have multiple queues. This interface is used to read from only some queues.
1818
*
1919
* @author David Buchmann <mail@davidbu.ch>
20+
*
21+
* @experimental in 5.3
2022
*/
21-
interface QueueReceiverInterface
23+
interface QueueReceiverInterface extends ReceiverInterface
2224
{
2325
/**
2426
* Get messages from the specified queue names instead of consuming from all queues.

0 commit comments

Comments
 (0)