|
3 | 3 | * Copyright © Magento, Inc. All rights reserved.
|
4 | 4 | * See COPYING.txt for license details.
|
5 | 5 | */
|
| 6 | +declare(strict_types=1); |
6 | 7 | namespace Magento\MysqlMq\Model;
|
7 | 8 |
|
8 | 9 | /**
|
@@ -68,6 +69,60 @@ public function testMessageReading()
|
68 | 69 | $this->assertCount(12, date_parse($secondMessage[QueueManagement::MESSAGE_UPDATED_AT]));
|
69 | 70 | }
|
70 | 71 |
|
| 72 | + /** |
| 73 | + * @magentoDataFixture Magento/MysqlMq/_files/queues.php |
| 74 | + */ |
| 75 | + public function testMessageReadingMultipleQueues() |
| 76 | + { |
| 77 | + $this->queueManagement->addMessageToQueues('topic1', 'messageBody1', ['queue1']); |
| 78 | + $this->queueManagement->addMessageToQueues('topic2', 'messageBody2', ['queue1', 'queue2']); |
| 79 | + $this->queueManagement->addMessageToQueues('topic3', 'messageBody3', ['queue2']); |
| 80 | + |
| 81 | + $maxMessagesNumber = 2; |
| 82 | + $messages = $this->queueManagement->readMessages('queue1', $maxMessagesNumber); |
| 83 | + $this->assertCount($maxMessagesNumber, $messages); |
| 84 | + |
| 85 | + $message = array_shift($messages); |
| 86 | + $this->assertEquals('topic1', $message[QueueManagement::MESSAGE_TOPIC]); |
| 87 | + $this->assertEquals('messageBody1', $message[QueueManagement::MESSAGE_BODY]); |
| 88 | + $this->assertEquals('queue1', $message[QueueManagement::MESSAGE_QUEUE_NAME]); |
| 89 | + $this->assertEquals( |
| 90 | + QueueManagement::MESSAGE_STATUS_IN_PROGRESS, |
| 91 | + $message[QueueManagement::MESSAGE_STATUS] |
| 92 | + ); |
| 93 | + |
| 94 | + $message= array_shift($messages); |
| 95 | + $this->assertEquals('topic2', $message[QueueManagement::MESSAGE_TOPIC]); |
| 96 | + $this->assertEquals('messageBody2', $message[QueueManagement::MESSAGE_BODY]); |
| 97 | + $this->assertEquals('queue1', $message[QueueManagement::MESSAGE_QUEUE_NAME]); |
| 98 | + $this->assertEquals( |
| 99 | + QueueManagement::MESSAGE_STATUS_IN_PROGRESS, |
| 100 | + $message[QueueManagement::MESSAGE_STATUS] |
| 101 | + ); |
| 102 | + |
| 103 | + $maxMessagesNumber = 2; |
| 104 | + $messages = $this->queueManagement->readMessages('queue2', $maxMessagesNumber); |
| 105 | + $this->assertCount($maxMessagesNumber, $messages); |
| 106 | + |
| 107 | + $message= array_shift($messages); |
| 108 | + $this->assertEquals('topic2', $message[QueueManagement::MESSAGE_TOPIC]); |
| 109 | + $this->assertEquals('messageBody2', $message[QueueManagement::MESSAGE_BODY]); |
| 110 | + $this->assertEquals('queue2', $message[QueueManagement::MESSAGE_QUEUE_NAME]); |
| 111 | + $this->assertEquals( |
| 112 | + QueueManagement::MESSAGE_STATUS_IN_PROGRESS, |
| 113 | + $message[QueueManagement::MESSAGE_STATUS] |
| 114 | + ); |
| 115 | + |
| 116 | + $message = array_shift($messages); |
| 117 | + $this->assertEquals('topic3', $message[QueueManagement::MESSAGE_TOPIC]); |
| 118 | + $this->assertEquals('messageBody3', $message[QueueManagement::MESSAGE_BODY]); |
| 119 | + $this->assertEquals('queue2', $message[QueueManagement::MESSAGE_QUEUE_NAME]); |
| 120 | + $this->assertEquals( |
| 121 | + QueueManagement::MESSAGE_STATUS_IN_PROGRESS, |
| 122 | + $message[QueueManagement::MESSAGE_STATUS] |
| 123 | + ); |
| 124 | + } |
| 125 | + |
71 | 126 | /**
|
72 | 127 | * @magentoDataFixture Magento/MysqlMq/_files/queues.php
|
73 | 128 | */
|
|
0 commit comments