From 1e648110468e076d8bf8fc6ce2e09b2aeda3a271 Mon Sep 17 00:00:00 2001 From: Cristiano Pacheco Date: Wed, 12 Apr 2023 21:57:05 -0300 Subject: [PATCH 1/5] Adds the queue_retry.xml config support --- src/Config/QueueRetryConfigInterface.php | 15 +++++++++ .../QueueRetryXmlToArrayConverter.php | 32 ++++++++++++++++++ .../FindQueueRetryLimitByTopicNameQuery.php | 28 ++++++++++++++++ src/SchemaLocator/QueueRetrySchemaLocator.php | 26 +++++++++++++++ src/etc/di.xml | 29 +++++++++++++++- src/etc/queue_retry.xsd | 33 +++++++++++++++++++ 6 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 src/Config/QueueRetryConfigInterface.php create mode 100644 src/Converter/QueueRetryXmlToArrayConverter.php create mode 100644 src/Repository/Query/FindQueueRetryLimitByTopicNameQuery.php create mode 100644 src/SchemaLocator/QueueRetrySchemaLocator.php create mode 100644 src/etc/queue_retry.xsd diff --git a/src/Config/QueueRetryConfigInterface.php b/src/Config/QueueRetryConfigInterface.php new file mode 100644 index 0000000..11337d4 --- /dev/null +++ b/src/Config/QueueRetryConfigInterface.php @@ -0,0 +1,15 @@ +>> + */ + public function convert($source): array + { + $topics = []; + + foreach ($source->getElementsByTagName('topic') as $topicNode) { + $topicAttributes = $topicNode->attributes; + $topicName = $topicAttributes->getNamedItem('name')?->nodeValue; + $retryLimit = (int)$topicAttributes->getNamedItem('retryLimit')?->nodeValue; + + $topics[$topicName] = [ + QueueRetryConfigInterface::TOPIC_NAME => $topicName, + QueueRetryConfigInterface::RETRY_LIMIT => $retryLimit, + ]; + } + + return [ QueueRetryConfigInterface::CONFIG_KEY_NAME => $topics ]; + } +} diff --git a/src/Repository/Query/FindQueueRetryLimitByTopicNameQuery.php b/src/Repository/Query/FindQueueRetryLimitByTopicNameQuery.php new file mode 100644 index 0000000..48b05d3 --- /dev/null +++ b/src/Repository/Query/FindQueueRetryLimitByTopicNameQuery.php @@ -0,0 +1,28 @@ +configStorage->get($configKey); + + if (!$queueRetryTopic) { + return null; + } + + $retryLimitKey = QueueRetryConfigInterface::RETRY_LIMIT; + return isset($queueRetryTopic[$retryLimitKey]) ? (int)$queueRetryTopic[$retryLimitKey] : null; + } +} diff --git a/src/SchemaLocator/QueueRetrySchemaLocator.php b/src/SchemaLocator/QueueRetrySchemaLocator.php new file mode 100644 index 0000000..06c5d0f --- /dev/null +++ b/src/SchemaLocator/QueueRetrySchemaLocator.php @@ -0,0 +1,26 @@ +urnResolver->getRealPath(QueueRetryConfigInterface::XSD_FILE_URN); + } + + public function getPerFileSchema(): ?string + { + return $this->urnResolver->getRealPath(QueueRetryConfigInterface::XSD_FILE_URN); + } +} diff --git a/src/etc/di.xml b/src/etc/di.xml index f0bc341..c1e979c 100644 --- a/src/etc/di.xml +++ b/src/etc/di.xml @@ -2,7 +2,8 @@ - + @@ -24,4 +25,30 @@ + + + RunAsRootQueueRetryDataStorage + + + + + RunAsRootQueueRetryReader + + RunAsRoot\MessageQueueRetry\Config\QueueRetryConfigInterface::CACHE_KEY + + + + + + + RunAsRoot\MessageQueueRetry\Config\QueueRetryConfigInterface::FILE_NAME + + + RunAsRoot\MessageQueueRetry\Converter\QueueRetryXmlToArrayConverter + + + RunAsRoot\MessageQueueRetry\SchemaLocator\QueueRetrySchemaLocator + + + diff --git a/src/etc/queue_retry.xsd b/src/etc/queue_retry.xsd new file mode 100644 index 0000000..7c3a769 --- /dev/null +++ b/src/etc/queue_retry.xsd @@ -0,0 +1,33 @@ + + + + + retryLimit must contain value greater than or equal to 1 + + + + + + + + + + + + + + + + + + + + + Topic name must be unique. + + + + + + + From 5ab2f0ca0c80784d77794b71c0ef3fae25d84080 Mon Sep 17 00:00:00 2001 From: Cristiano Pacheco Date: Thu, 13 Apr 2023 11:11:24 -0300 Subject: [PATCH 2/5] Changes to use the queue_retry xml configuration instead of regular admin config --- phpstan.neon.dist | 2 - src/Block/Adminhtml/QueuesConfig.php | 27 ----- src/Model/Config/Backend/QueuesConfig.php | 59 ----------- .../IsMessageShouldBeSavedForRetryService.php | 24 +---- src/System/Config/MessageQueueRetryConfig.php | 34 ------ ...essageShouldBeSavedForRetryServiceTest.php | 2 +- .../Config/MessageQueueRetryConfigTest.php | 24 ----- .../Config/_files/delay_queues_config.json | 1 - .../QueueConfigurationValidatorTest.php | 100 ------------------ src/Validator/QueueConfigurationValidator.php | 68 ------------ src/etc/adminhtml/system.xml | 10 -- 11 files changed, 6 insertions(+), 345 deletions(-) delete mode 100644 src/Block/Adminhtml/QueuesConfig.php delete mode 100644 src/Model/Config/Backend/QueuesConfig.php delete mode 100644 src/Test/Unit/System/Config/_files/delay_queues_config.json delete mode 100644 src/Test/Unit/Validator/QueueConfigurationValidatorTest.php delete mode 100644 src/Validator/QueueConfigurationValidator.php diff --git a/phpstan.neon.dist b/phpstan.neon.dist index c887a21..98a6ce2 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -5,8 +5,6 @@ parameters: excludePaths: analyseAndScan: - src/Test - ignoreErrors: - - '#Method .*construct\(\) has parameter \$data with no value type specified in iterable type array#' includes: - vendor/bitexpert/phpstan-magento/extension.neon diff --git a/src/Block/Adminhtml/QueuesConfig.php b/src/Block/Adminhtml/QueuesConfig.php deleted file mode 100644 index f4688cf..0000000 --- a/src/Block/Adminhtml/QueuesConfig.php +++ /dev/null @@ -1,27 +0,0 @@ -addColumn( - MessageQueueRetryConfig::MAIN_TOPIC_NAME, - [ 'label' => __('Main Topic Name'), 'class' => 'required-entry' ] - ); - - $this->addColumn( - MessageQueueRetryConfig::RETRY_LIMIT, - [ 'label' => __('Retry Limit'), 'class' => 'required-entry validate-zero-or-greater' ] - ); - - $this->_addAfter = false; - $this->_addButtonLabel = 'Add'; - } -} diff --git a/src/Model/Config/Backend/QueuesConfig.php b/src/Model/Config/Backend/QueuesConfig.php deleted file mode 100644 index f76b703..0000000 --- a/src/Model/Config/Backend/QueuesConfig.php +++ /dev/null @@ -1,59 +0,0 @@ - $value */ - $value = $this->getValue(); - - if (!is_array($value)) { - return parent::beforeSave(); - } - - $this->queueConfigurationValidator->validate($value); - - return parent::beforeSave(); - } -} diff --git a/src/Service/IsMessageShouldBeSavedForRetryService.php b/src/Service/IsMessageShouldBeSavedForRetryService.php index e53fc5c..edfe657 100644 --- a/src/Service/IsMessageShouldBeSavedForRetryService.php +++ b/src/Service/IsMessageShouldBeSavedForRetryService.php @@ -4,21 +4,19 @@ namespace RunAsRoot\MessageQueueRetry\Service; -use JsonException; use Magento\Framework\MessageQueue\EnvelopeInterface; +use RunAsRoot\MessageQueueRetry\Repository\Query\FindQueueRetryLimitByTopicNameQuery; use RunAsRoot\MessageQueueRetry\System\Config\MessageQueueRetryConfig; class IsMessageShouldBeSavedForRetryService { public function __construct( private MessageQueueRetryConfig $messageQueueRetryConfig, - private GetMessageRetriesCountService $getMessageRetriesCountService + private GetMessageRetriesCountService $getMessageRetriesCountService, + private FindQueueRetryLimitByTopicNameQuery $findQueueRetryLimitByTopicNameQuery ) { } - /** - * @throws JsonException - */ public function execute(EnvelopeInterface $message): bool { if (!$this->messageQueueRetryConfig->isDelayQueueEnabled()) { @@ -38,24 +36,12 @@ public function execute(EnvelopeInterface $message): bool return false; } - $queueConfiguration = $this->getQueueConfiguration($topicName); + $retryLimit = $this->findQueueRetryLimitByTopicNameQuery->execute($topicName); - if (!$queueConfiguration) { + if ($retryLimit === null) { return false; } - $retryLimit = $queueConfiguration[MessageQueueRetryConfig::RETRY_LIMIT] ?? 0; - return $totalRetries >= $retryLimit; } - - /** - * @throws JsonException - * @return array|null - */ - private function getQueueConfiguration(string $topicName): ?array - { - $delayQueueConfiguration = $this->messageQueueRetryConfig->getDelayQueues(); - return $delayQueueConfiguration[$topicName] ?? null; - } } diff --git a/src/System/Config/MessageQueueRetryConfig.php b/src/System/Config/MessageQueueRetryConfig.php index 9d9bff6..651a02e 100644 --- a/src/System/Config/MessageQueueRetryConfig.php +++ b/src/System/Config/MessageQueueRetryConfig.php @@ -4,15 +4,10 @@ namespace RunAsRoot\MessageQueueRetry\System\Config; -use JsonException; use Magento\Framework\App\Config\ScopeConfigInterface; class MessageQueueRetryConfig { - public const MAIN_TOPIC_NAME = 'main_topic_name'; - public const DELAY_TOPIC_NAME = 'delay_topic_name'; - public const RETRY_LIMIT = 'retry_limit'; - private const XML_PATH_DELAY_QUEUES = 'message_queue_retry/general/delay_queues'; private const XML_PATH_ENABLE_DELAY_QUEUE = 'message_queue_retry/general/enable_delay_queue'; public function __construct(private ScopeConfigInterface $scopeConfig) @@ -23,33 +18,4 @@ public function isDelayQueueEnabled(): bool { return $this->scopeConfig->isSetFlag(self::XML_PATH_ENABLE_DELAY_QUEUE); } - - /** - * @return array> - * @throws JsonException - */ - public function getDelayQueues(): array - { - $configValues = $this->scopeConfig->getValue(self::XML_PATH_DELAY_QUEUES); - - if (!$configValues) { - return []; - } - - $configValues = json_decode($configValues, true, 512, JSON_THROW_ON_ERROR); - - $result = []; - - foreach ($configValues as $configValue) { - $mainTopicName = $configValue[self::MAIN_TOPIC_NAME] ?? null; - $retryLimit = isset($configValue[self::RETRY_LIMIT]) ? (int)$configValue[self::RETRY_LIMIT] : null; - $result[$mainTopicName] = [ - self::MAIN_TOPIC_NAME => $mainTopicName, - self::DELAY_TOPIC_NAME => $configValue[self::DELAY_TOPIC_NAME] ?? null, - self::RETRY_LIMIT => $retryLimit, - ]; - } - - return $result; - } } diff --git a/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php b/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php index e14dcbd..e7c2e18 100644 --- a/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php +++ b/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php @@ -13,9 +13,9 @@ final class IsMessageShouldBeSavedForRetryServiceTest extends TestCase { + private IsMessageShouldBeSavedForRetryService $sut; private MessageQueueRetryConfig|MockObject $messageQueueRetryConfigMock; private GetMessageRetriesCountService|MockObject $getMessageRetriesCountServiceMock; - private IsMessageShouldBeSavedForRetryService $sut; protected function setUp(): void { diff --git a/src/Test/Unit/System/Config/MessageQueueRetryConfigTest.php b/src/Test/Unit/System/Config/MessageQueueRetryConfigTest.php index 803825c..d55c348 100644 --- a/src/Test/Unit/System/Config/MessageQueueRetryConfigTest.php +++ b/src/Test/Unit/System/Config/MessageQueueRetryConfigTest.php @@ -24,28 +24,4 @@ public function testIsDelayQueueEnabled(): void $this->scopeConfigMock->expects($this->once())->method('isSetFlag')->with($configPath)->willReturn(true); $this->assertTrue($this->sut->isDelayQueueEnabled()); } - - public function testGetDelayQueues(): void - { - $configPath = 'message_queue_retry/general/delay_queues'; - $configValues = $this->getDelayQueuesJson(); - $this->scopeConfigMock->expects($this->once())->method('getValue')->with($configPath)->willReturn($configValues); - - $result = $this->sut->getDelayQueues(); - - $expected = [ - 'sample_topic' => [ - 'main_topic_name' => 'sample_topic', - 'delay_topic_name' => 'sample_topic_delay', - 'retry_limit' => 3, - ], - ]; - - $this->assertEquals($expected, $result); - } - - private function getDelayQueuesJson(): string - { - return trim(file_get_contents(__DIR__ . '/_files/delay_queues_config.json')); - } } diff --git a/src/Test/Unit/System/Config/_files/delay_queues_config.json b/src/Test/Unit/System/Config/_files/delay_queues_config.json deleted file mode 100644 index 506c03f..0000000 --- a/src/Test/Unit/System/Config/_files/delay_queues_config.json +++ /dev/null @@ -1 +0,0 @@ -{"_1677026917539_539":{"main_topic_name":"sample_topic","delay_topic_name":"sample_topic_delay","retry_limit":"3"}} diff --git a/src/Test/Unit/Validator/QueueConfigurationValidatorTest.php b/src/Test/Unit/Validator/QueueConfigurationValidatorTest.php deleted file mode 100644 index e517cee..0000000 --- a/src/Test/Unit/Validator/QueueConfigurationValidatorTest.php +++ /dev/null @@ -1,100 +0,0 @@ -sut = new QueueConfigurationValidator(); - } - - /** - * @dataProvider validConfigDataProvider - */ - public function testValidConfig(array $configValues): void - { - $this->assertTrue($this->sut->validate($configValues)); - } - - /** - * @dataProvider invalidConfigDataProvider - */ - public function testInvalidConfig(array $configValues): void - { - $this->expectException(InvalidQueueConfigurationException::class); - - $this->sut->validate($configValues); - } - - public function validConfigDataProvider(): array - { - return [ - [ - [ - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic1', - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic2', - ], - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic3', - ConfigFieldNames::DELAY_TOPIC_NAME => null, - ], - [ - ConfigFieldNames::MAIN_TOPIC_NAME => null, - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic4', - ], - [ - ConfigFieldNames::MAIN_TOPIC_NAME => null, - ConfigFieldNames::DELAY_TOPIC_NAME => null, - ], - ], - ], - ]; - } - - public function invalidConfigDataProvider(): array - { - return [ - [ - [ - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic1', - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic2', - ], - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic1', - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic3', - ], - ] - ], - [ - [ - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic1', - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic2', - ], - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic3', - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic2', - ], - ] - ], - [ - [ - [ - ConfigFieldNames::MAIN_TOPIC_NAME => 'topic1', - ConfigFieldNames::DELAY_TOPIC_NAME => 'topic1', - ], - ] - ], - ]; - } -} diff --git a/src/Validator/QueueConfigurationValidator.php b/src/Validator/QueueConfigurationValidator.php deleted file mode 100644 index d543bd7..0000000 --- a/src/Validator/QueueConfigurationValidator.php +++ /dev/null @@ -1,68 +0,0 @@ - $configValues - * @throws InvalidQueueConfigurationException - */ - public function validate(array $configValues): bool - { - $this->performUniqueValidation($configValues, ConfigFieldNames::MAIN_TOPIC_NAME, 'Main'); - $this->performUniqueValidation($configValues, ConfigFieldNames::DELAY_TOPIC_NAME, 'Delay'); - - foreach ($configValues as $configValue) { - $mainTopicName = $configValue[ConfigFieldNames::MAIN_TOPIC_NAME] ?? null; - $delayTopicName = $configValue[ConfigFieldNames::DELAY_TOPIC_NAME] ?? null; - - if ($mainTopicName === null && $delayTopicName === null) { - continue; - } - - if ($mainTopicName === $delayTopicName) { - throw new InvalidQueueConfigurationException( - new Phrase( - 'The main topic name "%1" and delay topic name "%2" cannot be the same.', - [ $mainTopicName, $delayTopicName ] - ) - ); - } - } - - return true; - } - - /** - * @param array $configValues - * @throws InvalidQueueConfigurationException - */ - private function performUniqueValidation(array $configValues, string $field, string $name): void - { - $topicNames = []; - - foreach ($configValues as $configValue) { - if (!isset($configValue[$field])) { - continue; - } - - if (in_array($configValue[$field], $topicNames)) { - throw new InvalidQueueConfigurationException( - new Phrase( - '%1 topic name "%2" is already used.', - [ $name, $configValue[$field] ] - ) - ); - } - - $topicNames[] = $configValue[$field]; - } - } -} diff --git a/src/etc/adminhtml/system.xml b/src/etc/adminhtml/system.xml index 77c4fa1..5715d31 100644 --- a/src/etc/adminhtml/system.xml +++ b/src/etc/adminhtml/system.xml @@ -22,16 +22,6 @@ default Magento behavior will run instead. - - - RunAsRoot\MessageQueueRetry\Block\Adminhtml\QueuesConfig - RunAsRoot\MessageQueueRetry\Model\Config\Backend\QueuesConfig - - Please, provide the topic name of the queue that is within the communication.xml file. - After the retry limit is reached the message will be sent to the failed messages grid. - - From cc43153ff142269b93c81a109d03978b4e905213 Mon Sep 17 00:00:00 2001 From: Cristiano Pacheco Date: Thu, 13 Apr 2023 12:18:14 -0300 Subject: [PATCH 3/5] Unit tests --- .../QueueRetryXmlToArrayConverterTest.php | 44 +++++++++++++++ .../Unit/Converter/_files/queue_retry.xml | 6 +++ .../Model/Config/Backend/QueuesConfigTest.php | 54 ------------------- ...indQueueRetryLimitByTopicNameQueryTest.php | 43 +++++++++++++++ .../QueueRetrySchemaLocatorTest.php | 43 +++++++++++++++ .../GetMessageRetriesCountServiceTest.php | 30 ++++++++--- ...essageShouldBeSavedForRetryServiceTest.php | 41 ++++++-------- 7 files changed, 177 insertions(+), 84 deletions(-) create mode 100644 src/Test/Unit/Converter/QueueRetryXmlToArrayConverterTest.php create mode 100644 src/Test/Unit/Converter/_files/queue_retry.xml delete mode 100644 src/Test/Unit/Model/Config/Backend/QueuesConfigTest.php create mode 100644 src/Test/Unit/Repository/Query/FindQueueRetryLimitByTopicNameQueryTest.php create mode 100644 src/Test/Unit/SchemaLocator/QueueRetrySchemaLocatorTest.php diff --git a/src/Test/Unit/Converter/QueueRetryXmlToArrayConverterTest.php b/src/Test/Unit/Converter/QueueRetryXmlToArrayConverterTest.php new file mode 100644 index 0000000..5d5a2ae --- /dev/null +++ b/src/Test/Unit/Converter/QueueRetryXmlToArrayConverterTest.php @@ -0,0 +1,44 @@ +sut = new QueueRetryXmlToArrayConverter(); + } + + public function testConvert(): void + { + $doc = new \DOMDocument(); + $doc->loadXML($this->getQueueRetryXmlFile()); + + $result = $this->sut->convert($doc); + + $expected = [ + 'queue_retry_topics' => [ + 'sample_topic' => [ + 'topic_name' => 'sample_topic', + 'retry_limit' => 3, + ], + 'another_topic' => [ + 'topic_name' => 'another_topic', + 'retry_limit' => 10, + ], + ], + ]; + + $this->assertEquals($expected, $result); + } + + public function getQueueRetryXmlFile(): string + { + return file_get_contents(__DIR__ . '/_files/queue_retry.xml'); + } +} diff --git a/src/Test/Unit/Converter/_files/queue_retry.xml b/src/Test/Unit/Converter/_files/queue_retry.xml new file mode 100644 index 0000000..17246ed --- /dev/null +++ b/src/Test/Unit/Converter/_files/queue_retry.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/src/Test/Unit/Model/Config/Backend/QueuesConfigTest.php b/src/Test/Unit/Model/Config/Backend/QueuesConfigTest.php deleted file mode 100644 index 1a1d3e9..0000000 --- a/src/Test/Unit/Model/Config/Backend/QueuesConfigTest.php +++ /dev/null @@ -1,54 +0,0 @@ -createMock(Context::class); - $eventManagerMock = $this->createMock(ManagerInterface::class); - $contextMock->expects($this->once())->method('getEventDispatcher')->willReturn($eventManagerMock); - $registryMock = $this->createMock(Registry::class); - $configMock = $this->createMock(ScopeConfigInterface::class); - $cacheTypeListMock = $this->createMock(TypeListInterface::class); - $abstractResourceMock = $this->createMock(AbstractResource::class); - $abstractDbMock = $this->createMock(AbstractDb::class); - $this->queueConfigurationValidatorMock = $this->createMock(QueueConfigurationValidator::class); - $this->sut = new QueuesConfig( - $contextMock, - $registryMock, - $configMock, - $cacheTypeListMock, - $this->queueConfigurationValidatorMock, - $abstractResourceMock, - $abstractDbMock - ); - } - - public function testBeforeSave(): void - { - $this->sut->setValue([]); - - $this->queueConfigurationValidatorMock->expects($this->once())->method('validate')->with([]); - - $this->sut->beforeSave(); - } -} diff --git a/src/Test/Unit/Repository/Query/FindQueueRetryLimitByTopicNameQueryTest.php b/src/Test/Unit/Repository/Query/FindQueueRetryLimitByTopicNameQueryTest.php new file mode 100644 index 0000000..99b3e59 --- /dev/null +++ b/src/Test/Unit/Repository/Query/FindQueueRetryLimitByTopicNameQueryTest.php @@ -0,0 +1,43 @@ +configStorageMock = $this->createMock(DataInterface::class); + $this->sut = new FindQueueRetryLimitByTopicNameQuery($this->configStorageMock); + } + + /** + * @dataProvider dataProvider + */ + public function testExecute($expected, $topicName, $config): void + { + $configKey = QueueRetryConfigInterface::CONFIG_KEY_NAME . '/' . $topicName; + $this->configStorageMock->expects($this->once())->method('get')->with($configKey)->willReturn($config); + + $result = $this->sut->execute($topicName); + + $this->assertEquals($expected, $result); + } + + public function dataProvider(): array + { + return [ + [3, 'sample_topic', ['retry_limit' => '3']], + [null, 'sample_topic', ['some_key' => '3']], + [null, 'sample_topic', null], + ]; + } +} diff --git a/src/Test/Unit/SchemaLocator/QueueRetrySchemaLocatorTest.php b/src/Test/Unit/SchemaLocator/QueueRetrySchemaLocatorTest.php new file mode 100644 index 0000000..076fcc4 --- /dev/null +++ b/src/Test/Unit/SchemaLocator/QueueRetrySchemaLocatorTest.php @@ -0,0 +1,43 @@ +urnResolverMock = $this->createMock(UrnResolver::class); + $this->sut = new QueueRetrySchemaLocator($this->urnResolverMock); + } + + public function testGetSchema(): void + { + $urn = QueueRetryConfigInterface::XSD_FILE_URN; + $realPath = 'some-path'; + $this->urnResolverMock->expects($this->once())->method('getRealPath')->with($urn)->willReturn($realPath); + + $result = $this->sut->getSchema(); + + $this->assertEquals($realPath, $result); + } + + public function testGetPerFileSchema(): void + { + $urn = QueueRetryConfigInterface::XSD_FILE_URN; + $realPath = 'some-path'; + $this->urnResolverMock->expects($this->once())->method('getRealPath')->with($urn)->willReturn($realPath); + + $result = $this->sut->getPerFileSchema(); + + $this->assertEquals($realPath, $result); + } +} diff --git a/src/Test/Unit/Service/GetMessageRetriesCountServiceTest.php b/src/Test/Unit/Service/GetMessageRetriesCountServiceTest.php index 9024f51..a430222 100644 --- a/src/Test/Unit/Service/GetMessageRetriesCountServiceTest.php +++ b/src/Test/Unit/Service/GetMessageRetriesCountServiceTest.php @@ -11,6 +11,13 @@ final class GetMessageRetriesCountServiceTest extends TestCase { + private GetMessageRetriesCountService $sut; + + protected function setUp(): void + { + $this->sut = new GetMessageRetriesCountService(); + } + public function testItGetsMessageRetriesCount(): void { $testRetriesCount = 3; @@ -21,10 +28,9 @@ public function testItGetsMessageRetriesCount(): void $messageProperties = ['application_headers' => $applicationHeaders, 'topic_name' => $topicName]; $messageMock->expects($this->once())->method('getProperties')->willReturn($messageProperties); - $sut = new GetMessageRetriesCountService(); - $retriesCount = $sut->execute($messageMock); + $retriesCount = $this->sut->execute($messageMock); - self::assertEquals($testRetriesCount, $retriesCount); + $this->assertEquals($testRetriesCount, $retriesCount); } public function testItReturnsZeroAfterFirstProcessingBecauseItIsNotRetry(): void @@ -33,9 +39,21 @@ public function testItReturnsZeroAfterFirstProcessingBecauseItIsNotRetry(): void $messageProperties = [ ]; $messageMock->expects($this->once())->method('getProperties')->willReturn($messageProperties); - $sut = new GetMessageRetriesCountService(); - $retriesCount = $sut->execute($messageMock); + $retriesCount = $this->sut->execute($messageMock); + + $this->assertEquals(0, $retriesCount); + } + + public function testItReturnsZeroAsFallback(): void + { + $messageMock = $this->createMock(Envelope::class); + $applicationHeaders = new AMQPTable(['x-death' => [['count' => null]]]); + $topicName = 'sample_topic'; + $messageProperties = ['application_headers' => $applicationHeaders, 'topic_name' => $topicName]; + $messageMock->expects($this->once())->method('getProperties')->willReturn($messageProperties); + + $retriesCount = $this->sut->execute($messageMock); - self::assertEquals(0, $retriesCount); + $this->assertEquals(0, $retriesCount); } } diff --git a/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php b/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php index e7c2e18..d39c752 100644 --- a/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php +++ b/src/Test/Unit/Service/IsMessageShouldBeSavedForRetryServiceTest.php @@ -7,6 +7,7 @@ use Magento\Framework\MessageQueue\Envelope; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; +use RunAsRoot\MessageQueueRetry\Repository\Query\FindQueueRetryLimitByTopicNameQuery; use RunAsRoot\MessageQueueRetry\Service\GetMessageRetriesCountService; use RunAsRoot\MessageQueueRetry\Service\IsMessageShouldBeSavedForRetryService; use RunAsRoot\MessageQueueRetry\System\Config\MessageQueueRetryConfig; @@ -16,27 +17,29 @@ final class IsMessageShouldBeSavedForRetryServiceTest extends TestCase private IsMessageShouldBeSavedForRetryService $sut; private MessageQueueRetryConfig|MockObject $messageQueueRetryConfigMock; private GetMessageRetriesCountService|MockObject $getMessageRetriesCountServiceMock; + private FindQueueRetryLimitByTopicNameQuery|MockObject $findQueueRetryLimitByTopicNameQueryMock; protected function setUp(): void { $this->messageQueueRetryConfigMock = $this->createMock(MessageQueueRetryConfig::class); $this->getMessageRetriesCountServiceMock = $this->createMock(GetMessageRetriesCountService::class); - - $this->messageQueueRetryConfigMock->method('isDelayQueueEnabled')->willReturn(true); + $this->findQueueRetryLimitByTopicNameQueryMock = $this->createMock(FindQueueRetryLimitByTopicNameQuery::class); $this->sut = new IsMessageShouldBeSavedForRetryService( $this->messageQueueRetryConfigMock, - $this->getMessageRetriesCountServiceMock + $this->getMessageRetriesCountServiceMock, + $this->findQueueRetryLimitByTopicNameQueryMock ); } public function testItReturnsTrueIfRetryLimitIsReached(): void { $testMessageProperties = ['topic_name' => 'sample_topic']; - $testQueueConfiguration = ['sample_topic' => ['retry_limit' => 2]]; + $this->messageQueueRetryConfigMock->method('isDelayQueueEnabled')->willReturn(true); $this->getMessageRetriesCountServiceMock->expects($this->once())->method('execute')->willReturn(2); - $this->messageQueueRetryConfigMock->expects($this->once())->method('getDelayQueues')->willReturn($testQueueConfiguration); + $this->findQueueRetryLimitByTopicNameQueryMock->expects($this->once())->method('execute') + ->with('sample_topic')->willReturn(2); $result = $this->sut->execute(new Envelope('', $testMessageProperties)); $this->assertTrue($result); @@ -45,10 +48,11 @@ public function testItReturnsTrueIfRetryLimitIsReached(): void public function testItReturnsFalseIfRetryLimitIsNotReached(): void { $testMessageProperties = ['topic_name' => 'sample_topic']; - $testQueueConfiguration = ['sample_topic' => ['retry_limit' => 2]]; + $this->messageQueueRetryConfigMock->method('isDelayQueueEnabled')->willReturn(true); $this->getMessageRetriesCountServiceMock->expects($this->once())->method('execute')->willReturn(1); - $this->messageQueueRetryConfigMock->expects($this->once())->method('getDelayQueues')->willReturn($testQueueConfiguration); + $this->findQueueRetryLimitByTopicNameQueryMock->expects($this->once())->method('execute') + ->with('sample_topic')->willReturn(2); $result = $this->sut->execute(new Envelope('', $testMessageProperties)); $this->assertFalse($result); @@ -57,22 +61,11 @@ public function testItReturnsFalseIfRetryLimitIsNotReached(): void public function testItReturnsFalseIfQueueConfigHasNoRetryLimit(): void { $testMessageProperties = ['topic_name' => 'sample_topic']; - $testQueueConfiguration = ['sample_topic' => []]; - - $this->getMessageRetriesCountServiceMock->expects($this->once())->method('execute')->willReturn(1); - $this->messageQueueRetryConfigMock->expects($this->once())->method('getDelayQueues')->willReturn($testQueueConfiguration); - - $result = $this->sut->execute(new Envelope('', $testMessageProperties)); - $this->assertFalse($result); - } - - public function testItReturnsFalseIfQueueIsNotConfigured(): void - { - $testMessageProperties = ['topic_name' => 'sample_topic']; - $testQueueConfiguration = ['another_topic' => ['retry_limit' => 1]]; + $this->messageQueueRetryConfigMock->method('isDelayQueueEnabled')->willReturn(true); $this->getMessageRetriesCountServiceMock->expects($this->once())->method('execute')->willReturn(1); - $this->messageQueueRetryConfigMock->expects($this->once())->method('getDelayQueues')->willReturn($testQueueConfiguration); + $this->findQueueRetryLimitByTopicNameQueryMock->expects($this->once())->method('execute') + ->with('sample_topic')->willReturn(null); $result = $this->sut->execute(new Envelope('', $testMessageProperties)); $this->assertFalse($result); @@ -80,6 +73,7 @@ public function testItReturnsFalseIfQueueIsNotConfigured(): void public function testItReturnsFalseIfMessageHasNoTopicName(): void { + $this->messageQueueRetryConfigMock->method('isDelayQueueEnabled')->willReturn(true); $this->getMessageRetriesCountServiceMock->expects($this->once())->method('execute')->willReturn(1); $result = $this->sut->execute(new Envelope('', [])); @@ -88,6 +82,7 @@ public function testItReturnsFalseIfMessageHasNoTopicName(): void public function testItReturnsFalseIfItIsFirstTimeConsuming(): void { + $this->messageQueueRetryConfigMock->method('isDelayQueueEnabled')->willReturn(true); $this->getMessageRetriesCountServiceMock->expects($this->once())->method('execute')->willReturn(0); $result = $this->sut->execute(new Envelope('', [])); @@ -96,9 +91,7 @@ public function testItReturnsFalseIfItIsFirstTimeConsuming(): void public function testItReturnsFalseIfConfigDisabled(): void { - $this->messageQueueRetryConfigMock->expects($this->once()) - ->method('isDelayQueueEnabled') - ->willReturn(false); + $this->messageQueueRetryConfigMock->expects($this->once())->method('isDelayQueueEnabled')->willReturn(false); $result = $this->sut->execute(new Envelope('', [])); $this->assertFalse($result); From 6e2b991e3cb53f8542405d764b102707fbc9d9c5 Mon Sep 17 00:00:00 2001 From: Cristiano Pacheco Date: Thu, 13 Apr 2023 14:04:53 -0300 Subject: [PATCH 4/5] Docs update --- README.md | 25 ++++++++++++++++++++++--- docs/configuration.png | Bin 119736 -> 78139 bytes 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e5221a2..200652b 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,10 @@ Is possible to configure the ACL for each action in the grid and the module conf Two steps are necessary to configure the retry for a queue: 1. Configure the dead letter exchange -2. Enable the message queue retry and declare the retry limit configuration +1. Declare the retry limit xml configuration +1. Enable the message queue retry admin configuration + +#### 1. Configuring the dead letter exchange Let's imagine a scenario that the `erp_order_export` queue already exists in your project and to simplify the example the topic name, exchange name and queue name are the same: `erp_order_export`. @@ -172,13 +175,29 @@ We added the `erp_order_export_delay` exchange and binding, it points to the ori The `erp_order_export_delay` queue does not have a consumer, it will be used only to hold(delay) messages according with the period defined in the `x-message-ttl` argument. -Now you have to define toggle the activation for the retry queue module and declare the retry limit for the queue: +#### 2. Declaring the retry limit xml configuration + +Create the `Vendor_ModuleName/etc/queue_retry.xml` file with the content: + +```xml + + + + +``` + +#### 3. Enabling the message queue retry admin configuration + +Now you have to toggle the activation for the retry queue module: System > Configuration > RUN-AS-ROOT > Message Queue Retry ![img.png](docs/configuration.png) -**Important note:** Make sure to configure the retry limit of your queue in the module configuration. If you configure the dead letter exchange and do not set the retry limit in the configuration(System > Configuration > RUN-AS-ROOT > Message Queue Retry), the message will be in a retry loop, that is, execute until the consumer process the message without throwing an exception. This is the default behavior for the RabbitMQ dead letter exchange and will work this way even if this module is not installed. +**Important note:** Make sure to configure the retry limit of your queue with the `queue_retry.xml` file and enable the message queue retry configuration. +If you configure the dead letter exchange and not do the steps mentioned, the message will be in a retry loop, that is, execute until the consumer process the message without throwing an exception. +This is the default behavior for the RabbitMQ dead letter exchange and will work this way even if this module is not installed. For more information of how to configure message queues in Magento 2, you can take a look [here](https://developer.adobe.com/commerce/php/development/components/message-queues/configuration/). diff --git a/docs/configuration.png b/docs/configuration.png index 14d7258245149ea8a76ca8f8ab245550b57c09d0..52d6e84fca98a4d91475e4c64db5bd6b5b774215 100644 GIT binary patch literal 78139 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%0DYYHv$!u0H2T)OA)GVVD=4rVe#4K8ulhr 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 From b35b4db6cd55aff8ba1dc432e04c6656e85e2be8 Mon Sep 17 00:00:00 2001 From: Cristiano Pacheco Date: Thu, 13 Apr 2023 14:10:07 -0300 Subject: [PATCH 5/5] Docs update --- README.md | 6 +++--- .../{configuration.png => module-configuration.png} | Bin 2 files changed, 3 insertions(+), 3 deletions(-) rename docs/{configuration.png => module-configuration.png} (100%) diff --git a/README.md b/README.md index 200652b..c2ef725 100644 --- a/README.md +++ b/README.md @@ -193,10 +193,10 @@ Now you have to toggle the activation for the retry queue module: System > Configuration > RUN-AS-ROOT > Message Queue Retry -![img.png](docs/configuration.png) +![img.png](docs/module-configuration.png) -**Important note:** Make sure to configure the retry limit of your queue with the `queue_retry.xml` file and enable the message queue retry configuration. -If you configure the dead letter exchange and not do the steps mentioned, the message will be in a retry loop, that is, execute until the consumer process the message without throwing an exception. +**Important note:** Make sure to configure the retry limit of your queue with the `queue_retry.xml` file and enable the message queue retry configuration. +If you configure the dead letter exchange and do not do the steps mentioned, the message will be in a retry loop. In other words, it will execute until the consumer processes the message without throwing an exception. This is the default behavior for the RabbitMQ dead letter exchange and will work this way even if this module is not installed. For more information of how to configure message queues in Magento 2, you can take a look [here](https://developer.adobe.com/commerce/php/development/components/message-queues/configuration/). diff --git a/docs/configuration.png b/docs/module-configuration.png similarity index 100% rename from docs/configuration.png rename to docs/module-configuration.png