diff --git a/src/Symfony/Component/Messenger/Stamp/RedeliveryStamp.php b/src/Symfony/Component/Messenger/Stamp/RedeliveryStamp.php index 60c3898b08606..33bc0c94149d6 100644 --- a/src/Symfony/Component/Messenger/Stamp/RedeliveryStamp.php +++ b/src/Symfony/Component/Messenger/Stamp/RedeliveryStamp.php @@ -24,12 +24,12 @@ final class RedeliveryStamp implements StampInterface private $exceptionMessage; private $flattenException; - public function __construct(int $retryCount, string $exceptionMessage = null, FlattenException $flattenException = null) + public function __construct(int $retryCount, string $exceptionMessage = null, FlattenException $flattenException = null, \DateTimeImmutable $redeliveredAt = null) { $this->retryCount = $retryCount; $this->exceptionMessage = $exceptionMessage; $this->flattenException = $flattenException; - $this->redeliveredAt = new \DateTimeImmutable(); + $this->redeliveredAt = $redeliveredAt ?? new \DateTimeImmutable(); } public static function getRetryCountFromEnvelope(Envelope $envelope): int diff --git a/src/Symfony/Component/Messenger/Tests/Stamp/RedeliveryStampTest.php b/src/Symfony/Component/Messenger/Tests/Stamp/RedeliveryStampTest.php index 7fcabfc2d66f6..f8a2175e2bd8c 100644 --- a/src/Symfony/Component/Messenger/Tests/Stamp/RedeliveryStampTest.php +++ b/src/Symfony/Component/Messenger/Tests/Stamp/RedeliveryStampTest.php @@ -33,4 +33,10 @@ public function testGettersPopulated() $this->assertSame('exception message', $stamp->getExceptionMessage()); $this->assertSame($flattenException, $stamp->getFlattenException()); } + + public function testSerialization() + { + $stamp = new RedeliveryStamp(10, null, null, \DateTimeImmutable::createFromFormat(\DateTimeInterface::ISO8601, '2005-08-15T15:52:01+0000')); + $this->assertSame('2005-08-15T15:52:01+0000', $stamp->getRedeliveredAt()->format(\DateTimeInterface::ISO8601)); + } }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: