18 private $messageStatusProcessor;
23 private $mergedMessageProcessor;
32 $this->messageStatusProcessor = $this
33 ->getMockBuilder(\
Magento\Framework\MessageQueue\MessageStatusProcessor::class)
34 ->disableOriginalConstructor()
37 $objectManagerHelper =
new ObjectManagerHelper($this);
38 $this->mergedMessageProcessor = $objectManagerHelper->getObject(
39 \
Magento\Framework\MessageQueue\MergedMessageProcessor::class,
41 'messageStatusProcessor' => $this->messageStatusProcessor
55 $messagesToAcknowledge = [];
56 $queue = $this->getMockBuilder(\
Magento\Framework\MessageQueue\QueueInterface::class)
57 ->disableOriginalConstructor()
58 ->getMockForAbstractClass();
59 $configuration = $this->getMockBuilder(\
Magento\Framework\MessageQueue\ConsumerConfigurationInterface::class)
60 ->disableOriginalConstructor()
61 ->getMockForAbstractClass();
62 $configuration->expects($this->atLeastOnce())->method(
'getHandlers')->willReturn([]);
63 $this->messageStatusProcessor->expects($this->exactly(2))->method(
'acknowledgeMessages');
64 $originalMessage = $this->getMockBuilder(\
Magento\Framework\MessageQueue\EnvelopeInterface::class)
65 ->disableOriginalConstructor()
66 ->getMockForAbstractClass();
67 $mergedMessage = $this->getMockBuilder(\
Magento\Framework\MessageQueue\MergedMessageInterface::class)
68 ->disableOriginalConstructor()
69 ->getMockForAbstractClass();
70 $mergedMessage->expects($this->atLeastOnce())->method(
'getOriginalMessagesIds')->willReturn([$messageId]);
72 $topicName => [$mergedMessage]
74 $messages = [$messageId => $originalMessage];
76 $this->mergedMessageProcessor->process(
80 $messagesToAcknowledge,
94 $messagesToAcknowledge = [];
95 $queue = $this->getMockBuilder(\
Magento\Framework\MessageQueue\QueueInterface::class)
96 ->disableOriginalConstructor()
97 ->getMockForAbstractClass();
98 $configuration = $this->getMockBuilder(\
Magento\Framework\MessageQueue\ConsumerConfigurationInterface::class)
99 ->disableOriginalConstructor()
100 ->getMockForAbstractClass();
101 $this->messageStatusProcessor->expects($this->once())->method(
'acknowledgeMessages');
102 $exception = new \Exception();
103 $configuration->expects($this->atLeastOnce())->method(
'getHandlers')->willThrowException($exception);
104 $this->messageStatusProcessor->expects($this->atLeastOnce())->method(
'rejectMessages');
105 $originalMessage = $this->getMockBuilder(\
Magento\Framework\MessageQueue\EnvelopeInterface::class)
106 ->disableOriginalConstructor()
107 ->getMockForAbstractClass();
108 $mergedMessage = $this->getMockBuilder(\
Magento\Framework\MessageQueue\MergedMessageInterface::class)
109 ->disableOriginalConstructor()
110 ->getMockForAbstractClass();
112 $topicName => [$mergedMessage]
114 $messages = [$messageId => $originalMessage];
116 $this->mergedMessageProcessor->process(
120 $messagesToAcknowledge,
testProcessWithException()