MAILET-160 Don't fail when the MimeMessage has not recipient

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e8f52033
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e8f52033
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e8f52033

Branch: refs/heads/master
Commit: e8f52033170074e716b206d4a27a2e79bff9aecd
Parents: 9ba015d
Author: Antoine Duprat <adup...@linagora.com>
Authored: Mon Nov 20 10:39:16 2017 +0100
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Mon Nov 20 10:39:16 2017 +0100

----------------------------------------------------------------------
 .../james/transport/mailets/ContactExtractor.java       |  5 +++--
 .../james/transport/mailets/ContactExtractorTest.java   | 12 ++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/e8f52033/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContactExtractor.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContactExtractor.java
 
b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContactExtractor.java
index bf5665b..6c8f23e 100644
--- 
a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContactExtractor.java
+++ 
b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContactExtractor.java
@@ -105,8 +105,9 @@ public class ContactExtractor extends GenericMailet 
implements Mailet {
             .map(Throwing.function(extractedContacts -> 
objectMapper.writeValueAsString(extractedContacts)));
     }
 
-    private boolean hasRecipients(MimeMessage mimeMessage) throws 
MessagingException {
-        return mimeMessage.getAllRecipients().length > 0;
+    @VisibleForTesting boolean hasRecipients(MimeMessage mimeMessage) throws 
MessagingException {
+        return mimeMessage.getAllRecipients() != null 
+                && mimeMessage.getAllRecipients().length > 0;
     }
 
     private ImmutableList<String> recipients(MimeMessage mimeMessage) throws 
MessagingException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/e8f52033/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
index 0ba88ba..ccde3d6 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java
@@ -233,6 +233,18 @@ public class ContactExtractorTest {
         mailet.service(mail);
 
         assertThat(mail.getAttribute(ATTRIBUTE)).isNull();
+    }
+
+    @Test
+    public void hasRecipientsShouldNotThrowWhenNoRecipient() throws Exception {
+        MimeMessage message = MimeMessageBuilder.mimeMessageBuilder()
+                .setSender(SENDER)
+                .setSubject("Contact collection Rocks")
+                .setText("This is my email")
+                .build();
+
+        boolean hasRecipients = mailet.hasRecipients(message);
 
+        assertThat(hasRecipients).isFalse();
     }
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to