From 9b4d037cbc228a75ccac9d28d60bf189b036eaae Mon Sep 17 00:00:00 2001 From: Starfox64 <1530720+Starfox64@users.noreply.github.com> Date: Tue, 11 Apr 2023 00:58:03 +0200 Subject: [PATCH 1/6] Change MailJet SentMessage ID to the first MessageID instead of the request ID --- .../Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php index 8440ecf9ab3f3..e3066e81c919a 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php @@ -85,7 +85,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e throw new HttpTransportException(sprintf('Unable to send an email: "%s" malformed api response.', $response->getContent(false)), $response); } - $sentMessage->setMessageId($response->getHeaders(false)['x-mj-request-guid'][0]); + $sentMessage->setMessageId((string) $result['Messages'][0]['To'][0]['MessageID'] ?? ''); return $response; } From b3af2b2f67dee1dc5e459cc583bfc24ccae72e64 Mon Sep 17 00:00:00 2001 From: Starfox64 <1530720+Starfox64@users.noreply.github.com> Date: Tue, 11 Apr 2023 08:36:35 +0000 Subject: [PATCH 2/6] Update MailjetApiTransportTest::testSendSuccess with real message schema --- .../Transport/MailjetApiTransportTest.php | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php index 703b01dc34e31..49268078619f2 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php @@ -102,15 +102,21 @@ public function testSendSuccess() { $json = json_encode([ 'Messages' => [ - 'foo' => 'bar', + [ + 'Status' => 'success', + 'To' => [ + [ + 'Email' => 'passenger1@mailjet.com', + 'MessageUUID' => '7c5f9f29-42ba-4959-b19c-dcd8b2f327ca', + 'MessageID' => 576460756513665525, + 'MessageHref' => 'https://api.mailjet.com/v3/message/576460756513665525' + ] + ] + ] ], ]); - $responseHeaders = [ - 'x-mj-request-guid' => ['baz'], - ]; - - $response = new MockResponse($json, ['response_headers' => $responseHeaders]); + $response = new MockResponse($json); $client = new MockHttpClient($response); @@ -124,7 +130,7 @@ public function testSendSuccess() $sentMessage = $transport->send($email); $this->assertInstanceOf(SentMessage::class, $sentMessage); - $this->assertSame('baz', $sentMessage->getMessageId()); + $this->assertSame('576460756513665524', $sentMessage->getMessageId()); } public function testSendWithDecodingException() From d8cf3d4a164eef71c7a54e9cffc3b415d6a614ef Mon Sep 17 00:00:00 2001 From: Starfox64 <1530720+Starfox64@users.noreply.github.com> Date: Tue, 11 Apr 2023 08:41:32 +0000 Subject: [PATCH 3/6] Fix MailjetApiTransportTest::testSendSuccess assertion --- .../Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php index 49268078619f2..4c040127df3a4 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php @@ -130,7 +130,7 @@ public function testSendSuccess() $sentMessage = $transport->send($email); $this->assertInstanceOf(SentMessage::class, $sentMessage); - $this->assertSame('576460756513665524', $sentMessage->getMessageId()); + $this->assertSame('576460756513665525', $sentMessage->getMessageId()); } public function testSendWithDecodingException() From c25c7ed555f403160e92b8e165f0cc7e17134b2f Mon Sep 17 00:00:00 2001 From: Starfox64 <1530720+Starfox64@users.noreply.github.com> Date: Tue, 11 Apr 2023 08:43:52 +0000 Subject: [PATCH 4/6] Change formatting --- .../Mailjet/Tests/Transport/MailjetApiTransportTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php index 4c040127df3a4..3197c38ed5da9 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php @@ -109,10 +109,10 @@ public function testSendSuccess() 'Email' => 'passenger1@mailjet.com', 'MessageUUID' => '7c5f9f29-42ba-4959-b19c-dcd8b2f327ca', 'MessageID' => 576460756513665525, - 'MessageHref' => 'https://api.mailjet.com/v3/message/576460756513665525' - ] - ] - ] + 'MessageHref' => 'https://api.mailjet.com/v3/message/576460756513665525', + ], + ], + ], ], ]); From dca544c63050a7d792b3cf8cce6dafe96b6d89cd Mon Sep 17 00:00:00 2001 From: Starfox64 <1530720+Starfox64@users.noreply.github.com> Date: Mon, 17 Apr 2023 16:01:50 +0200 Subject: [PATCH 5/6] Use string MessageID in test data --- .../Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php index 3197c38ed5da9..21510febce4f1 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Transport/MailjetApiTransportTest.php @@ -108,7 +108,7 @@ public function testSendSuccess() [ 'Email' => 'passenger1@mailjet.com', 'MessageUUID' => '7c5f9f29-42ba-4959-b19c-dcd8b2f327ca', - 'MessageID' => 576460756513665525, + 'MessageID' => '576460756513665525', 'MessageHref' => 'https://api.mailjet.com/v3/message/576460756513665525', ], ], From f1cd7ee54e58542192b28a9c78217f122470205b Mon Sep 17 00:00:00 2001 From: Starfox64 <1530720+Starfox64@users.noreply.github.com> Date: Tue, 18 Apr 2023 00:19:15 +0200 Subject: [PATCH 6/6] Remove string type casting as it's no longer required --- .../Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php index e3066e81c919a..d3803ccf54dbb 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetApiTransport.php @@ -85,7 +85,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e throw new HttpTransportException(sprintf('Unable to send an email: "%s" malformed api response.', $response->getContent(false)), $response); } - $sentMessage->setMessageId((string) $result['Messages'][0]['To'][0]['MessageID'] ?? ''); + $sentMessage->setMessageId($result['Messages'][0]['To'][0]['MessageID'] ?? ''); return $response; }