Skip to content

Commit 950c679

Browse files
[Magento Community Engineering] Community Contributions - 2.3-develop
- merged latest code from mainline branch
2 parents c282c69 + 8ec15ae commit 950c679

File tree

2 files changed

+118
-24
lines changed

2 files changed

+118
-24
lines changed

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

Lines changed: 116 additions & 23 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
/**
@@ -23,27 +24,26 @@ class QueueManagementTest extends \PHPUnit\Framework\TestCase
2324
protected function setUp()
2425
{
2526
$this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
26-
$this->queueManagement = $this->objectManager->create(\Magento\MysqlMq\Model\QueueManagement::class);
27+
$this->queueManagement = $this->objectManager->create(QueueManagement::class);
2728
}
2829

2930
/**
3031
* @magentoDataFixture Magento/MysqlMq/_files/queues.php
3132
*/
32-
public function testAllFlows()
33+
public function testMessageReading()
3334
{
34-
$this->queueManagement->addMessageToQueues('topic1', 'messageBody1', ['queue1', 'queue2']);
35-
$this->queueManagement->addMessageToQueues('topic2', 'messageBody2', ['queue2', 'queue3']);
36-
$this->queueManagement->addMessageToQueues('topic3', 'messageBody3', ['queue1', 'queue3']);
37-
$this->queueManagement->addMessageToQueues('topic4', 'messageBody4', ['queue1', 'queue2', 'queue3']);
35+
$this->queueManagement->addMessageToQueues('topic1', 'messageBody1', ['queue1']);
36+
$this->queueManagement->addMessageToQueues('topic2', 'messageBody2', ['queue1']);
37+
$this->queueManagement->addMessageToQueues('topic3', 'messageBody3', ['queue1']);
3838
$maxMessagesNumber = 2;
39-
$messages = $this->queueManagement->readMessages('queue3', $maxMessagesNumber);
39+
$messages = $this->queueManagement->readMessages('queue1', $maxMessagesNumber);
4040

4141
$this->assertCount($maxMessagesNumber, $messages);
4242

4343
$firstMessage = array_shift($messages);
44-
$this->assertEquals('topic2', $firstMessage[QueueManagement::MESSAGE_TOPIC]);
45-
$this->assertEquals('messageBody2', $firstMessage[QueueManagement::MESSAGE_BODY]);
46-
$this->assertEquals('queue3', $firstMessage[QueueManagement::MESSAGE_QUEUE_NAME]);
44+
$this->assertEquals('topic1', $firstMessage[QueueManagement::MESSAGE_TOPIC]);
45+
$this->assertEquals('messageBody1', $firstMessage[QueueManagement::MESSAGE_BODY]);
46+
$this->assertEquals('queue1', $firstMessage[QueueManagement::MESSAGE_QUEUE_NAME]);
4747
$this->assertEquals(
4848
QueueManagement::MESSAGE_STATUS_IN_PROGRESS,
4949
$firstMessage[QueueManagement::MESSAGE_STATUS]
@@ -55,9 +55,9 @@ public function testAllFlows()
5555
$this->assertCount(12, date_parse($firstMessage[QueueManagement::MESSAGE_UPDATED_AT]));
5656

5757
$secondMessage = array_shift($messages);
58-
$this->assertEquals('topic3', $secondMessage[QueueManagement::MESSAGE_TOPIC]);
59-
$this->assertEquals('messageBody3', $secondMessage[QueueManagement::MESSAGE_BODY]);
60-
$this->assertEquals('queue3', $secondMessage[QueueManagement::MESSAGE_QUEUE_NAME]);
58+
$this->assertEquals('topic2', $secondMessage[QueueManagement::MESSAGE_TOPIC]);
59+
$this->assertEquals('messageBody2', $secondMessage[QueueManagement::MESSAGE_BODY]);
60+
$this->assertEquals('queue1', $secondMessage[QueueManagement::MESSAGE_QUEUE_NAME]);
6161
$this->assertEquals(
6262
QueueManagement::MESSAGE_STATUS_IN_PROGRESS,
6363
$secondMessage[QueueManagement::MESSAGE_STATUS]
@@ -67,35 +67,128 @@ public function testAllFlows()
6767
$this->assertTrue(is_numeric($secondMessage[QueueManagement::MESSAGE_QUEUE_RELATION_ID]));
6868
$this->assertEquals(0, $secondMessage[QueueManagement::MESSAGE_NUMBER_OF_TRIALS]);
6969
$this->assertCount(12, date_parse($secondMessage[QueueManagement::MESSAGE_UPDATED_AT]));
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+
126+
/**
127+
* @magentoDataFixture Magento/MysqlMq/_files/queues.php
128+
*/
129+
public function testChangingMessageStatus()
130+
{
131+
$this->queueManagement->addMessageToQueues('topic1', 'messageBody1', ['queue1']);
132+
$this->queueManagement->addMessageToQueues('topic2', 'messageBody2', ['queue1']);
133+
$this->queueManagement->addMessageToQueues('topic3', 'messageBody3', ['queue1']);
134+
$this->queueManagement->addMessageToQueues('topic4', 'messageBody4', ['queue1']);
135+
136+
$maxMessagesNumber = 4;
137+
$messages = $this->queueManagement->readMessages('queue1', $maxMessagesNumber);
138+
$this->assertCount($maxMessagesNumber, $messages);
139+
140+
$firstMessage = array_shift($messages);
141+
$secondMessage = array_shift($messages);
142+
$thirdMessage = array_shift($messages);
143+
$fourthMessage = array_shift($messages);
144+
145+
$this->queueManagement->changeStatus(
146+
[
147+
$firstMessage[QueueManagement::MESSAGE_QUEUE_RELATION_ID]
148+
],
149+
QueueManagement::MESSAGE_STATUS_ERROR
150+
);
70151

71-
/** Mark one message as complete or failed and make sure it is not displayed in the list of read messages */
72152
$this->queueManagement->changeStatus(
73153
[
74154
$secondMessage[QueueManagement::MESSAGE_QUEUE_RELATION_ID]
75155
],
76156
QueueManagement::MESSAGE_STATUS_COMPLETE
77157
);
78-
$messages = $this->queueManagement->readMessages('queue3', $maxMessagesNumber);
79-
$this->assertCount(1, $messages);
80158

81159
$this->queueManagement->changeStatus(
82160
[
83-
$firstMessage[QueueManagement::MESSAGE_QUEUE_RELATION_ID]
161+
$thirdMessage[QueueManagement::MESSAGE_QUEUE_RELATION_ID]
84162
],
85-
QueueManagement::MESSAGE_STATUS_ERROR
163+
QueueManagement::MESSAGE_STATUS_NEW
164+
);
165+
166+
$this->queueManagement->changeStatus(
167+
[
168+
$fourthMessage[QueueManagement::MESSAGE_QUEUE_RELATION_ID]
169+
],
170+
QueueManagement::MESSAGE_STATUS_RETRY_REQUIRED
86171
);
87-
$messages = $this->queueManagement->readMessages('queue3', $maxMessagesNumber);
88-
$this->assertCount(0, $messages);
89172

90-
/** Ensure that message for retry is still accessible when reading messages from the queue */
91-
$messages = $this->queueManagement->readMessages('queue2', 1);
173+
$messages = $this->queueManagement->readMessages('queue1');
174+
$this->assertCount(2, $messages);
175+
}
176+
177+
/**
178+
* @magentoDataFixture Magento/MysqlMq/_files/queues.php
179+
*/
180+
public function testMessageRetry()
181+
{
182+
$this->queueManagement->addMessageToQueues('topic1', 'messageBody1', ['queue1']);
183+
184+
$messages = $this->queueManagement->readMessages('queue1', 1);
92185
$message = array_shift($messages);
93186
$messageRelationId = $message[QueueManagement::MESSAGE_QUEUE_RELATION_ID];
94187

95188
for ($i = 0; $i < 2; $i++) {
96189
$this->assertEquals($i, $message[QueueManagement::MESSAGE_NUMBER_OF_TRIALS]);
97190
$this->queueManagement->pushToQueueForRetry($message[QueueManagement::MESSAGE_QUEUE_RELATION_ID]);
98-
$messages = $this->queueManagement->readMessages('queue2', 1);
191+
$messages = $this->queueManagement->readMessages('queue1', 1);
99192
$message = array_shift($messages);
100193
$this->assertEquals($messageRelationId, $message[QueueManagement::MESSAGE_QUEUE_RELATION_ID]);
101194
}

dev/tests/js/jasmine/tests/app/code/Magento/Paypal/frontend/js/view/payment/method-renderer/in-context/checkout-express.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ define([
3535
beforeAll(function (done) {
3636
window.checkoutConfig = {
3737
quoteData: {
38-
entityId: 1
38+
/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
39+
entity_Id: 1
3940
},
4041
formKey: 'formKey'
4142
};

0 commit comments

Comments
 (0)