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)); + } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy