MAILET-115 Introduce builder for FakeMailetConfig

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

Branch: refs/heads/master
Commit: 7a9c43820efdf11c3c319cc1b77a971c97d71992
Parents: 67bbb4b
Author: Benoit Tellier <btell...@linagora.com>
Authored: Wed Nov 30 16:28:30 2016 +0700
Committer: Benoit Tellier <btell...@linagora.com>
Committed: Wed Nov 30 16:32:21 2016 +0700

----------------------------------------------------------------------
 .../org/apache/mailet/base/MailetUtilTest.java  | 21 +++---
 .../mailet/base/test/FakeMailetConfig.java      | 74 +++++++++++--------
 .../james/transport/mailets/AddFooterTest.java  | 60 ++++++++++------
 .../transport/mailets/AddSubjectPrefixTest.java | 28 +++++---
 .../james/transport/mailets/LogMessageTest.java | 60 +++++++++++++---
 .../MailAttributesToMimeHeadersTest.java        | 34 +++++----
 .../james/transport/mailets/OnlyTextTest.java   |  9 ++-
 .../mailets/RemoveAllMailAttributesTest.java    |  5 +-
 .../mailets/RemoveMailAttributeTest.java        | 26 +++++--
 .../transport/mailets/RemoveMimeHeaderTest.java | 38 ++++++----
 .../transport/mailets/ReplaceContentTest.java   | 67 +++++++++++------
 .../transport/mailets/SetMailAttributeTest.java | 33 ++++-----
 .../transport/mailets/SetMimeHeaderTest.java    | 60 ++++++++++------
 .../transport/mailets/StripAttachmentTest.java  | 75 +++++++++++---------
 .../transport/mailets/ToProcessorTest.java      | 42 ++++++++---
 .../james/jmap/MailetPreconditionTest.java      | 14 ++--
 .../james/transport/mailets/BounceTest.java     |  5 +-
 .../mailets/RecipientRewriteTableTest.java      |  7 +-
 .../transport/mailets/ToRepositoryTest.java     | 24 +++++--
 .../mailets/delivery/LocalDeliveryTest.java     |  5 +-
 .../mailets/delivery/ToRecipientFolderTest.java | 46 ++++++++----
 .../managesieve/ManageSieveMailetTestCase.java  |  7 +-
 .../james/jmap/mailet/VacationMailetTest.java   |  5 +-
 23 files changed, 485 insertions(+), 260 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/base/src/test/java/org/apache/mailet/base/MailetUtilTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/base/src/test/java/org/apache/mailet/base/MailetUtilTest.java 
