Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5e9ea6e

Browse files
Merge branch '7.3' into 7.4
* 7.3: remove useless @legacy annotation disable the Lock integration to not register the deduplicate middleware [Mailer] [Transport] Send clone of `RawMessage` instance in `RoundRobinTransport`
2 parents 477311f + 4b31dc6 commit 5e9ea6e

File tree

6 files changed

+27
-4
lines changed

6 files changed

+27
-4
lines changed

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_bus_name_stamp.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
'http_method_override' => false,
66
'handle_all_throwables' => true,
77
'php_errors' => ['log' => true],
8+
'lock' => false,
89
'messenger' => [
910
'default_bus' => 'messenger.bus.commands',
1011
'buses' => [

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_bus_name_stamp.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<framework:config http-method-override="false" handle-all-throwables="true">
99
<framework:annotations enabled="false" />
1010
<framework:php-errors log="true" />
11+
<framework:lock enabled="false" />
1112
<framework:messenger default-bus="messenger.bus.commands">
1213
<framework:bus name="messenger.bus.commands" default-middleware="false">
1314
<framework:middleware id="add_bus_name_stamp_middleware" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_bus_name_stamp.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ framework:
44
handle_all_throwables: true
55
php_errors:
66
log: true
7+
lock: false
78
messenger:
89
default_bus: messenger.bus.commands
910
buses:

src/Symfony/Component/Mailer/Bridge/Mailgun/Tests/Transport/MailgunApiTransportTest.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,6 @@ public function testCustomHeader()
9898
$this->assertEquals('amp-html-value', $payload['amp-html']);
9999
}
100100

101-
/**
102-
* @legacy
103-
*/
104101
public function testPrefixHeaderWithH()
105102
{
106103
$email = new Email();

src/Symfony/Component/Mailer/Tests/Transport/RoundRobinTransportTest.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
1717
use Symfony\Component\Mailer\Transport\RoundRobinTransport;
1818
use Symfony\Component\Mailer\Transport\TransportInterface;
19+
use Symfony\Component\Mime\Header\Headers;
20+
use Symfony\Component\Mime\Message;
1921
use Symfony\Component\Mime\RawMessage;
2022

2123
/**
@@ -144,6 +146,27 @@ public function testSendOneDeadAndRecoveryWithinRetryPeriod()
144146
$this->assertTransports($t, 1, []);
145147
}
146148

149+
public function testSendOneDeadMessageAlterationsDoNotPersist()
150+
{
151+
$t1 = $this->createMock(TransportInterface::class);
152+
$t1->expects($this->once())->method('send')
153+
->willReturnCallback(function (Message $message) {
154+
$message->getHeaders()->addTextHeader('X-Transport-1', 'value');
155+
throw new TransportException();
156+
});
157+
$t2 = $this->createMock(TransportInterface::class);
158+
$t2->expects($this->once())->method('send');
159+
$t = new RoundRobinTransport([$t1, $t2]);
160+
$p = new \ReflectionProperty($t, 'cursor');
161+
$p->setValue($t, 0);
162+
$headers = new Headers();
163+
$headers->addTextHeader('X-Shared', 'value');
164+
$message = new Message($headers);
165+
$t->send($message);
166+
$this->assertSame($message->getHeaders()->get('X-Shared')->getBody(), 'value');
167+
$this->assertFalse($message->getHeaders()->has('X-Transport-1'));
168+
}
169+
147170
public function testFailureDebugInformation()
148171
{
149172
$t1 = $this->createMock(TransportInterface::class);

src/Symfony/Component/Mailer/Transport/RoundRobinTransport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function send(RawMessage $message, ?Envelope $envelope = null): ?SentMess
5050

5151
while ($transport = $this->getNextTransport()) {
5252
try {
53-
return $transport->send($message, $envelope);
53+
return $transport->send(clone $message, $envelope);
5454
} catch (TransportExceptionInterface $e) {
5555
$exception ??= new TransportException('All transports failed.');
5656
$exception->appendDebug(\sprintf("Transport \"%s\": %s\n", $transport, $e->getDebug()));

0 commit comments

Comments
 (0)