You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2021/05/16 17:13:47 UTC

[sling-org-apache-sling-commons-messaging-mail] branch master updated (b91f7f5 -> 73276cf)

This is an automated email from the ASF dual-hosted git repository.

olli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-messaging-mail.git.


    from b91f7f5  SLING-10380 Headers support not working
     new e785b6d  SLING-10380 Headers support not working
     new 6e12192  style
     new fb80257  SLING-10381 Unify Header parameters in API
     new 6a78454  SLING-10380 Headers support not working
     new 73276cf  SLING-10017 Switch to Jakarta Mail and Activation APIs

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md                                          |   2 +-
 .../commons/messaging/mail/MessageBuilder.java     |   6 +-
 .../mail/internal/SimpleMessageBuilder.java        |  32 +--
 .../mail/internal/SimpleMessageBuilderTest.java    | 215 +++++++++++----------
 .../mail/it/tests/SimpleMailServiceIT.java         |  27 ++-
 5 files changed, 154 insertions(+), 128 deletions(-)

[sling-org-apache-sling-commons-messaging-mail] 04/05: SLING-10380 Headers support not working

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-messaging-mail.git

commit 6a784547c17256df9bffb043a3c88b8d058b190f
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun May 16 19:10:50 2021 +0200

    SLING-10380 Headers support not working
    
    test headers for attachment and inline part
---
 .../mail/it/tests/SimpleMailServiceIT.java         | 27 ++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java b/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
index 16bcabe..1e3aace 100644
--- a/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
+++ b/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
@@ -33,6 +33,8 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 
 import javax.inject.Inject;
+
+import jakarta.mail.Header;
 import jakarta.mail.Message;
 import jakarta.mail.Session;
 import jakarta.mail.event.ConnectionEvent;
@@ -40,7 +42,9 @@ import jakarta.mail.event.ConnectionListener;
 import jakarta.mail.event.TransportEvent;
 import jakarta.mail.event.TransportListener;
 import jakarta.mail.internet.InternetAddress;
+import jakarta.mail.internet.MimeBodyPart;
 import jakarta.mail.internet.MimeMessage;
+import jakarta.mail.internet.MimeMultipart;
 
 import com.icegreen.greenmail.util.DummySSLSocketFactory;
 import com.icegreen.greenmail.util.GreenMail;
@@ -389,8 +393,8 @@ public class SimpleMailServiceIT extends MailTestSupport {
             .subject(subject)
             .text(text)
             .html(html)
-            .attachment(support, "image/png", "SupportApache-small.png")
-            .inline(sling, "image/png", "sling")
+            .attachment(support, "image/png", "SupportApache-small.png", Collections.singleton(new Header("X-Attachment", "Apache Software Foundation")))
+            .inline(sling, "image/png", "sling", Collections.singleton(new Header("X-Inline", "Apache Sling")))
             .build();
 
         final CompletableFuture<Void> future = mailService.sendMessage(message);
@@ -412,6 +416,25 @@ public class SimpleMailServiceIT extends MailTestSupport {
             assertThat(parser.getHtmlContent()).isEqualTo(html);
 
             assertThat(parser.getContentIds()).contains("sling");
+
+            final MimeMultipart content = (MimeMultipart) received.getContent();
+            assertThat(content.getContentType()).startsWith("multipart/mixed");
+
+            final MimeBodyPart alternative = (MimeBodyPart) content.getBodyPart(0);
+            assertThat(alternative.getContentType()).startsWith("multipart/alternative");
+
+            final MimeBodyPart related = (MimeBodyPart) ((MimeMultipart) alternative.getContent()).getBodyPart(0);
+            assertThat(related.getContentType()).startsWith("multipart/related");
+
+            final MimeBodyPart inline = (MimeBodyPart) ((MimeMultipart) related.getContent()).getBodyPart(1);
+            assertThat(inline.getContentType()).isEqualTo("image/png");
+            assertThat(inline.getHeader("X-Inline")).hasLength(1);
+            assertThat(inline.getHeader("X-Inline")[0]).isEqualTo("Apache Sling");
+
+            final MimeBodyPart attachment = (MimeBodyPart) content.getBodyPart(1);
+            assertThat(attachment.getContentType()).isEqualTo("image/png; name=SupportApache-small.png");
+            assertThat(attachment.getHeader("X-Attachment")).hasLength(1);
+            assertThat(attachment.getHeader("X-Attachment")[0]).isEqualTo("Apache Software Foundation");
         }
     }
 

