diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a28decc..32dc1b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/setup-java@v5 with: distribution: corretto - java-version: 21 + java-version: 25 cache: maven - name: Run Integration Tests run: mvn clean test -P errorprone diff --git a/pom.xml b/pom.xml index b740baa..2c3978d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,8 +9,8 @@ UTF-8 - 21 - 2.45.0 + 25 + 2.46.0 1.22.1 2.4.1 3.1.7 diff --git a/src/test/java/co/cfly/email/MailMessageTest.java b/src/test/java/co/cfly/email/MailMessageTest.java index 7763dd7..aac0e40 100644 --- a/src/test/java/co/cfly/email/MailMessageTest.java +++ b/src/test/java/co/cfly/email/MailMessageTest.java @@ -49,6 +49,8 @@ public class MailMessageTest { private static final String ENVELOPE_FROM_ADDRESS = "ef@jboss.org"; + static final String PNG_URL = "https://d3kxu0ch7gs9bq.cloudfront.net/images/Clearfly_Logo_Primary_FC.png"; + @Test public void testTextMailMessage() throws MessagingException, IOException { SessionConfig mailConfig = TestMailConfigs.standardConfig(); @@ -72,7 +74,7 @@ public void testTextMailMessage() throws MessagingException, IOException { Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToAddress), mess.getHeader("Reply-To", null)); @@ -121,7 +123,7 @@ public void testTextMailMessageSpecialCharacters() throws MessagingException, IO Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals("Subject has been modified", subject, MimeUtility.decodeText(MimeUtility.unfold(mess.getHeader("Subject", null)))); @@ -151,9 +153,8 @@ public void testHTMLMailMessage() throws MessagingException, IOException { String replyToName = "No Reply"; try { wiser.start(); - e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(MailTestUtil.getAddressHeader(replyToName, replyToAddress)).to(person).subject( - subject).bodyHtml(htmlBody).importance(MessagePriority.HIGH).addAttachment(new URLAttachment("https://design.jboss.org/seam/logo/final/seam_mail_85px.png", "seamLogo.png", - ContentDisposition.INLINE)).send(); + e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(MailTestUtil.getAddressHeader(replyToName, replyToAddress)).to(person) + .subject(subject).bodyHtml(htmlBody).importance(MessagePriority.HIGH).addAttachment(new URLAttachment(PNG_URL, "seamLogo.png", ContentDisposition.INLINE)).send(); } finally { stop(wiser); @@ -161,7 +162,7 @@ public void testHTMLMailMessage() throws MessagingException, IOException { Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToName, replyToAddress), mess.getHeader("Reply-To", null)); @@ -204,9 +205,9 @@ public void testHTMLTextAltMailMessage() throws MessagingException, IOException wiser.start(); new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).to(person).subject(subject).bodyHtmlTextAlt(htmlBody, textBody).importance(MessagePriority.LOW) - .deliveryReceipt(fromAddress).readReceipt(fromAddress).addAttachment("template.text.velocity", "text/plain", ContentDisposition.ATTACHMENT, Resources.asByteSource(Resources - .getResource("template.text.velocity")).read()).addAttachment(new URLAttachment("https://design.jboss.org/seam/logo/final/seam_mail_85px.png", "seamLogo.png", - ContentDisposition.INLINE)).send(); + .deliveryReceipt(fromAddress).readReceipt(fromAddress) + .addAttachment("template.text.velocity", "text/plain", ContentDisposition.ATTACHMENT, Resources.asByteSource(Resources.getResource("template.text.velocity")).read()) + .addAttachment(new URLAttachment(PNG_URL, "seamLogo.png", ContentDisposition.INLINE)).send(); } finally { stop(wiser); @@ -214,7 +215,7 @@ public void testHTMLTextAltMailMessage() throws MessagingException, IOException Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(toName, toAddress), mess.getHeader("To", null)); @@ -264,10 +265,10 @@ public void testHTMLAutoTextAltMailMessage() throws MessagingException, IOExcept try { wiser.start(); - new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).to(person).subject(subject).bodyHtml(htmlBody).createTextAlternative(true).importance( - MessagePriority.LOW).deliveryReceipt(fromAddress).readReceipt(fromAddress).addAttachment("template.text.velocity", "text/plain", ContentDisposition.ATTACHMENT, Resources - .asByteSource(Resources.getResource("template.text.velocity")).read()).addAttachment(new URLAttachment("https://design.jboss.org/seam/logo/final/seam_mail_85px.png", - "seamLogo.png", ContentDisposition.INLINE)).send(); + new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).to(person).subject(subject).bodyHtml(htmlBody).createTextAlternative(true) + .importance(MessagePriority.LOW).deliveryReceipt(fromAddress).readReceipt(fromAddress) + .addAttachment("template.text.velocity", "text/plain", ContentDisposition.ATTACHMENT, Resources.asByteSource(Resources.getResource("template.text.velocity")).read()) + .addAttachment(new URLAttachment(PNG_URL, "seamLogo.png", ContentDisposition.INLINE)).send(); } finally { stop(wiser); @@ -275,7 +276,7 @@ public void testHTMLAutoTextAltMailMessage() throws MessagingException, IOExcept Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(toName, toAddress), mess.getHeader("To", null)); @@ -335,8 +336,8 @@ public void testTextMailMessageLongFields() throws MessagingException, IOExcepti try { wiser.start(); - e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(longFromName, longFromAddress)).to(MailTestUtil.getAddressHeader(longToName, longToAddress)).cc(MailTestUtil - .getAddressHeader(longCcName, longCcAddress)).subject(subject).bodyText(textBody).importance(MessagePriority.HIGH).send(); + e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(longFromName, longFromAddress)).to(MailTestUtil.getAddressHeader(longToName, longToAddress)) + .cc(MailTestUtil.getAddressHeader(longCcName, longCcAddress)).subject(subject).bodyText(textBody).importance(MessagePriority.HIGH).send(); } finally { stop(wiser); @@ -344,7 +345,7 @@ public void testTextMailMessageLongFields() throws MessagingException, IOExcepti Assert.assertEquals("Didn't receive the expected amount of messages. Expected 2 got " + wiser.getMessages().size(), 2, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(longFromName, longFromAddress), MimeUtility.unfold(mess.getHeader("From", null))); Assert.assertEquals(MailTestUtil.getAddressHeader(longToName, longToAddress), MimeUtility.unfold(mess.getHeader("To", null))); @@ -381,8 +382,8 @@ public void testTextMailMessageSendFailed() { try { wiser.start(); - new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(toAddress).subject(subject).bodyText(textBody).importance( - MessagePriority.HIGH).messageId(messageId).send(); + new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(toAddress).subject(subject).bodyText(textBody) + .importance(MessagePriority.HIGH).messageId(messageId).send(); } finally { stop(wiser); @@ -427,8 +428,8 @@ public void testTextMailMessageUsingPerson() throws MessagingException, IOExcept try { wiser.start(); - e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(person).subject(subject).bodyText(textBody).importance( - MessagePriority.HIGH).messageId(messageId).send(); + e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(person).subject(subject).bodyText(textBody) + .importance(MessagePriority.HIGH).messageId(messageId).send(); } finally { stop(wiser); @@ -436,7 +437,7 @@ public void testTextMailMessageUsingPerson() throws MessagingException, IOExcept Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToAddress), mess.getHeader("Reply-To", null)); @@ -474,8 +475,8 @@ public void testTextMailMessageUsingDefaultSession() throws MessagingException, wiser.setHostname(mailConfig.getServerHost()); try { wiser.start(); - e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(person).subject(subject).bodyText(textBody).importance( - MessagePriority.HIGH).messageId(messageId).send(); + e = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(person).subject(subject).bodyText(textBody) + .importance(MessagePriority.HIGH).messageId(messageId).send(); } finally { stop(wiser); @@ -483,7 +484,7 @@ public void testTextMailMessageUsingDefaultSession() throws MessagingException, Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToAddress), mess.getHeader("Reply-To", null)); @@ -519,8 +520,9 @@ public void testTextMailWithCC() throws MessagingException { String ccAddress = "red.hatty@jboss.org"; try { wiser.start(); - new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(MailTestUtil.getAddressHeader(toName, toAddress)).cc(MailTestUtil - .getAddressHeader(ccName, ccAddress)).subject(subject).bodyText(textBody).importance(MessagePriority.HIGH).messageId(messageId).envelopeFrom(ENVELOPE_FROM_ADDRESS).send(); + new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(replyToAddress).to(MailTestUtil.getAddressHeader(toName, toAddress)) + .cc(MailTestUtil.getAddressHeader(ccName, ccAddress)).subject(subject).bodyText(textBody).importance(MessagePriority.HIGH).messageId(messageId).envelopeFrom(ENVELOPE_FROM_ADDRESS) + .send(); } finally { stop(wiser); @@ -528,7 +530,7 @@ public void testTextMailWithCC() throws MessagingException { Assert.assertEquals("Didn't receive the expected amount of messages. Expected 2 got " + wiser.getMessages().size(), 2, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToAddress), mess.getHeader("Reply-To", null)); diff --git a/src/test/java/co/cfly/email/VelocityMailMessageTest.java b/src/test/java/co/cfly/email/VelocityMailMessageTest.java index 8c34fe2..bf11eb8 100644 --- a/src/test/java/co/cfly/email/VelocityMailMessageTest.java +++ b/src/test/java/co/cfly/email/VelocityMailMessageTest.java @@ -75,7 +75,7 @@ public void testVelocityTextMailMessage() throws IOException, jakarta.mail.Messa Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToAddress), mess.getHeader("Reply-To", null)); @@ -127,7 +127,7 @@ public void testTextMailMessageSpecialCharacters() throws MessagingException, IO Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals("Subject has been modified", subject, MimeUtility.decodeText(MimeUtility.unfold(mess.getHeader("Subject", null)))); @@ -161,8 +161,7 @@ public void testVelocityHTMLMailMessage() throws MessagingException, IOException emailMessage = new MailMessageImpl(mailConfig).from(MailTestUtil.getAddressHeader(fromName, fromAddress)).replyTo(MailTestUtil.getAddressHeader(replyToName, replyToAddress)).to(person) .subject(subject).bodyHtml(new VelocityTemplate(Resources.asCharSource(Resources.getResource("template.html.velocity"), StandardCharsets.UTF_8).read())).put("version", version) - .put("person", person).importance(MessagePriority.HIGH) - .addAttachment(new URLAttachment("https://design.jboss.org/seam/logo/final/seam_mail_85px.png", "seamLogo.png", ContentDisposition.INLINE)).send(); + .put("person", person).importance(MessagePriority.HIGH).addAttachment(new URLAttachment(MailMessageTest.PNG_URL, "seamLogo.png", ContentDisposition.INLINE)).send(); } finally { stop(wiser); @@ -170,7 +169,7 @@ public void testVelocityHTMLMailMessage() throws MessagingException, IOException Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(replyToName, replyToAddress), mess.getHeader("Reply-To", null)); @@ -221,7 +220,7 @@ public void testVelocityHTMLTextAltMailMessage() throws MessagingException, IOEx new VelocityTemplate(Resources.asCharSource(Resources.getResource("template.text.velocity"), StandardCharsets.UTF_8).read())).importance(MessagePriority.LOW) .deliveryReceipt(fromAddress).readReceipt(fromAddress) .addAttachment("template.html.velocity", "text/html", ContentDisposition.ATTACHMENT, Resources.asByteSource(Resources.getResource("template.html.velocity")).read()) - .addAttachment(new URLAttachment("https://design.jboss.org/seam/logo/final/seam_mail_85px.png", "seamLogo.png", ContentDisposition.INLINE)).send(); + .addAttachment(new URLAttachment(MailMessageTest.PNG_URL, "seamLogo.png", ContentDisposition.INLINE)).send(); } finally { stop(wiser); @@ -229,7 +228,7 @@ public void testVelocityHTMLTextAltMailMessage() throws MessagingException, IOEx Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals(MailTestUtil.getAddressHeader(fromName, fromAddress), mess.getHeader("From", null)); Assert.assertEquals(MailTestUtil.getAddressHeader(toName, toAddress), mess.getHeader("To", null)); @@ -286,7 +285,7 @@ public void testSMTPSessionAuthentication() throws MessagingException, IOExcepti new VelocityTemplate(Resources.asCharSource(Resources.getResource("template.text.velocity"), StandardCharsets.UTF_8).read())).importance(MessagePriority.LOW) .deliveryReceipt(fromAddress).readReceipt(fromAddress) .addAttachment("template.html.velocity", "text/html", ContentDisposition.ATTACHMENT, Resources.asByteSource(Resources.getResource("template.html.velocity")).read()) - .addAttachment(new URLAttachment("https://design.jboss.org/seam/logo/final/seam_mail_85px.png", "seamLogo.png", ContentDisposition.INLINE)).send(); + .addAttachment(new URLAttachment(MailMessageTest.PNG_URL, "seamLogo.png", ContentDisposition.INLINE)).send(); } finally { stop(wiser); @@ -294,7 +293,7 @@ public void testSMTPSessionAuthentication() throws MessagingException, IOExcepti Assert.assertEquals("Didn't receive the expected amount of messages. Expected 1 got " + wiser.getMessages().size(), 1, wiser.getMessages().size()); - MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().get(0)); + MimeMessage mess = MailUtilityTest.fromWiser(wiser.getMessages().getFirst()); Assert.assertEquals("Subject has been modified", subject, MimeUtility.unfold(mess.getHeader("Subject", null))); EmailMessage convertedMessage = MessageConverter.convert(mess);