Repository: james-project
Updated Branches:
  refs/heads/master 085eebba9 -> 4a2550182


MAILET-121 Complete tests for SenderIs


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

Branch: refs/heads/master
Commit: 260b5ec484d0b9f7745674ef58d04ac9d191afd7
Parents: 1f6f1e2
Author: Benoit Tellier <[email protected]>
Authored: Wed Aug 31 11:14:08 2016 +0700
Committer: Benoit Tellier <[email protected]>
Committed: Fri Sep 2 13:22:15 2016 +0700

----------------------------------------------------------------------
 .../james/transport/matchers/SenderIsTest.java  | 37 ++++++++++++++++++--
 1 file changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/260b5ec4/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
index e0fc0e1..7b2297e 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/matchers/SenderIsTest.java
@@ -22,30 +22,37 @@ package org.apache.james.transport.matchers;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import javax.mail.MessagingException;
+
 import org.apache.mailet.MailAddress;
-import org.apache.mailet.Matcher;
 import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMatcherConfig;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 
 public class SenderIsTest {
 
     private final String SENDER_NAME = "[email protected]";
 
-    private Matcher matcher;
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
+
+    private SenderIs matcher;
     private MailAddress recipient;
 
     @Before
     public void setUp() throws Exception {
         matcher = new SenderIs();
-        matcher.init(new FakeMatcherConfig("SenderIs=" + SENDER_NAME, 
FakeMailContext.defaultContext()));
         recipient = new MailAddress("[email protected]");
     }
 
     @Test
     public void shouldMatchWhenGoodSender() throws Exception {
+        matcher.init(new FakeMatcherConfig("SenderIs=" + SENDER_NAME, 
FakeMailContext.defaultContext()));
+
         FakeMail fakeMail = FakeMail.builder()
             .recipient(recipient)
             .sender(new MailAddress(SENDER_NAME))
@@ -56,6 +63,8 @@ public class SenderIsTest {
 
     @Test
     public void shouldNotMatchWhenWrongSender() throws Exception {
+        matcher.init(new FakeMatcherConfig("SenderIs=" + SENDER_NAME, 
FakeMailContext.defaultContext()));
+
         FakeMail fakeMail = FakeMail.builder()
             .recipient(recipient)
             .sender(new MailAddress("[email protected]"))
@@ -66,10 +75,32 @@ public class SenderIsTest {
 
     @Test
     public void shouldNotMatchWhenNullSender() throws Exception {
+        matcher.init(new FakeMatcherConfig("SenderIs=" + SENDER_NAME, 
FakeMailContext.defaultContext()));
+
         FakeMail fakeMail = FakeMail.builder()
             .recipient(recipient)
             .build();
 
         assertThat(matcher.match(fakeMail)).isNull();
     }
+
+    @Test
+    public void senderIsShouldBeConfigurableWithSeveralAddresses() throws 
Exception {
+        String mailAddress = "[email protected]";
+        matcher.init(new FakeMatcherConfig("SenderIs=" + mailAddress + ", " + 
SENDER_NAME, FakeMailContext.defaultContext()));
+
+        assertThat(matcher.getSenders()).containsExactly(new 
MailAddress(mailAddress), new MailAddress(SENDER_NAME));
+    }
+
+    @Test
+    public void senderIsShouldThrowWhenNoAddressesPassedByConfiguration() 
throws Exception {
+        expectedException.expect(MessagingException.class);
+        matcher.init(new FakeMatcherConfig("SenderIs=", 
FakeMailContext.defaultContext()));
+    }
+
+    @Test
+    public void senderIsShouldThrowWhenNoConfiguration() throws Exception {
+        expectedException.expect(MessagingException.class);
+        matcher.init(new FakeMatcherConfig("SenderIs", 
FakeMailContext.defaultContext()));
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to