Skip to content

Commit c712401

Browse files
committed
Merge remote-tracking branch 'tsg/MC-33909-CE-1' into MC-33909
2 parents e4503a6 + c749127 commit c712401

File tree

3 files changed

+40
-25
lines changed

3 files changed

+40
-25
lines changed

dev/tests/integration/testsuite/Magento/Framework/MessageQueue/UseCase/WaitAndNotWaitMessagesTest.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ protected function setUp(): void
6565
*/
6666
public function testWaitForMessages()
6767
{
68-
$this->assertArraySubset(['queue' => ['consumers_wait_for_messages' => 1]], $this->config);
68+
$this->assertArrayHasKey('queue', $this->config);
69+
$this->assertArrayHasKey('consumers_wait_for_messages', $this->config['queue']);
70+
$this->assertEquals(1, $this->config['queue']['consumers_wait_for_messages']);
6971

7072
foreach ($this->messages as $message) {
7173
$this->publishMessage($message);
@@ -74,12 +76,12 @@ public function testWaitForMessages()
7476
$this->waitForAsynchronousResult(count($this->messages), $this->logFilePath);
7577

7678
foreach ($this->messages as $item) {
77-
$this->assertContains($item, file_get_contents($this->logFilePath));
79+
$this->assertStringContainsString($item, file_get_contents($this->logFilePath));
7880
}
7981

8082
$this->publishMessage('message4');
8183
$this->waitForAsynchronousResult(count($this->messages) + 1, $this->logFilePath);
82-
$this->assertContains('message4', file_get_contents($this->logFilePath));
84+
$this->assertStringContainsString('message4', file_get_contents($this->logFilePath));
8385
}
8486

8587
/**
@@ -93,7 +95,10 @@ public function testNotWaitForMessages(): void
9395
$config['queue']['consumers_wait_for_messages'] = 0;
9496
$this->writeConfig($config);
9597

96-
$this->assertArraySubset(['queue' => ['consumers_wait_for_messages' => 0]], $this->loadConfig());
98+
$loadedConfig = $this->loadConfig();
99+
$this->assertArrayHasKey('queue', $loadedConfig);
100+
$this->assertArrayHasKey('consumers_wait_for_messages', $loadedConfig['queue']);
101+
$this->assertEquals(0, $loadedConfig['queue']['consumers_wait_for_messages']);
97102
foreach ($this->messages as $message) {
98103
$this->publishMessage($message);
99104
}
@@ -102,14 +107,13 @@ public function testNotWaitForMessages(): void
102107
$this->waitForAsynchronousResult(count($this->messages), $this->logFilePath);
103108

104109
foreach ($this->messages as $item) {
105-
$this->assertContains($item, file_get_contents($this->logFilePath));
110+
$this->assertStringContainsString($item, file_get_contents($this->logFilePath));
106111
}
107112

108113
// Checks that consumers do not wait 4th message and die
109-
$this->assertArraySubset(
110-
['mixed.sync.and.async.queue.consumer' => []],
111-
$this->publisherConsumerController->getConsumersProcessIds()
112-
);
114+
$consumersProcessIds = $this->publisherConsumerController->getConsumersProcessIds();
115+
$this->assertArrayHasKey('mixed.sync.and.async.queue.consumer', $consumersProcessIds);
116+
$this->assertEquals([], $consumersProcessIds['mixed.sync.and.async.queue.consumer']);
113117
}
114118

115119
/**

dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/Creditmemo/SaveTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class SaveTest extends AbstractCreditmemoControllerTest
3434
public function testSendEmailOnCreditmemoSave(): void
3535
{
3636
$order = $this->prepareRequest(['creditmemo' => ['send_email' => true]]);
37-
$this->dispatch('backend/sales/order_creditmemo/save');
37+
$this->dispatch($this->uri);
3838

3939
$this->assertSessionMessages(
4040
$this->equalTo([(string)__('You created the credit memo.')]),
@@ -69,7 +69,7 @@ public function testOrderStatusPartialRefund()
6969
/** @var Order $existingOrder */
7070
$existingOrder = $this->_objectManager->create(Order::class)->loadByIncrementId('100000001');
7171
$items = $this->getOrderItems($existingOrder, 1);
72-
$requestParams = [
72+
$postParams = [
7373
'creditmemo' => [
7474
'items' => $items,
7575
'do_offline' => '1',
@@ -80,9 +80,9 @@ public function testOrderStatusPartialRefund()
8080
],
8181
'order_id' => $existingOrder->getId(),
8282
];
83-
$this->getRequest()->setMethod(HttpRequest::METHOD_POST);
84-
$this->getRequest()->setParams($requestParams);
85-
$this->dispatch('backend/sales/order_creditmemo/save');
83+
$this->getRequest()->setMethod(HttpRequest::METHOD_POST)
84+
->setPostValue($postParams);
85+
$this->dispatch($this->uri);
8686

8787
/** @var Order $updatedOrder */
8888
$updatedOrder = $this->_objectManager->create(Order::class)
@@ -101,7 +101,7 @@ public function testOrderStatusTotalRefund()
101101
{
102102
/** @var Order $existingOrder */
103103
$existingOrder = $this->_objectManager->create(Order::class)->loadByIncrementId('100000001');
104-
$requestParams = [
104+
$postParams = [
105105
'creditmemo' => [
106106
'items' => $this->getOrderItems($existingOrder),
107107
'do_offline' => '1',
@@ -112,9 +112,9 @@ public function testOrderStatusTotalRefund()
112112
],
113113
'order_id' => $existingOrder->getId(),
114114
];
115-
$this->getRequest()->setMethod(HttpRequest::METHOD_POST);
116-
$this->getRequest()->setParams($requestParams);
117-
$this->dispatch('backend/sales/order_creditmemo/save');
115+
$this->getRequest()->setMethod(HttpRequest::METHOD_POST)
116+
->setPostValue($postParams);
117+
$this->dispatch($this->uri);
118118

119119
/** @var Order $updatedOrder */
120120
$updatedOrder = $this->_objectManager->create(Order::class)

lib/internal/Magento/Framework/Archive/Tar.php

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,23 @@ protected function _unpackCurrentTar($destination)
430430
return $list;
431431
}
432432

433+
/**
434+
* Converts octal numbers to decimal ones for specific header types.
435+
*
436+
* @param array $header
437+
* @return array
438+
*/
439+
private function convertOctToDec(array $header): array
440+
{
441+
$typesToConvert = ['mode', 'uid', 'gid', 'size', 'mtime', 'checksum'];
442+
foreach ($typesToConvert as $type) {
443+
$octNum = preg_replace('/[^0-7]/', '', $header[$type]);
444+
$header[$type] = octdec($octNum);
445+
}
446+
447+
return $header;
448+
}
449+
433450
/**
434451
* Read and decode file header information from tarball
435452
*
@@ -446,13 +463,7 @@ protected function _extractFileHeader()
446463
}
447464

448465
$header = unpack(self::_getFormatParseHeader(), $headerBlock);
449-
450-
$header['mode'] = octdec($header['mode']);
451-
$header['uid'] = octdec($header['uid']);
452-
$header['gid'] = octdec($header['gid']);
453-
$header['size'] = octdec($header['size']);
454-
$header['mtime'] = octdec($header['mtime']);
455-
$header['checksum'] = octdec($header['checksum']);
466+
$header = $this->convertOctToDec($header);
456467

457468
if ($header['type'] == "5") {
458469
$header['size'] = 0;

0 commit comments

Comments
 (0)