b/mailet/base/src/test/java/org/apache/mailet/base/MailetUtilTest.java
index 9a6700f..db1f131 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/MailetUtilTest.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/MailetUtilTest.java
@@ -22,20 +22,12 @@ package org.apache.mailet.base;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import org.apache.mailet.base.test.FakeMailetConfig;
-import org.junit.Before;
 import org.junit.Test;
 
 public class MailetUtilTest {
 
     private static final String A_PARAMETER = "aParameter";
 
-    FakeMailetConfig config;
-
-    @Before
-    public void setUp() throws Exception {
-        config = new FakeMailetConfig();
-    }
-
     @Test
     public void getInitParameterShouldReturnTrueWhenIsValueTrueLowerCase() {
         assertThat(getParameterValued("true", false)).isTrue();
@@ -86,13 +78,16 @@ public class MailetUtilTest {
 
     @Test
     public void getInitParameterShouldReturnDefaultValueWhenNull() {
-        assertThat(MailetUtil.getInitParameter(config, A_PARAMETER, 
false)).isFalse();
-        assertThat(MailetUtil.getInitParameter(config, A_PARAMETER, 
true)).isTrue();
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .build();
+        assertThat(MailetUtil.getInitParameter(mailetConfig, A_PARAMETER, 
false)).isFalse();
+        assertThat(MailetUtil.getInitParameter(mailetConfig, A_PARAMETER, 
true)).isTrue();
     }
 
     private boolean getParameterValued(String value, boolean defaultValue) {
-        config.clear();
-        config.setProperty(A_PARAMETER, value);
-        return MailetUtil.getInitParameter(config, A_PARAMETER, defaultValue);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+            .setProperty(A_PARAMETER, value)
+            .build();
+        return MailetUtil.getInitParameter(mailetConfig, A_PARAMETER, 
defaultValue);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailetConfig.java
----------------------------------------------------------------------
diff --git 
a/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailetConfig.java 
b/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailetConfig.java
index 83533c1..23dff08 100644
--- 
a/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailetConfig.java
+++ 
b/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailetConfig.java
@@ -25,28 +25,59 @@ import java.util.Properties;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.MailetContext;
 
+import com.google.common.base.Optional;
+
 /**
  * MailetConfig over Properties
  */
 public class FakeMailetConfig implements MailetConfig {
 
-    public String mailetName;
-    public MailetContext mc;
-
-    private final Properties properties;
-    
-    public FakeMailetConfig() {
-       this("A Mailet", FakeMailContext.defaultContext());
+    public static Builder builder() {
+        return new Builder();
     }
-    
-    public FakeMailetConfig(String mailetName, MailetContext mc) {
-        this(mailetName, mc, new Properties());
+
+    public static class Builder {
+
+        private Optional<String> mailetName;
+        private Optional<MailetContext> mailetContext;
+        private Properties properties;
+
+        private Builder() {
+            mailetName = Optional.absent();
+            mailetContext = Optional.absent();
+            properties = new Properties();
+        }
+
+        public Builder mailetName(String mailetName) {
+            this.mailetName = Optional.fromNullable(mailetName);
+            return this;
+        }
+
+        public Builder mailetContext(MailetContext mailetContext) {
+            this.mailetContext = Optional.fromNullable(mailetContext);
+            return this;
+        }
+
+        public Builder setProperty(String key, String value) {
+            this.properties.setProperty(key, value);
+            return this;
+        }
+
+        public FakeMailetConfig build() {
+            return new FakeMailetConfig(mailetName.or("A Mailet"), 
+                    mailetContext.or(FakeMailContext.defaultContext()), 
+                    properties);
+        }
     }
 
-    public FakeMailetConfig(String mailetName, MailetContext mc, Properties 
arg0) {
+    private final String mailetName;
+    private final MailetContext mailetContext;
+    private final Properties properties;
+
+    private FakeMailetConfig(String mailetName, MailetContext mailetContext, 
Properties properties) {
         this.mailetName = mailetName;
-        this.mc = mc;
-        this.properties = arg0;
+        this.mailetContext = mailetContext;
+        this.properties = properties;
     }
 
     public String getInitParameter(String name) {
@@ -58,25 +89,10 @@ public class FakeMailetConfig implements MailetConfig {
     }
 
     public MailetContext getMailetContext() {
-        return mc;
+        return mailetContext;
     }
 
     public String getMailetName() {
         return mailetName;
     }
-
-    // Override setProperty to work like it should in this MockMailetConfig
-    public Object setProperty(String key, String value) {
-        String oldValue = properties.getProperty(key);
-        String newValue = value;
-
-        if (oldValue != null) {
-            newValue = oldValue + "," + value;
-        }
-        return properties.setProperty(key, newValue);
-    }
-    
-    public void clear() {
-        properties.clear();
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
index 9b8d8cf..cfdb7bc 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddFooterTest.java
@@ -33,7 +33,6 @@ import javax.mail.MessagingException;
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -57,7 +56,6 @@ public class AddFooterTest {
     private final String javaCharset;
     private final String javaMailCharset;
     private Mailet mailet;
-    private FakeMailetConfig mailetConfig;
     
     @Parameters
     public static Collection<String[]> data() {
@@ -90,14 +88,14 @@ public class AddFooterTest {
     @Before
     public void setup() {
         mailet = new AddFooter();
-        mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-
     }
     
     @Test
     public void shouldAddFooterWhenQuotedPrintableTextPlainMessage() throws 
MessagingException, IOException {
-
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String quotedPrintableTextPlainMessage = Joiner.on("\r\n").join(
@@ -120,8 +118,10 @@ public class AddFooterTest {
 
     @Test
     public void shouldEnsureCarriageReturnWhenAddFooterWithTextPlainMessage() 
throws MessagingException, IOException {
-
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String quotedPrintableTextPlainMessage = Joiner.on("\r\n").join(
@@ -151,7 +151,10 @@ public class AddFooterTest {
     
     @Test
     public void shouldNotAddFooterWhenUnsupportedEncoding() throws 
MessagingException, IOException {
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String quotedPrintableTextPlainMessage = Joiner.on("\r\n").join(
@@ -171,7 +174,10 @@ public class AddFooterTest {
 
     @Test
     public void shouldNotAddFooterWhenUnsupportedTextContentType() throws 
MessagingException, IOException {
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String quotedPrintableTextPlainMessage = Joiner.on("\r\n").join(
@@ -195,7 +201,10 @@ public class AddFooterTest {
      */
     @Test
     public void shouldNotAddFooterWhenNestedUnsupportedMultipart() throws 
MessagingException, IOException {
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String quotedPrintableMultipartMixedMessage = Joiner.on("\r\n").join(
@@ -228,8 +237,10 @@ public class AddFooterTest {
      */
     @Test
     public void shouldAddFooterWhenMultipartRelatedHtmlMessage() throws 
MessagingException, IOException {
-
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String htmlMultipartRelatedMessagePart1 = Joiner.on("\r\n").join(
@@ -279,8 +290,10 @@ public class AddFooterTest {
     @Test
     public void shouldAddFooterWhenMultipartAlternivateMessage() throws 
MessagingException,
             IOException {
-
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String multipartAlternativeMessage = Joiner.on("\r\n").join(
@@ -337,8 +350,10 @@ public class AddFooterTest {
     @Test
     public void shouldAddFooterWhenHtmlMessageWithMixedCaseBodyTag() throws 
MessagingException,
             IOException {
-
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String htmlMessage = Joiner.on("\r\n").join(
@@ -372,8 +387,10 @@ public class AddFooterTest {
     @Test
     public void shouldAddFooterWhenHtmlMessageWithNoBodyTag() throws 
MessagingException,
             IOException {
-
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         String htmlMessage = Joiner.on("\r\n").join(
@@ -407,7 +424,10 @@ public class AddFooterTest {
     @SuppressWarnings("unchecked")
     @Test
     public void shouldThrowMessagingExceptionWhenIOExceptionReadingMessage() 
throws MessagingException {
-        mailetConfig.setProperty("text", "------ my footer \u00E0/\u20AC 
------");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("text", "------ my footer \u00E0/\u20AC ------")
+                .build();
         mailet.init(mailetConfig);
         
         Mail mail = mock(Mail.class);

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
index 9715900..26c5bb4 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AddSubjectPrefixTest.java
@@ -27,7 +27,6 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.mailet.Mailet;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -40,17 +39,18 @@ public class AddSubjectPrefixTest {
     @Rule public ExpectedException expectedException = 
ExpectedException.none();
     
     private Mailet mailet;
-    private FakeMailetConfig mailetConfig;
 
     @Before
     public void setup() {
         mailet = new AddSubjectPrefix();
-        mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
     }
     
     @Test
     public void shouldAddPrefixToSubject() throws MessagingException {
-        mailetConfig.setProperty("subjectPrefix", "JUNIT");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPrefix", "JUNIT")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage mockedMimeMessage = 
MailUtil.createMimeMessageWithSubject("test");
@@ -64,7 +64,10 @@ public class AddSubjectPrefixTest {
     
     @Test
     public void shouldAddPrefixToEncodedSubject() throws MessagingException {
-        mailetConfig.setProperty("subjectPrefix", "Русский");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPrefix", "Русский")
+                .build();
         mailet.init(mailetConfig);
 
         String subject = 
@@ -80,7 +83,10 @@ public class AddSubjectPrefixTest {
     
     @Test
     public void shouldDefinePrefixAsSubjectWhenNoSubject() throws 
MessagingException {
-        mailetConfig.setProperty("subjectPrefix", "JUNIT");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPrefix", "JUNIT")
+                .build();
         mailet.init(mailetConfig);
 
         String noSubject = null;
@@ -94,7 +100,10 @@ public class AddSubjectPrefixTest {
 
     @Test
     public void shouldDefinePrefixAsSubjectWhenEmptySubject() throws 
MessagingException {
-        mailetConfig.setProperty("subjectPrefix", "JUNIT");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPrefix", "JUNIT")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage mockedMimeMessage = 
MailUtil.createMimeMessageWithSubject("");
@@ -107,7 +116,10 @@ public class AddSubjectPrefixTest {
     
     @Test
     public void shouldThrowWhenEmptyPrefix() throws MessagingException {
-        mailetConfig.setProperty("subjectPrefix", "");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPrefix", "")
+                .build();
 
         expectedException.expect(MessagingException.class);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
index c61e093..b037d33 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/LogMessageTest.java
@@ -52,16 +52,16 @@ public class LogMessageTest {
     public ExpectedException expectedException = ExpectedException.none();
 
     private LogMessage mailet;
-    private FakeMailetConfig mailetConfig;
+    private FakeMailContext mailContext;
     private Logger logger;
 
+
     @Before
     public void setup() {
         logger = mock(Logger.class);
-        FakeMailContext mailContext = FakeMailContext.builder()
+        mailContext = FakeMailContext.builder()
                 .logger(logger)
                 .build();
-        mailetConfig = new FakeMailetConfig("LogContext", mailContext);
         mailet = new LogMessage();
     }
 
@@ -72,12 +72,20 @@ public class LogMessageTest {
 
     @Test
     public void initShouldIgnoreExceptions() throws Exception {
-        mailetConfig.setProperty("maxBody", "comment");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("maxBody", "comment")
+                .build();
         mailet.init(mailetConfig);
     }
 
     @Test
     public void serviceShouldFailWhenMailHasNoStream() throws Exception {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -97,6 +105,10 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldLog() throws Exception {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(createMail());
@@ -111,6 +123,10 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldLogWhenExceptionOccured() throws Exception {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .build();
         mailet.init(mailetConfig);
 
         Mail mail = mock(Mail.class);
@@ -130,7 +146,11 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldSetTheMailStateWhenPassThroughIsFalse() throws 
Exception {
-        mailetConfig.setProperty("passThrough", "false");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("passThrough", "false")
+                .build();
         mailet.init(mailetConfig);
 
         FakeMail mail = createMail();
@@ -141,7 +161,11 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldNotChangeTheMailStateWhenPassThroughIsTrue() 
throws Exception {
-        mailetConfig.setProperty("passThrough", "true");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("passThrough", "true")
+                .build();
         mailet.init(mailetConfig);
 
         FakeMail mail = createMail();
@@ -153,7 +177,11 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldNotLogHeadersWhenFalse() throws Exception {
-        mailetConfig.setProperty("headers", "false");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("headers", "false")
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(createMail());
@@ -165,7 +193,11 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldNotLogBodyWhenFalse() throws Exception {
-        mailetConfig.setProperty("body", "false");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("body", "false")
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(createMail());
@@ -179,7 +211,11 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldNotLogFullBodyWhenBodyMaxIsSet() throws Exception 
{
-        mailetConfig.setProperty("maxBody", "2");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("maxBody", "2")
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(createMail());
@@ -194,7 +230,11 @@ public class LogMessageTest {
 
     @Test
     public void serviceShouldLogAdditionalCommentWhenCommentIsSet() throws 
Exception {
-        mailetConfig.setProperty("comment", "comment");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("LogContext")
+                .mailetContext(mailContext)
+                .setProperty("comment", "comment")
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(createMail());

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
index 5147d71..8a5ac95 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MailAttributesToMimeHeadersTest.java
@@ -28,7 +28,6 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.mailet.Mailet;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -58,10 +57,13 @@ public class MailAttributesToMimeHeadersTest {
 
     @Test
     public void shouldPutAttributesIntoHeadersWhenMappingDefined() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("simplemapping", MAIL_ATTRIBUTE_NAME1 + "; " 
+ HEADER_NAME1);
-        mailetConfig.setProperty("simplemapping", MAIL_ATTRIBUTE_NAME2 + "; " 
+ HEADER_NAME2);
-        mailetConfig.setProperty("simplemapping", "another.attribute" + "; " + 
"Another-Header");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("simplemapping", 
+                        MAIL_ATTRIBUTE_NAME1 + "; " + HEADER_NAME1 +
+                        "," + MAIL_ATTRIBUTE_NAME2 + "; " + HEADER_NAME2 + 
+                        "," + "another.attribute" + "; " + "Another-Header")
+                .build();
         mailet.init(mailetConfig);
         
         FakeMail mockedMail = 
MailUtil.createMockMail2Recipients(MailUtil.createMimeMessage());
@@ -77,8 +79,10 @@ public class MailAttributesToMimeHeadersTest {
 
     @Test
     public void shouldAddAttributeIntoHeadersWhenHeaderAlreadyPresent() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("simplemapping", MAIL_ATTRIBUTE_NAME1 + "; " 
+ HEADER_NAME1);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("simplemapping", MAIL_ATTRIBUTE_NAME1 + "; " + 
HEADER_NAME1)
+                .build();
         mailet.init(mailetConfig);
         
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -94,23 +98,29 @@ public class MailAttributesToMimeHeadersTest {
     
     @Test
     public void shouldThrowAtInitWhenNoSemicolumnInConfigurationEntry() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("simplemapping", "invalidConfigEntry");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("simplemapping", "invalidConfigEntry")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }
 
     @Test
     public void shouldThrowAtInitWhenTwoSemicolumnsInConfigurationEntry() 
throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("simplemapping", "first;second;third");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("simplemapping", "first;second;third")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }
 
     @Test
     public void shouldThrowAtInitWhenNoConfigurationEntry() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
index 1e3688c..56572cf 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/OnlyTextTest.java
@@ -31,7 +31,6 @@ import javax.mail.internet.MimeMultipart;
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 
 import junit.framework.TestCase;
@@ -53,7 +52,9 @@ public class OnlyTextTest extends TestCase {
         Mail mail;
 
         mailet = new OnlyText();
-        mci = new FakeMailetConfig("Test", FakeMailContext.defaultContext());
+        mci = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         mailet.init(mci);
 
         // ----------------
@@ -178,7 +179,9 @@ public class OnlyTextTest extends TestCase {
 
     public void testHtml2Text() throws MessagingException {
         OnlyText mailet = new OnlyText();
-        mailet.init(new FakeMailetConfig("Test", 
FakeMailContext.defaultContext()));
+        mailet.init(FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build());
 
         String html;
         html = "<b>Prova di html</b><br /><p>Un paragrafo</p><LI>e ci mettiamo 
anche una lista</LI><br>";

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
index c6e7ab8..7f2c0e3 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveAllMailAttributesTest.java
@@ -26,7 +26,6 @@ import javax.mail.MessagingException;
 
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -39,7 +38,9 @@ public class RemoveAllMailAttributesTest {
 
     @Before
     public void setUp() throws Exception {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         mailet = new RemoveAllMailAttributes();
         mailet.init(mailetConfig);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
index 292440d..fd9bb39 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMailAttributeTest.java
@@ -27,7 +27,6 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
 import org.apache.mailet.MailetException;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.junit.Before;
 import org.junit.Test;
@@ -42,12 +41,10 @@ public class RemoveMailAttributeTest {
     private static final String VALUE_3 = "value3";
     private static final String ATTRIBUTE1_ATTRIBUTE2 = "attribute1, 
attribute2";
     private Mailet removeMailet;
-    private FakeMailetConfig mailetConfig;
 
     @Before
     public void setup() throws Exception {
         removeMailet = new RemoveMailAttribute();
-        mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
     }
 
     @Test
@@ -57,6 +54,9 @@ public class RemoveMailAttributeTest {
 
     @Test(expected = MailetException.class)
     public void 
initShouldThrowExceptionIfMailetConfigDoesNotContainAttribute() throws 
MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         removeMailet.init(mailetConfig);
     }
 
@@ -67,7 +67,10 @@ public class RemoveMailAttributeTest {
 
     @Test
     public void serviceShouldDoNothingWhenMailHasEmptyAttribute() throws 
MessagingException {
-        mailetConfig.setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE1_ATTRIBUTE2);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE1_ATTRIBUTE2)
+                .build();
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder().build();
@@ -78,7 +81,10 @@ public class RemoveMailAttributeTest {
 
     @Test
     public void serviceShouldDoNothingWhenMailDoNotMatchAttribute() throws 
MessagingException {
-        mailetConfig.setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE1_ATTRIBUTE2);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE1_ATTRIBUTE2)
+                .build();
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
@@ -91,7 +97,10 @@ public class RemoveMailAttributeTest {
 
     @Test
     public void serviceShouldRemoveSpecifiedAttribute() throws 
MessagingException {
-        mailetConfig.setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE_1);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE_1)
+                .build();
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
@@ -106,7 +115,10 @@ public class RemoveMailAttributeTest {
 
     @Test
     public void serviceShouldRemoveSpecifiedAttributes() throws 
MessagingException {
-        mailetConfig.setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE1_ATTRIBUTE2);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty(RemoveMailAttribute.MAILET_NAME_PARAMETER, 
ATTRIBUTE1_ATTRIBUTE2)
+                .build();
         removeMailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
index 8bc5c5a..4477d0f 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RemoveMimeHeaderTest.java
@@ -30,7 +30,6 @@ import javax.mail.internet.MimeMessage;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.GenericMailet;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -60,8 +59,10 @@ public class RemoveMimeHeaderTest {
 
     @Test
     public void serviceShouldRemoveHeaderWhenOneMatching() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", HEADER1);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", HEADER1)
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -78,9 +79,10 @@ public class RemoveMimeHeaderTest {
 
     @Test
     public void serviceShouldRemoveHeadersWhenTwoMatching() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", HEADER1);
-        mailetConfig.setProperty("name", HEADER2);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", HEADER1 + "," + HEADER2)
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -97,9 +99,11 @@ public class RemoveMimeHeaderTest {
 
     @Test
     public void serviceShouldNotRemoveHeaderWhenNoneMatching() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "other1");
-        mailetConfig.setProperty("name", "other2");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "other1")
+                .setProperty("name", "other2")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -116,8 +120,10 @@ public class RemoveMimeHeaderTest {
 
     @Test
     public void serviceShouldNotRemoveHeaderWhenEmptyConfig() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -135,15 +141,19 @@ public class RemoveMimeHeaderTest {
     @Test
     public void initShouldThrowWhenInvalidConfig() throws MessagingException {
         expectedException.expect(MessagingException.class);
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         mailet.init(mailetConfig);
     }
 
     @SuppressWarnings("unchecked")
     @Test
     public void serviceShouldNotThrowWhenExceptionOccured() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "")
+                .build();
         mailet.init(mailetConfig);
 
         Mail mail = mock(Mail.class);

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
index c13ec0a..42d7cce 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ReplaceContentTest.java
@@ -29,7 +29,6 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.junit.Before;
 import org.junit.Rule;
@@ -44,12 +43,10 @@ public class ReplaceContentTest {
     public ExpectedException expectedException = ExpectedException.none();
 
     private ReplaceContent mailet;
-    private FakeMailetConfig mailetConfig;
 
     @Before
     public void setup() {
         mailet = new ReplaceContent();
-        mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
     }
 
     @Test
@@ -59,7 +56,10 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldReplaceSubjectWhenMatching() throws Exception {
-        mailetConfig.setProperty("subjectPattern", 
"/test/TEST/i/,/o/a//,/s/s/i/");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPattern", "/test/TEST/i/,/o/a//,/s/s/i/")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -75,13 +75,16 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldReplaceBodyWhenMatching() throws Exception {
-        mailetConfig.setProperty("bodyPattern", 
-                "/test/TEST/i/," +
-                "/o/a/r/," +
-                "/S/s/r/,/\\u00E8/e'//," +
-                "/test([^\\/]*?)bla/X$1Y/im/," +
-                "/X(.\\n)Y/P$1Q//," +
-                "/\\/\\/,//");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("bodyPattern", 
+                        "/test/TEST/i/," +
+                        "/o/a/r/," +
+                        "/S/s/r/,/\\u00E8/e'//," +
+                        "/test([^\\/]*?)bla/X$1Y/im/," +
+                        "/X(.\\n)Y/P$1Q//," +
+                        "/\\/\\/,//")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -99,7 +102,10 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldNotLoopWhenCaseInsensitiveAndRepeat() throws 
Exception {
-        mailetConfig.setProperty("bodyPattern", "/a/a/ir/");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("bodyPattern", "/a/a/ir/")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -115,7 +121,10 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldReplaceSubjectWhenConfigurationFromFile() throws 
Exception {
-        mailetConfig.setProperty("subjectPatternFile", 
"#/org/apache/james/mailet/standard/mailets/replaceSubject.patterns");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPatternFile", 
"#/org/apache/james/mailet/standard/mailets/replaceSubject.patterns")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -131,9 +140,12 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldRemoveOrAddTextInBody() throws Exception {
-        mailetConfig.setProperty("bodyPattern", "/--original 
message--/<quote>/i/,"
-                + "/<quote>(.*)(\\r\\n)([^>]+)/<quote>$1$2>$3/imrs/,"
-                + "/<quote>\\r\\n//im/");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("bodyPattern", "/--original message--/<quote>/i/,"
+                        + "/<quote>(.*)(\\r\\n)([^>]+)/<quote>$1$2>$3/imrs/,"
+                        + "/<quote>\\r\\n//im/")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -154,7 +166,10 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldReplaceBodyWhenMatchingASCIICharacter() throws 
Exception {
-        mailetConfig.setProperty("bodyPattern", "/\\u2026/.../r/");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("bodyPattern", "/\\u2026/.../r/")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
@@ -176,10 +191,13 @@ public class ReplaceContentTest {
                 + "\r\n"
                 + "=93test=94 with th=92 apex";
 
-        mailetConfig.setProperty("bodyPattern", "/[\\u2018\\u2019\\u201A]/'//,"
-                + "/[\\u201C\\u201D\\u201E]/\"//," + "/[\\x91\\x92\\x82]/'//,"
-                + "/[\\x93\\x94\\x84]/\"/r/," + "/\\x85/...//," + "/\\x8B/<//,"
-                + "/\\x9B/>//," + "/\\x96/-//," + "/\\x97/--//,");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("bodyPattern", "/[\\u2018\\u2019\\u201A]/'//,"
+                        + "/[\\u201C\\u201D\\u201E]/\"//," + 
"/[\\x91\\x92\\x82]/'//,"
+                        + "/[\\x93\\x94\\x84]/\"/r/," + "/\\x85/...//," + 
"/\\x8B/<//,"
+                        + "/\\x9B/>//," + "/\\x96/-//," + "/\\x97/--//,")
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()),
@@ -195,8 +213,11 @@ public class ReplaceContentTest {
 
     @Test
     public void serviceShouldSetContenTypeWhenInitialized() throws Exception {
-        mailetConfig.setProperty("subjectPattern", 
"/test/TEST/i/,/o/a//,/s/s/i/");
-        mailetConfig.setProperty("charset", Charsets.UTF_8.name());
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("subjectPattern", "/test/TEST/i/,/o/a//,/s/s/i/")
+                .setProperty("charset", Charsets.UTF_8.name())
+                .build();
         mailet.init(mailetConfig);
 
         MimeMessage message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
index 83804fa..f7423da 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMailAttributeTest.java
@@ -30,7 +30,6 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -51,9 +50,11 @@ public class SetMailAttributeTest {
 
     @Test
     public void shouldAddConfiguredAttributes() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("org.apache.james.junit1", "true");
-        mailetConfig.setProperty("org.apache.james.junit2", "happy");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("org.apache.james.junit1", "true")
+                .setProperty("org.apache.james.junit2", "happy")
+                .build();
 
         mailet.init(mailetConfig);
 
@@ -67,7 +68,9 @@ public class SetMailAttributeTest {
     
     @Test
     public void shouldAddNothingWhenNoConfiguredAttribute() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
      
         mailet.init(mailetConfig);
 
@@ -80,8 +83,10 @@ public class SetMailAttributeTest {
     
     @Test
     public void shouldOverwriteAttributeWhenAttributeAlreadyPresent() throws 
MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("org.apache.james.junit1", "bar");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("org.apache.james.junit1", "bar")
+                .build();
         
         mailet.init(mailetConfig);
         
@@ -92,18 +97,4 @@ public class SetMailAttributeTest {
 
         
assertThat(mail.getAttribute("org.apache.james.junit1")).isEqualTo("bar");
     }
-    
-    @Test
-    public void shouldThrowWhenNullProperty() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        expectedException.expect(NullPointerException.class);
-        mailetConfig.setProperty(null, "bar");
-    }
-    
-    @Test
-    public void shouldThrowWhenNullValue() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        expectedException.expect(NullPointerException.class);
-        mailetConfig.setProperty("org.apache.james.junit1", null);
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
index ba32971..a08ee21 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/SetMimeHeaderTest.java
@@ -20,17 +20,15 @@
 
 package org.apache.james.transport.mailets;
 
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import static org.assertj.core.api.Assertions.assertThat;
-
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -51,9 +49,11 @@ public class SetMimeHeaderTest {
 
     @Test
     public void shouldAddHeaderToMime() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "header-name");
-        mailetConfig.setProperty("value", "test-value");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "header-name")
+                .setProperty("value", "test-value")
+                .build();
         mailet.init(mailetConfig);
         
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -66,9 +66,11 @@ public class SetMimeHeaderTest {
 
     @Test
     public void shouldAddHeaderWhenAlreadyPresent() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "header-name");
-        mailetConfig.setProperty("value", "test-value");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "header-name")
+                .setProperty("value", "test-value")
+                .build();
         mailet.init(mailetConfig);
         
         MimeMessage mimeMessage = MailUtil.createMimeMessage();
@@ -82,9 +84,11 @@ public class SetMimeHeaderTest {
 
     @Test
     public void shouldNotThrowOnMessagingException() throws MessagingException 
{
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "header-name");
-        mailetConfig.setProperty("value", "test-value");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "header-name")
+                .setProperty("value", "test-value")
+                .build();
         mailet.init(mailetConfig);
         
         Mail mail = mock(Mail.class);
@@ -94,41 +98,51 @@ public class SetMimeHeaderTest {
     
     @Test
     public void shouldThrowWhenNoConfiguration() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }
     
     @Test
     public void shouldThrowWhenNoValue() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "correct");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "correct")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }
     
     @Test
     public void shouldThrowWhenNoHeader() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("value", "correct");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("value", "correct")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }
     
     @Test
     public void shouldThrowWhenEmptyValue() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("value", "");
-        mailetConfig.setProperty("name", "correct");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("value", "")
+                .setProperty("name", "correct")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }
     
     @Test
     public void shouldThrowWhenEmptyHeader() throws MessagingException {
-        FakeMailetConfig mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
-        mailetConfig.setProperty("name", "");
-        mailetConfig.setProperty("value", "correct");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("name", "")
+                .setProperty("value", "correct")
+                .build();
         expectedException.expect(MessagingException.class);
         mailet.init(mailetConfig);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index f103e41..a9bd6e8 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -38,7 +38,6 @@ import org.apache.commons.io.FileUtils;
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.junit.Assert;
 import org.junit.Test;
@@ -119,11 +118,12 @@ public class StripAttachmentTest {
     public void testSimpleAttachment2() throws MessagingException, IOException 
{
         Mailet mailet = new StripAttachment();
 
-        FakeMailetConfig mci = new FakeMailetConfig("Test",
-                FakeMailContext.defaultContext());
-        mci.setProperty("directory", "./");
-        mci.setProperty("remove", "all");
-        mci.setProperty("notpattern", "^(winmail\\.dat$)");
+        FakeMailetConfig mci = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("directory", "./")
+                .setProperty("remove", "all")
+                .setProperty("notpattern", "^(winmail\\.dat$)")
+                .build();
         mailet.init(mci);
 
         MimeMessage message = new MimeMessage(Session
@@ -252,21 +252,25 @@ public class StripAttachmentTest {
     public void testToAndFromAttributes() throws MessagingException,
             IOException {
         Mailet strip = new StripAttachment();
-        FakeMailetConfig mci = new FakeMailetConfig("Test",
-                FakeMailContext.defaultContext());
-        mci.setProperty("attribute", "my.attribute");
-        mci.setProperty("remove", "all");
-        mci.setProperty("notpattern", ".*\\.tmp.*");
+        FakeMailetConfig mci = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("attribute", "my.attribute")
+                .setProperty("remove", "all")
+                .setProperty("notpattern", ".*\\.tmp.*")
+                .build();
         strip.init(mci);
 
         Mailet recover = new RecoverAttachment();
-        FakeMailetConfig mci2 = new FakeMailetConfig("Test",
-                FakeMailContext.defaultContext());
-        mci2.setProperty("attribute", "my.attribute");
+        FakeMailetConfig mci2 = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("attribute", "my.attribute")
+                .build();
         recover.init(mci2);
 
         Mailet onlyText = new OnlyText();
-        onlyText.init(new FakeMailetConfig("Test", 
FakeMailContext.defaultContext()));
+        onlyText.init(FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build());
 
         MimeMessage message = new MimeMessage(Session
                 .getDefaultInstance(new Properties()));
@@ -343,26 +347,27 @@ public class StripAttachmentTest {
     private Mailet initMailet() throws MessagingException {
         Mailet mailet = new StripAttachment();
 
-        FakeMailetConfig mci = new FakeMailetConfig("Test",
-                FakeMailContext.defaultContext());
-        mci.setProperty("directory", "./");
-        mci.setProperty("remove", "all");
-        mci.setProperty("pattern", ".*\\.tmp");
-        mci.setProperty("decodeFilename", "true");
-        mci.setProperty("replaceFilenamePattern",
-                "/[\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5]/A//,"
-                        + "/[\u00C6]/AE//,"
-                        + "/[\u00C8\u00C9\u00CA\u00CB]/E//,"
-                        + "/[\u00CC\u00CD\u00CE\u00CF]/I//,"
-                        + "/[\u00D2\u00D3\u00D4\u00D5\u00D6]/O//,"
-                        + "/[\u00D7]/x//," + "/[\u00D9\u00DA\u00DB\u00DC]/U//,"
-                        + "/[\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5]/a//,"
-                        + "/[\u00E6]/ae//,"
-                        + "/[\u00E8\u00E9\u00EA\u00EB]/e/r/,"
-                        + "/[\u00EC\u00ED\u00EE\u00EF]/i//,"
-                        + "/[\u00F2\u00F3\u00F4\u00F5\u00F6]/o//,"
-                        + "/[\u00F9\u00FA\u00FB\u00FC]/u//,"
-                        + "/[^A-Za-z0-9._-]+/_/r/");
+        FakeMailetConfig mci = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("directory", "./")
+                .setProperty("remove", "all")
+                .setProperty("pattern", ".*\\.tmp")
+                .setProperty("decodeFilename", "true")
+                .setProperty("replaceFilenamePattern",
+                    "/[\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5]/A//,"
+                            + "/[\u00C6]/AE//,"
+                            + "/[\u00C8\u00C9\u00CA\u00CB]/E//,"
+                            + "/[\u00CC\u00CD\u00CE\u00CF]/I//,"
+                            + "/[\u00D2\u00D3\u00D4\u00D5\u00D6]/O//,"
+                            + "/[\u00D7]/x//," + 
"/[\u00D9\u00DA\u00DB\u00DC]/U//,"
+                            + "/[\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5]/a//,"
+                            + "/[\u00E6]/ae//,"
+                            + "/[\u00E8\u00E9\u00EA\u00EB]/e/r/,"
+                            + "/[\u00EC\u00ED\u00EE\u00EF]/i//,"
+                            + "/[\u00F2\u00F3\u00F4\u00F5\u00F6]/o//,"
+                            + "/[\u00F9\u00FA\u00FB\u00FC]/u//,"
+                            + "/[^A-Za-z0-9._-]+/_/r/")
+                .build();
 
         mailet.init(mci);
         return mailet;

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
index e380c13..3db12fd 100644
--- 
a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
+++ 
b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ToProcessorTest.java
@@ -45,14 +45,14 @@ public class ToProcessorTest {
     public ExpectedException expectedException = ExpectedException.none();
 
     private Mailet mailet;
-    private FakeMailetConfig mailetConfig;
     private Logger logger;
+    private FakeMailContext mailContext;
 
     @Before
     public void setup() {
         mailet = new ToProcessor();
         logger = mock(Logger.class);
-        mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.builder().logger(logger).build());
+        mailContext = FakeMailContext.builder().logger(logger).build();
     }
 
     @Test
@@ -62,7 +62,11 @@ public class ToProcessorTest {
 
     @Test
     public void initShouldThrowWhenProcessorIsNotGiven() throws 
MessagingException {
-        mailetConfig.setProperty("notice", "error in message");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailContext)
+                .setProperty("notice", "error in message")
+                .build();
         expectedException.expect(MailetException.class);
 
         mailet.init(mailetConfig);
@@ -71,7 +75,11 @@ public class ToProcessorTest {
     @Test
     public void serviceShouldSetTheStateOfTheMail() throws MessagingException {
         String processor = "error";
-        mailetConfig.setProperty("processor", processor);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailContext)
+                .setProperty("processor", processor)
+                .build();
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
@@ -85,9 +93,13 @@ public class ToProcessorTest {
     @Test
     public void serviceShouldSetTheErrorMessageOfTheMailWhenNotAlreadySet() 
throws MessagingException {
         String processor = "error";
-        mailetConfig.setProperty("processor", processor);
         String notice = "error in message";
-        mailetConfig.setProperty("notice", notice);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailContext)
+                .setProperty("processor", processor)
+                .setProperty("notice", notice)
+                .build();
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
@@ -101,9 +113,13 @@ public class ToProcessorTest {
     @Test
     public void 
serviceShouldAppendTheErrorMessageOfTheMailWhenSomeErrorMessageOnMail() throws 
MessagingException {
         String processor = "error";
-        mailetConfig.setProperty("processor", processor);
         String notice = "error in message";
-        mailetConfig.setProperty("notice", notice);
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailContext)
+                .setProperty("processor", processor)
+                .setProperty("notice", notice)
+                .build();
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()
@@ -118,9 +134,13 @@ public class ToProcessorTest {
 
     @Test
     public void serviceShouldLogWhenDebug() throws MessagingException {
-        mailetConfig.setProperty("processor", "error");
-        mailetConfig.setProperty("notice", "error in message");
-        mailetConfig.setProperty("debug", "true");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailContext)
+                .setProperty("processor", "error")
+                .setProperty("notice", "error in message")
+                .setProperty("debug", "true")
+                .build();
         mailet.init(mailetConfig);
 
         Mail mail = FakeMail.builder()

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/container/guice/guice-common/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/guice-common/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
 
b/server/container/guice/guice-common/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
index efcfd5c..0e1af99 100644
--- 
a/server/container/guice/guice-common/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
+++ 
b/server/container/guice/guice-common/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
@@ -97,7 +97,11 @@ public class MailetPreconditionTest {
         Properties properties = new Properties();
         properties.setProperty("name", WRONG_NAME);
         RemoveMimeHeader removeMimeHeader = new RemoveMimeHeader();
-        removeMimeHeader.init(new FakeMailetConfig(WRONG_NAME, MAILET_CONTEXT, 
properties));
+        removeMimeHeader.init(FakeMailetConfig.builder()
+                .mailetName(WRONG_NAME)
+                .mailetContext(MAILET_CONTEXT)
+                .setProperty("name", WRONG_NAME)
+                .build());
 
         List<MatcherMailetPair> pairs = Lists.newArrayList(new 
MatcherMailetPair(new All(), removeMimeHeader));
         new JMAPModule.VacationMailetCheck().check(pairs);
@@ -105,10 +109,12 @@ public class MailetPreconditionTest {
 
     @Test(expected = ConfigurationException.class)
     public void bccMailetCheckShouldNotThrowOnValidPair() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty("name", BCC);
         RemoveMimeHeader removeMimeHeader = new RemoveMimeHeader();
-        removeMimeHeader.init(new FakeMailetConfig(BCC, MAILET_CONTEXT, 
properties));
+        removeMimeHeader.init(FakeMailetConfig.builder()
+                .mailetName(BCC)
+                .mailetContext(MAILET_CONTEXT)
+                .setProperty("name", BCC)
+                .build());
 
         List<MatcherMailetPair> pairs = Lists.newArrayList(new 
MatcherMailetPair(new All(), removeMimeHeader));
         new JMAPModule.VacationMailetCheck().check(pairs);

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
index 8484a89..c07d976 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/BounceTest.java
@@ -54,7 +54,10 @@ public class BounceTest {
         fakeMailContext = FakeMailContext.defaultContext();
 
         when(dnsService.getLocalHost()).thenThrow(new UnknownHostException());
-        bounce.init(new FakeMailetConfig(MAILET_NAME, fakeMailContext));
+        bounce.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(fakeMailContext)
+            .build());
 
         senderMailAddress = new MailAddress("sen...@domain.com");
         recipientMailAddress = new MailAddress("recipi...@domain.com");

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
index 375964b..b1782f8 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableTest.java
@@ -57,7 +57,12 @@ public class RecipientRewriteTableTest {
         message = new MimeMessage(Session.getDefaultInstance(new 
Properties()));
 
         mailetContext = FakeMailContext.defaultContext();
-        mailetConfig = new FakeMailetConfig("Test", mailetContext);
+
+        mailetConfig = FakeMailetConfig.builder()
+            .mailetName("vut")
+            .mailetContext(mailetContext)
+            .build();
+
         mail = FakeMail.builder().build();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToRepositoryTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToRepositoryTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToRepositoryTest.java
index 32f1c67..cd14097 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToRepositoryTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToRepositoryTest.java
@@ -31,7 +31,6 @@ import 
org.apache.james.mailrepository.api.MailRepositoryStore;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
 import org.apache.mailet.base.test.MailUtil;
 import org.junit.Before;
@@ -43,7 +42,6 @@ public class ToRepositoryTest {
     @Rule public ExpectedException expectedException = 
ExpectedException.none();
     
     private ToRepository mailet;
-    private FakeMailetConfig mailetConfig;
     private MailRepositoryStore mailRepositoryStore;
     private FakeMail message;
 
@@ -53,7 +51,6 @@ public class ToRepositoryTest {
         mailRepositoryStore = mock(MailRepositoryStore.class);
         mailet = new ToRepository();
         mailet.setStore(mailRepositoryStore);
-        mailetConfig = new FakeMailetConfig("Test", 
FakeMailContext.defaultContext());
         message = 
MailUtil.createMockMail2Recipients(MailUtil.createMimeMessage());
     }
 
@@ -79,6 +76,9 @@ public class ToRepositoryTest {
         when(mailRepositoryStore.select(any(String.class))).thenThrow(new 
RuntimeException());
         expectedException.expect(MessagingException.class);
 
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         mailet.init(mailetConfig);
     }
 
@@ -86,6 +86,10 @@ public class ToRepositoryTest {
     public void serviceShouldStoreMailIntoRepository() throws Exception {
         MailRepository mailRepository = mock(MailRepository.class);
         
when(mailRepositoryStore.select(any(String.class))).thenReturn(mailRepository);
+
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(message);
@@ -97,6 +101,10 @@ public class ToRepositoryTest {
     public void serviceShouldGhostMailIfPassThroughNotSet() throws Exception {
         MailRepository mailRepository = mock(MailRepository.class);
         
when(mailRepositoryStore.select(any(String.class))).thenReturn(mailRepository);
+
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .build();
         mailet.init(mailetConfig);
 
         mailet.service(message);
@@ -106,7 +114,10 @@ public class ToRepositoryTest {
 
     @Test
     public void serviceShouldGhostMailIfPassThroughSetToFalse() throws 
Exception {
-        mailetConfig.setProperty("passThrough", "false");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("passThrough", "false")
+                .build();
         MailRepository mailRepository = mock(MailRepository.class);
         
when(mailRepositoryStore.select(any(String.class))).thenReturn(mailRepository);
         mailet.init(mailetConfig);
@@ -118,7 +129,10 @@ public class ToRepositoryTest {
 
     @Test
     public void serviceShouldNotGhostMailIfPassThroughSetToTrue() throws 
Exception {
-        mailetConfig.setProperty("passThrough", "true");
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .setProperty("passThrough", "true")
+                .build();
         MailRepository mailRepository = mock(MailRepository.class);
         
when(mailRepositoryStore.select(any(String.class))).thenReturn(mailRepository);
         mailet.init(mailetConfig);

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
index 05e9653..61d842b 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/LocalDeliveryTest.java
@@ -89,7 +89,10 @@ public class LocalDeliveryTest {
         }
         when(session.getUser()).thenReturn(user);
 
-        config = new FakeMailetConfig("Local delivery", 
FakeMailContext.builder().logger(mock(Logger.class)).build());
+        config = FakeMailetConfig.builder()
+            .mailetName("Local delivery")
+            
.mailetContext(FakeMailContext.builder().logger(mock(Logger.class)).build())
+            .build();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
index cf299d8..6ae5aa2 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
@@ -67,19 +67,18 @@ public class ToRecipientFolderTest {
     public static final MailboxPath INBOX = new MailboxPath("#private", USER, 
"INBOX");
     public static final MailboxPath JUNK = new MailboxPath("#private", 
USER_LOCAL_PART, "Junk");
     public static final MailboxPath JUNK_VIRTUAL_HOSTING = new 
MailboxPath("#private", USER, "Junk");
+    public static final String MAILET_NAME = "RecipientFolderTest";
 
     private MessageManager messageManager;
     private UsersRepository usersRepository;
     private MailboxManager mailboxManager;
     private ToRecipientFolder testee;
     private MailboxSession.User user;
-
-
-    private FakeMailetConfig mailetConfig;
+    private FakeMailContext mailetContext;
 
     @Before
     public void setUp() throws Exception {
-        mailetConfig = new FakeMailetConfig("RecipientFolderTest", 
FakeMailContext.builder().logger(mock(Logger.class)).build());
+        mailetContext = 
FakeMailContext.builder().logger(mock(Logger.class)).build();
         messageManager = mock(MessageManager.class);
         usersRepository = mock(UsersRepository.class);
         mailboxManager = mock(MailboxManager.class);
@@ -100,16 +99,22 @@ public class ToRecipientFolderTest {
 
     @Test
     public void initParameterTesting() throws Exception {
-        mailetConfig.setProperty(ToRecipientFolder.FOLDER_PARAMETER, "Junk");
-        testee.init(mailetConfig);
+        testee.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(mailetContext)
+            .setProperty(ToRecipientFolder.FOLDER_PARAMETER, "Junk")
+            .build());
 
         Assert.assertEquals("Junk", 
testee.getInitParameter(ToRecipientFolder.FOLDER_PARAMETER));
     }
 
     @Test
     public void consumeOptionShouldGhostTheMail() throws Exception {
-        mailetConfig.setProperty(ToRecipientFolder.CONSUME_PARAMETER, "true");
-        testee.init(mailetConfig);
+        testee.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(mailetContext)
+            .setProperty(ToRecipientFolder.CONSUME_PARAMETER, "true")
+            .build());
 
         Mail mail = createMail();
         testee.service(mail);
@@ -119,7 +124,10 @@ public class ToRecipientFolderTest {
 
     @Test
     public void consumeOptionShouldNotGhostTheMailByDefault() throws Exception 
{
-        testee.init(mailetConfig);
+        testee.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(mailetContext)
+            .build());
 
         Mail mail = createMail();
         testee.service(mail);
@@ -134,8 +142,11 @@ public class ToRecipientFolderTest {
         when(mailboxManager.getMailbox(eq(JUNK_VIRTUAL_HOSTING), 
any(MailboxSession.class))).thenReturn(messageManager);
         when(user.getUserName()).thenReturn(USER);
 
-        mailetConfig.setProperty(ToRecipientFolder.FOLDER_PARAMETER, "Junk");
-        testee.init(mailetConfig);
+        testee.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(mailetContext)
+            .setProperty(ToRecipientFolder.FOLDER_PARAMETER, "Junk")
+            .build());
         testee.service(createMail());
 
         verify(messageManager).appendMessage(any(InputStream.class), 
any(Date.class), any(MailboxSession.class), eq(true), any(Flags.class));
@@ -148,7 +159,10 @@ public class ToRecipientFolderTest {
         when(mailboxManager.getMailbox(eq(INBOX), 
any(MailboxSession.class))).thenReturn(messageManager);
         when(user.getUserName()).thenReturn(USER);
 
-        testee.init(mailetConfig);
+        testee.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(mailetContext)
+            .build());
         testee.service(createMail());
 
         verify(messageManager).appendMessage(any(InputStream.class), 
any(Date.class), any(MailboxSession.class), eq(true), any(Flags.class));
@@ -162,8 +176,12 @@ public class ToRecipientFolderTest {
         when(mailboxManager.getMailbox(eq(JUNK), 
any(MailboxSession.class))).thenReturn(messageManager);
         when(user.getUserName()).thenReturn(USER_LOCAL_PART);
 
-        mailetConfig.setProperty(ToRecipientFolder.FOLDER_PARAMETER, "Junk");
-        testee.init(mailetConfig);
+        testee.init(FakeMailetConfig.builder()
+            .mailetName(MAILET_NAME)
+            .mailetContext(mailetContext)
+            .setProperty(ToRecipientFolder.FOLDER_PARAMETER, "Junk")
+            .setProperty(ToRecipientFolder.CONSUME_PARAMETER, "true")
+            .build());
         testee.service(createMail());
 
         verify(messageManager).appendMessage(any(InputStream.class), 
any(Date.class), any(MailboxSession.class), eq(true), any(Flags.class));

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
index bd05700..bdf6dd5 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java
@@ -467,8 +467,11 @@ public class ManageSieveMailetTestCase {
         mailet.setSieveRepository(sieveRepository);
         mailet.setUsersRepository(usersRepository);
         fakeMailContext = FakeMailContext.defaultContext();
-        FakeMailetConfig config = new FakeMailetConfig("ManageSieve mailet", 
fakeMailContext);
-        config.setProperty("helpURL", "file:./src/test/resources/help.txt");
+        FakeMailetConfig config = FakeMailetConfig.builder()
+                .mailetName("ManageSieve mailet")
+                .mailetContext(fakeMailContext)
+                .setProperty("helpURL", "file:./src/test/resources/help.txt")
+                .build();
         mailet.init(config);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7a9c4382/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
 
b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
index 1ba6995..1568dd0 100644
--- 
a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
+++ 
b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/VacationMailetTest.java
@@ -94,7 +94,10 @@ public class VacationMailetTest {
         notificationRegistry = mock(NotificationRegistry.class);
         testee = new VacationMailet(vacationRepository, zonedDateTimeProvider, 
automaticallySentMailDetector, notificationRegistry, mimeMessageBodyGenerator);
         mailetContext = mock(MailetContext.class);
-        testee.init(new FakeMailetConfig("vacation", mailetContext));
+        testee.init(FakeMailetConfig.builder()
+                .mailetName("vacation")
+                .mailetContext(mailetContext)
+                .build());
     }
 
     @Test


---------------------------------------------------------------------
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