From 356acaaf7b30fd2f844467f173dd0882fd578e8f Mon Sep 17 00:00:00 2001 From: Maksim Kotlyar Date: Mon, 28 Aug 2017 14:05:15 +0300 Subject: [PATCH] [client] DelayRedeliveredMessageExtension. Add reject reason. --- .../DelayRedeliveredMessageExtension.php | 2 +- .../DelayRedeliveredMessageExtensionTest.php | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pkg/enqueue/Client/ConsumptionExtension/DelayRedeliveredMessageExtension.php b/pkg/enqueue/Client/ConsumptionExtension/DelayRedeliveredMessageExtension.php index f6169080a..98fa483fa 100644 --- a/pkg/enqueue/Client/ConsumptionExtension/DelayRedeliveredMessageExtension.php +++ b/pkg/enqueue/Client/ConsumptionExtension/DelayRedeliveredMessageExtension.php @@ -60,7 +60,7 @@ public function onPreReceived(Context $context) $this->driver->sendToProcessor($delayedMessage); $context->getLogger()->debug('[DelayRedeliveredMessageExtension] Send delayed message'); - $context->setResult(Result::REJECT); + $context->setResult(Result::reject('A new copy of the message was sent with a delay. The original message is rejected')); $context->getLogger()->debug( '[DelayRedeliveredMessageExtension] '. 'Reject redelivered original message by setting reject status to context.' diff --git a/pkg/enqueue/Tests/Client/ConsumptionExtension/DelayRedeliveredMessageExtensionTest.php b/pkg/enqueue/Tests/Client/ConsumptionExtension/DelayRedeliveredMessageExtensionTest.php index 75e701341..b61a3416c 100644 --- a/pkg/enqueue/Tests/Client/ConsumptionExtension/DelayRedeliveredMessageExtensionTest.php +++ b/pkg/enqueue/Tests/Client/ConsumptionExtension/DelayRedeliveredMessageExtensionTest.php @@ -66,15 +66,18 @@ public function testShouldSendDelayedMessageAndRejectOriginalMessage() $context->setPsrMessage($originMessage); $context->setLogger($logger); - self::assertNull($context->getResult()); + $this->assertNull($context->getResult()); $extension = new DelayRedeliveredMessageExtension($driver, 12345); $extension->onPreReceived($context); - self::assertEquals(Result::REJECT, $context->getResult()); + $result = $context->getResult(); + $this->assertInstanceOf(Result::class, $result); + $this->assertSame(Result::REJECT, $result->getStatus()); + $this->assertSame('A new copy of the message was sent with a delay. The original message is rejected', $result->getReason()); - self::assertInstanceOf(Message::class, $delayedMessage); - self::assertEquals([ + $this->assertInstanceOf(Message::class, $delayedMessage); + $this->assertEquals([ 'enqueue.redelivery_count' => 1, ], $delayedMessage->getProperties()); } @@ -95,7 +98,7 @@ public function testShouldDoNothingIfMessageIsNotRedelivered() $extension = new DelayRedeliveredMessageExtension($driver, 12345); $extension->onPreReceived($context); - self::assertNull($context->getResult()); + $this->assertNull($context->getResult()); } public function testShouldDoNothingIfMessageIsRedeliveredButResultWasAlreadySetOnContext()