[sling-org-apache-sling-commons-messaging-mail] 03/05: SLING-10381 Unify Header parameters in API

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-messaging-mail.git

commit fb80257a49980a23574e917510ddbcfb6aa42095
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun May 16 19:08:52 2021 +0200

    SLING-10381 Unify Header parameters in API
    
    replace Header[] and Map<String, String> by Collection<Header>
---
 .../commons/messaging/mail/MessageBuilder.java     |  6 ++---
 .../mail/internal/SimpleMessageBuilder.java        | 30 +++++++++++-----------
 .../mail/internal/SimpleMessageBuilderTest.java    | 11 +++++---
 3 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/MessageBuilder.java b/src/main/java/org/apache/sling/commons/messaging/mail/MessageBuilder.java
index 2d0110c..b69d34e 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/MessageBuilder.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/MessageBuilder.java
@@ -36,7 +36,7 @@ public interface MessageBuilder {
 
     @NotNull MessageBuilder header(@NotNull final String name, @Nullable final String value);
 
-    @NotNull MessageBuilder headers(@NotNull final Map<String, String> headers);
+    @NotNull MessageBuilder headers(@NotNull final Collection<Header> headers);
 
     @NotNull MessageBuilder from(@NotNull final InternetAddress from);
 
@@ -100,11 +100,11 @@ public interface MessageBuilder {
 
     @NotNull MessageBuilder attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename);
 
-    @NotNull MessageBuilder attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable Header[] headers);
+    @NotNull MessageBuilder attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable final Collection<Header> headers);
 
     @NotNull MessageBuilder inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid);
 
-    @NotNull MessageBuilder inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid, @Nullable Header[] headers);
+    @NotNull MessageBuilder inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid, @Nullable final Collection<Header> headers);
 
     @NotNull MimeMessage build() throws MessagingException;
 
diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java
index 1c4d010..21b637c 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java
@@ -25,7 +25,6 @@ import java.io.UnsupportedEncodingException;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -53,7 +52,7 @@ public class SimpleMessageBuilder implements MessageBuilder {
 
     private final Session session;
 
-    private final Map<String, String> headers = new HashMap<>();
+    private final List<Header> headers = new LinkedList<>();
 
     private InternetAddress from;
 
@@ -93,13 +92,14 @@ public class SimpleMessageBuilder implements MessageBuilder {
 
     @Override
     public @NotNull MessageBuilder header(@NotNull final String name, @Nullable final String value) {
-        headers.put(name, value);
+        final Header header = new Header(name, value);
+        headers.add(header);
         return this;
     }
 
     @Override
-    public @NotNull MessageBuilder headers(@NotNull final Map<String, String> headers) {
-        this.headers.putAll(headers);
+    public @NotNull MessageBuilder headers(@NotNull final Collection<Header> headers) {
+        this.headers.addAll(headers);
         return this;
     }
 
@@ -329,7 +329,7 @@ public class SimpleMessageBuilder implements MessageBuilder {
     }
 
     @Override
-    public @NotNull MessageBuilder attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable Header[] headers) {
+    public @NotNull MessageBuilder attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable final Collection<Header> headers) {
         final Attachment attachment = new Attachment(content, type, filename, headers);
         this.attachments.add(attachment);
         return this;
@@ -341,13 +341,13 @@ public class SimpleMessageBuilder implements MessageBuilder {
     }
 
     @Override
-    public @NotNull MessageBuilder inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid, @Nullable Header[] headers) {
+    public @NotNull MessageBuilder inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid, @Nullable final Collection<Header> headers) {
         final Inline inline = new Inline(content, type, cid, headers);
         this.inlines.add(inline);
         return this;
     }
 
-    private Map<String, String> headers() {
+    private List<Header> headers() {
         return headers;
     }
 
@@ -410,8 +410,8 @@ public class SimpleMessageBuilder implements MessageBuilder {
     public @NotNull MimeMessage build() throws MessagingException {
         final MimeMessage message = new MimeMessage(session);
 
-        for (final Map.Entry<String, String> header : headers().entrySet()) {
-            message.setHeader(header.getKey(), header.getValue());
+        for (final Header header : headers()) {
+            message.setHeader(header.getName(), header.getValue());
         }
 
         message.setFrom(from());
@@ -513,7 +513,7 @@ public class SimpleMessageBuilder implements MessageBuilder {
         part.setDataHandler(handler);
     }
 
-    private static void setHeaders(final MimeBodyPart part, final Header[] headers) throws MessagingException {
+    private static void setHeaders(final MimeBodyPart part, final Collection<Header> headers) throws MessagingException {
         for (final Header header : headers) {
             part.setHeader(header.getName(), header.getValue());
         }
@@ -527,9 +527,9 @@ public class SimpleMessageBuilder implements MessageBuilder {
 
         final String filename;
 
-        final Header[] headers;
+        final Collection<Header> headers;
 
-        Attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable final Header[] headers) {
+        Attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable final Collection<Header> headers) {
             this.content = content;
             this.type = type;
             this.filename = filename;
@@ -546,9 +546,9 @@ public class SimpleMessageBuilder implements MessageBuilder {
 
         final String cid;
 
-        final Header[] headers;
+        final Collection<Header> headers;
 
-        Inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid, @Nullable final Header[] headers) {
+        Inline(final byte @NotNull [] content, @NotNull final String type, @NotNull final String cid, @Nullable final Collection<Header> headers) {
             this.content = content;
             this.type = type;
             this.cid = cid;
diff --git a/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java b/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java
index 6b1bc82..a1c1fbb 100644
--- a/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java
+++ b/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java
@@ -18,11 +18,14 @@
  */
 package org.apache.sling.commons.messaging.mail.internal;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import jakarta.mail.Header;
 import jakarta.mail.Session;
 import jakarta.mail.internet.InternetAddress;
 import jakarta.mail.internet.MimeMessage;
@@ -70,10 +73,10 @@ public class SimpleMessageBuilderTest {
 
     @Test
     public void testHeaders() throws Exception {
-        final Map<String, String> headers = new HashMap<>();
-        headers.put("a", "1");
-        headers.put("b", "2");
-        headers.put("c", "3");
+        final Collection<Header> headers = new ArrayList<>();
+        headers.add(new Header("a", "1"));
+        headers.add(new Header("b", "2"));
+        headers.add(new Header("c", "3"));
         final Session session = Session.getInstance(properties);
         final SimpleMessageBuilder builder = new SimpleMessageBuilder(session);
         builder.headers(headers);

[sling-org-apache-sling-commons-messaging-mail] 05/05: SLING-10017 Switch to Jakarta Mail and Activation APIs

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-messaging-mail.git

commit 73276cf33fb7a3bc6f1e70926ba03e3ddff122c6
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun May 16 19:12:53 2021 +0200

    SLING-10017 Switch to Jakarta Mail and Activation APIs
    
    add version 2.0 and package jakarta.mail
---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 72a9ee5..89a0cb9 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
 
 This module is part of the [Apache Sling](https://sling.apache.org) project.
 
-This module provides a simple layer on top of [Jakarta Mail](https://eclipse-ee4j.github.io/mail/) (former [JavaMail](https://javaee.github.io/javamail/)) including a message builder and a service to send mails via SMTPS.
+This module provides a simple layer on top of [Jakarta Mail](https://eclipse-ee4j.github.io/mail/) 2.0 (package `jakarta.mail`) including a message builder and a service to send mails via SMTPS.
 
 * Mail Service: sends MIME messages.
 * Message Builder: builds plain text and HTML messages with attachments and inline images 

[sling-org-apache-sling-commons-messaging-mail] 02/05: style

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-messaging-mail.git

commit 6e12192d104ffa142b7a5d1bf288509f3582f925
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun May 16 19:00:17 2021 +0200

    style
---
 .../mail/internal/SimpleMessageBuilderTest.java    | 204 ++++++++++-----------
 1 file changed, 102 insertions(+), 102 deletions(-)

diff --git a/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java b/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java
index 06a7eb9..6b1bc82 100644
--- a/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java
+++ b/src/test/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilderTest.java
@@ -58,13 +58,13 @@ public class SimpleMessageBuilderTest {
         builder.header("c", "3");
         final MimeMessage message = builder.build();
         final String[] a = message.getHeader("a");
-        assertThat(a.length).isEqualTo(1);
+        assertThat(a).hasLength(1);
         assertThat(a[0]).isEqualTo("1");
         final String[] b = message.getHeader("b");
-        assertThat(b.length).isEqualTo(1);
+        assertThat(b).hasLength(1);
         assertThat(b[0]).isEqualTo("2");
         final String[] c = message.getHeader("c");
-        assertThat(c.length).isEqualTo(1);
+        assertThat(c).hasLength(1);
         assertThat(c[0]).isEqualTo("3");
     }
 
@@ -79,13 +79,13 @@ public class SimpleMessageBuilderTest {
         builder.headers(headers);
         final MimeMessage message = builder.build();
         final String[] a = message.getHeader("a");
-        assertThat(a.length).isEqualTo(1);
+        assertThat(a).hasLength(1);
         assertThat(a[0]).isEqualTo("1");
         final String[] b = message.getHeader("b");
-        assertThat(b.length).isEqualTo(1);
+        assertThat(b).hasLength(1);
         assertThat(b[0]).isEqualTo("2");
         final String[] c = message.getHeader("c");
-        assertThat(c.length).isEqualTo(1);
+        assertThat(c).hasLength(1);
         assertThat(c[0]).isEqualTo("3");
     }
 
@@ -139,10 +139,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress to = (InternetAddress) parser.getTo().get(0);
         assertThat(to).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(1);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(1);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -155,10 +155,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress to = (InternetAddress) parser.getTo().get(0);
         assertThat(to.getAddress()).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(1);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(1);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -173,10 +173,10 @@ public class SimpleMessageBuilderTest {
         final InternetAddress to = (InternetAddress) parser.getTo().get(0);
         assertThat(to.getAddress()).isEqualTo(address);
         assertThat(to.getPersonal()).isEqualTo(name);
-        assertThat(parser.getTo().size()).isEqualTo(1);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(1);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     // multiple to
@@ -199,10 +199,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a).isEqualTo(addresses[0]);
         assertThat(b).isEqualTo(addresses[1]);
         assertThat(c).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(3);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(3);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -223,10 +223,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(3);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(3);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -247,10 +247,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(3);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(3);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     // single cc
@@ -265,10 +265,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress cc = (InternetAddress) parser.getCc().get(0);
         assertThat(cc).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(1);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(1);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -281,10 +281,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress cc = (InternetAddress) parser.getCc().get(0);
         assertThat(cc.getAddress()).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(1);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(1);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -299,10 +299,10 @@ public class SimpleMessageBuilderTest {
         final InternetAddress cc = (InternetAddress) parser.getCc().get(0);
         assertThat(cc.getAddress()).isEqualTo(address);
         assertThat(cc.getPersonal()).isEqualTo(name);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(1);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(1);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     // multiple cc
@@ -325,10 +325,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a).isEqualTo(addresses[0]);
         assertThat(b).isEqualTo(addresses[1]);
         assertThat(c).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(3);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(3);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -349,10 +349,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(3);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(3);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -373,10 +373,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(3);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(3);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     // single bcc
@@ -391,10 +391,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress bcc = (InternetAddress) parser.getBcc().get(0);
         assertThat(bcc).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(1);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(1);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -407,10 +407,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress bcc = (InternetAddress) parser.getBcc().get(0);
         assertThat(bcc.getAddress()).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(1);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(1);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -425,10 +425,10 @@ public class SimpleMessageBuilderTest {
         final InternetAddress bcc = (InternetAddress) parser.getBcc().get(0);
         assertThat(bcc.getAddress()).isEqualTo(address);
         assertThat(bcc.getPersonal()).isEqualTo(name);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(1);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(1);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     // multiple bcc
@@ -451,10 +451,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a).isEqualTo(addresses[0]);
         assertThat(b).isEqualTo(addresses[1]);
         assertThat(c).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(3);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(3);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -475,10 +475,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(3);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(3);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     @Test
@@ -499,10 +499,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(3);
-        assertThat(parser.getReplyTo().size()).isEqualTo(0);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(3);
+        assertThat(parser.getReplyTo()).hasSize(0);
     }
 
     // single replyTo
@@ -517,10 +517,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress replyTo = (InternetAddress) parser.getReplyTo().get(0);
         assertThat(replyTo).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(1);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(1);
     }
 
     @Test
@@ -533,10 +533,10 @@ public class SimpleMessageBuilderTest {
         final MimeMessageParser parser = new MimeMessageParser(message).parse();
         final InternetAddress replyTo = (InternetAddress) parser.getReplyTo().get(0);
         assertThat(replyTo.getAddress()).isEqualTo(address);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(1);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(1);
     }
 
     @Test
@@ -551,10 +551,10 @@ public class SimpleMessageBuilderTest {
         final InternetAddress replyTo = (InternetAddress) parser.getReplyTo().get(0);
         assertThat(replyTo.getAddress()).isEqualTo(address);
         assertThat(replyTo.getPersonal()).isEqualTo(name);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(1);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(1);
     }
 
     // multiple replyTo
@@ -577,10 +577,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a).isEqualTo(addresses[0]);
         assertThat(b).isEqualTo(addresses[1]);
         assertThat(c).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(3);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(3);
     }
 
     @Test
@@ -601,10 +601,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(3);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(3);
     }
 
     @Test
@@ -625,10 +625,10 @@ public class SimpleMessageBuilderTest {
         assertThat(a.getAddress()).isEqualTo(addresses[0]);
         assertThat(b.getAddress()).isEqualTo(addresses[1]);
         assertThat(c.getAddress()).isEqualTo(addresses[2]);
-        assertThat(parser.getTo().size()).isEqualTo(0);
-        assertThat(parser.getCc().size()).isEqualTo(0);
-        assertThat(parser.getBcc().size()).isEqualTo(0);
-        assertThat(parser.getReplyTo().size()).isEqualTo(3);
+        assertThat(parser.getTo()).hasSize(0);
+        assertThat(parser.getCc()).hasSize(0);
+        assertThat(parser.getBcc()).hasSize(0);
+        assertThat(parser.getReplyTo()).hasSize(3);
     }
 
 }

[sling-org-apache-sling-commons-messaging-mail] 01/05: SLING-10380 Headers support not working

Posted by ol...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

olli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-messaging-mail.git

commit e785b6d659e6e542682aaa5acca5b720ed2604d4
Author: Oliver Lietz <ol...@apache.org>
AuthorDate: Sun May 16 18:56:54 2021 +0200

    SLING-10380 Headers support not working
    
    pass headers to attachment
---
 .../sling/commons/messaging/mail/internal/SimpleMessageBuilder.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java
index 1ab9e27..1c4d010 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMessageBuilder.java
@@ -330,7 +330,7 @@ public class SimpleMessageBuilder implements MessageBuilder {
 
     @Override
     public @NotNull MessageBuilder attachment(final byte @NotNull [] content, @NotNull final String type, @NotNull final String filename, @Nullable Header[] headers) {
-        final Attachment attachment = new Attachment(content, type, filename, null);
+        final Attachment attachment = new Attachment(content, type, filename, headers);
         this.attachments.add(attachment);
         return this;
     }