Skip to content

Commit 572f40f

Browse files
author
Mark Berube
committed
MC-5696: Fixing flaky QueueManagementTest
- Adding a test scenario for adding to multiple queues
1 parent 9c4cf85 commit 572f40f

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

dev/tests/integration/testsuite/Magento/MysqlMq/Model/QueueManagementTest.php

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
67
namespace Magento\MysqlMq\Model;
78

89
/**
@@ -68,6 +69,60 @@ public function testMessageReading()
6869
$this->assertCount(12, date_parse($secondMessage[QueueManagement::MESSAGE_UPDATED_AT]));
6970
}
7071

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+
71126
/**
72127
* @magentoDataFixture Magento/MysqlMq/_files/queues.php
73128
*/

0 commit comments

Comments
 (0)