From 2b6f9c96c6292f6f135d2a85d8c049ff921b0de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20V=20Martins?= Date: Sat, 28 Mar 2020 15:13:07 +0000 Subject: [PATCH] Add UT to reproduce symfony/symfony#36224 --- .../SendgridTransportFactoryTest.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php index cb4f775e2a5b4..fe0dd6eff524a 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php @@ -15,6 +15,7 @@ use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridSmtpTransport; use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridTransportFactory; use Symfony\Component\Mailer\Test\TransportFactoryTestCase; +use Symfony\Component\Mailer\Transport; use Symfony\Component\Mailer\Transport\Dsn; use Symfony\Component\Mailer\Transport\TransportFactoryInterface; @@ -96,4 +97,38 @@ public function incompleteDsnProvider(): iterable { yield [new Dsn('sendgrid+api', 'default')]; } + + /** + * @dataProvider fromMultiplePortsDsnProvider + */ + public function testDsnPortAssignment(string $dsn, int $port): void + { + $transport = Transport::fromDsn($dsn); + + $this->assertInstanceOf(SendgridSmtpTransport::class, $transport); + $this->assertEquals($port, $transport->getStream()->getPort()); + } + + public function fromMultiplePortsDsnProvider(): iterable + { + yield [ + 'sendgrid+smtp://apikey:SG.redacted@smtp.sendgrid.com:25', + 25, + ]; + + yield [ + 'sendgrid+smtp://apikey:SG.redacted@smtp.sendgrid.com:587', + 587, + ]; + + yield [ + 'sendgrid+smtp://apikey:SG.redacted@smtp.sendgrid.com:2525', + 2525, + ]; + + yield [ + 'sendgrid+smtp://apikey:SG.redacted@smtps.sendgrid.com:465', + 465, + ]; + } }