JAMES-1930 MPT test for delegation

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

Branch: refs/heads/master
Commit: 3f26ba0cdacef98e41c4ea96014f8eadfb0b4f97
Parents: 157be0d
Author: Benoit Tellier <[email protected]>
Authored: Fri Feb 10 11:49:13 2017 +0700
Committer: Antoine Duprat <[email protected]>
Committed: Tue Feb 14 11:29:30 2017 +0100

----------------------------------------------------------------------
 .../cassandra/host/CassandraHostSystem.java     | 13 +----
 mpt/impl/imap-mailbox/core/pom.xml              |  8 +++
 .../james/mpt/host/JamesImapHostSystem.java     | 44 +++++++++++++--
 .../imapmailbox/suite/AuthenticatePlain.java    | 12 +++-
 .../james/imap/scripts/AuthenticatePlain.test   | 59 ++++++++++++++++----
 .../host/ElasticSearchHostSystem.java           | 10 +---
 .../imapmailbox/hbase/host/HBaseHostSystem.java | 13 +----
 .../inmemory/InMemoryMailboxTest.java           |  2 +
 .../InMemoryEventAsynchronousHostSystem.java    | 11 +---
 .../inmemory/host/InMemoryHostSystem.java       | 11 +---
 .../mpt/imapmailbox/jcr/host/JCRHostSystem.java | 16 +-----
 .../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 15 +----
 .../host/LuceneSearchHostSystem.java            | 14 +----
 .../maildir/host/MaildirHostSystem.java         | 17 ++----
 mpt/pom.xml                                     |  5 ++
 .../user/memory/MemoryUsersRepository.java      |  4 ++
 16 files changed, 133 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
 
b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
index e466f2d..3f9750b 100644
--- 
a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
@@ -51,8 +51,6 @@ import 
org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManager;
 import 
org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaManager;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
@@ -73,8 +71,6 @@ public class CassandraHostSystem extends JamesImapHostSystem {
         Feature.ANNOTATION_SUPPORT);
     
     private final CassandraMailboxManager mailboxManager;
-    private final FakeAuthenticator userManager;
-    private final FakeAuthorizator authorizator;
     private final CassandraCluster cassandraClusterSingleton;
 
     public CassandraHostSystem() throws Exception {
@@ -91,8 +87,6 @@ public class CassandraHostSystem extends JamesImapHostSystem {
             new CassandraAttachmentModule(),
             new CassandraAnnotationModule());
         cassandraClusterSingleton = CassandraCluster.create(mailboxModule);
-        userManager = new FakeAuthenticator();
-        authorizator = FakeAuthorizator.defaultReject();
         com.datastax.driver.core.Session session = 
cassandraClusterSingleton.getConf();
         CassandraModSeqProvider modSeqProvider = new 
CassandraModSeqProvider(session);
         CassandraUidProvider uidProvider = new CassandraUidProvider(session);
@@ -107,7 +101,7 @@ public class CassandraHostSystem extends 
JamesImapHostSystem {
         CassandraMailboxSessionMapperFactory mapperFactory = new 
CassandraMailboxSessionMapperFactory(uidProvider, modSeqProvider, 
                 session, typesProvider, messageDAO, messageIdDAO, imapUidDAO, 
mailboxCounterDAO, mailboxRecentsDAO);
         
-        mailboxManager = new CassandraMailboxManager(mapperFactory, 
userManager, authorizator, new JVMMailboxPathLocker(), new MessageParser(), 
messageIdFactory); 
+        mailboxManager = new CassandraMailboxManager(mapperFactory, 
authenticator, authorizator, new JVMMailboxPathLocker(), new MessageParser(), 
messageIdFactory);
         QuotaRootResolver quotaRootResolver = new 
DefaultQuotaRootResolver(mapperFactory);
 
         CassandraPerUserMaxQuotaManager perUserMaxQuotaManager = new 
CassandraPerUserMaxQuotaManager(session);
@@ -143,11 +137,6 @@ public class CassandraHostSystem extends 
JamesImapHostSystem {
         cassandraClusterSingleton.clearAllTables();
     }
 
-    public boolean addUser(String user, String password) {
-        userManager.addUser(user, password);
-        return true;
-    }
-
     @Override
     protected void finalize() throws Throwable {
         super.finalize();

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/pom.xml 
b/mpt/impl/imap-mailbox/core/pom.xml
index a13926d..f2435b0 100644
--- a/mpt/impl/imap-mailbox/core/pom.xml
+++ b/mpt/impl/imap-mailbox/core/pom.xml
@@ -58,6 +58,14 @@
             <artifactId>apache-james-mpt-onami-test</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-data-memory</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-mailbox-adapter</artifactId>
+        </dependency>
+        <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
index e2be945..149209a 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
@@ -19,35 +19,54 @@
 
 package org.apache.james.mpt.host;
 
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration.plist.PropertyListConfiguration;
+import org.apache.james.adapter.mailbox.store.UserRepositoryAuthenticator;
+import org.apache.james.adapter.mailbox.store.UserRepositoryAuthorizator;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.decode.ImapDecoder;
 import org.apache.james.imap.decode.main.ImapRequestStreamHandler;
 import org.apache.james.imap.encode.ImapEncoder;
 import org.apache.james.mailbox.MailboxSession.User;
 import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mailbox.store.Authenticator;
+import org.apache.james.mailbox.store.Authorizator;
 import org.apache.james.mpt.api.Continuation;
 import org.apache.james.mpt.api.ImapHostSystem;
 import org.apache.james.mpt.helper.ByteBufferInputStream;
 import org.apache.james.mpt.helper.ByteBufferOutputStream;
 import org.apache.james.mpt.session.ImapSessionImpl;
+import org.apache.james.user.memory.MemoryUsersRepository;
 import org.slf4j.LoggerFactory;
 
-import java.util.HashSet;
-import java.util.Set;
+import com.google.common.base.Throwables;
 
 public abstract class JamesImapHostSystem implements ImapHostSystem {
 
-    private ImapDecoder decoder;
+    private final MemoryUsersRepository memoryUsersRepository;
+    private final Set<User> users;
+    protected final Authorizator authorizator;
+    protected final Authenticator authenticator;
 
+    private ImapDecoder decoder;
     private ImapEncoder encoder;
-
     private ImapProcessor processor;
 
-    private final Set<User> users;
-
     public JamesImapHostSystem() {
         super();
         users = new HashSet<User>();
+        memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting();
+        try {
+            memoryUsersRepository.configure(userRepositoryConfiguration());
+        } catch (ConfigurationException e) {
+            throw Throwables.propagate(e);
+        }
+        authenticator = new UserRepositoryAuthenticator(memoryUsersRepository);
+        authorizator = new UserRepositoryAuthorizator(memoryUsersRepository);
     }
 
     public void configure(ImapDecoder decoder, ImapEncoder encoder,
@@ -57,6 +76,12 @@ public abstract class JamesImapHostSystem implements 
ImapHostSystem {
         this.processor = processor;
     }
 
+    @Override
+    public boolean addUser(String user, String password) throws Exception {
+        memoryUsersRepository.addUser(user, password);
+        return true;
+    }
+
     public Session newSession(Continuation continuation)
             throws Exception {
         return new Session(continuation);
@@ -67,6 +92,7 @@ public abstract class JamesImapHostSystem implements 
ImapHostSystem {
     
     public void afterTest() throws Exception {
         users.clear();
+        memoryUsersRepository.clear();
         resetData();
     }
     
@@ -127,5 +153,11 @@ public abstract class JamesImapHostSystem implements 
ImapHostSystem {
     public void beforeTests() throws Exception {
         // default do nothing
     }
+
+    private HierarchicalConfiguration userRepositoryConfiguration() {
+        PropertyListConfiguration configuration = new 
PropertyListConfiguration();
+        configuration.addProperty("administratorId", "imapuser");
+        return configuration;
+    }
     
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java
index 58a9892..6f241bb 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java
@@ -23,6 +23,8 @@ import java.util.Locale;
 
 import javax.inject.Inject;
 
+import org.apache.james.mailbox.model.MailboxConstants;
+import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mpt.api.ImapHostSystem;
 import org.apache.james.mpt.imapmailbox.suite.base.BaseNonAuthenticatedState;
 import org.junit.Test;
@@ -32,23 +34,31 @@ public class AuthenticatePlain extends 
BaseNonAuthenticatedState {
     @Inject
     private static ImapHostSystem system;
 
-    
     public AuthenticatePlain() throws Exception {
         super(system);
     }
 
     @Test
     public void testAuthenticatePlainUS() throws Exception {
+        system.addUser("delegate", "123456");
+        system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, 
"delegate", "delegate"));
+        system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, 
"imapuser", "imapuser"));
         scriptTest("AuthenticatePlain", Locale.US);
     }
 
     @Test
     public void testAuthenticatePlainITALY() throws Exception {
+        system.addUser("delegate", "123456");
+        system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, 
"delegate", "delegate"));
+        system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, 
"imapuser", "imapuser"));
         scriptTest("AuthenticatePlain", Locale.ITALY);
     }
 
     @Test
     public void testAuthenticatePlainKOREA() throws Exception {
+        system.addUser("delegate", "123456");
+        system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, 
"delegate", "delegate"));
+        system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, 
"imapuser", "imapuser"));
         scriptTest("AuthenticatePlain", Locale.KOREA);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/AuthenticatePlain.test
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/AuthenticatePlain.test
 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/AuthenticatePlain.test
index 8408748..50fa93d 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/AuthenticatePlain.test
+++ 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/AuthenticatePlain.test
@@ -18,39 +18,78 @@
 ################################################################
 
 # Correct user with correct password can authenticate with delegation part 
missing
-C: abcd AUTHENTICATE "PLAIN" {24+}
+C: 0001 AUTHENTICATE "PLAIN" {24+}
 # imapuser\0password
 C: aW1hcHVzZXIAcGFzc3dvcmQ=
-S: abcd OK AUTHENTICATE completed.
+S: 0001 OK AUTHENTICATE completed.
+
+# Ensure we are imapuser
+C: 0002 SELECT imapuser
+SUB {
+S: \* FLAGS .*
+S: \* .* EXISTS
+S: \* .* RECENT
+S: \* OK \[UIDVALIDITY .*\] UIDs valid
+S: \* OK \[PERMANENTFLAGS .*\] Limited
+S: \* OK \[HIGHESTMODSEQ .*\] Highest
+S: \* OK \[UIDNEXT .*\] Predicted next UID
+}
+S: 0002 OK \[READ-WRITE\] SELECT completed\.
 
 REINIT
 
 # Correct user with correct password can authenticate with empty delegation 
part
-C: abcd AUTHENTICATE "PLAIN" {24+}
+C: 0003 AUTHENTICATE "PLAIN" {24+}
 # \0imapuser\0password
 C: AGltYXB1c2VyAHBhc3N3b3Jk
-S: abcd OK AUTHENTICATE completed.
+S: 0003 OK AUTHENTICATE completed.
+
+# Ensure we are imapuser
+C: 0004 SELECT imapuser
+SUB {
+S: \* FLAGS .*
+S: \* .* EXISTS
+S: \* .* RECENT
+S: \* OK \[UIDVALIDITY .*\] UIDs valid
+S: \* OK \[PERMANENTFLAGS .*\] Limited
+S: \* OK \[HIGHESTMODSEQ .*\] Highest
+S: \* OK \[UIDNEXT .*\] Predicted next UID
+}
+S: 0004 OK \[READ-WRITE\] SELECT completed\.
 
 REINIT
 
 # Correct user with bad password cannot authenticate
-C: abcd AUTHENTICATE "PLAIN" {28+}
+C: 0005 AUTHENTICATE "PLAIN" {28+}
 # \0imapuser\0badpassword
 C: AGltYXB1c2VyAGJhZHBhc3N3b3Jk
-S: abcd NO AUTHENTICATE failed. Authentication failed.
+S: 0005 NO AUTHENTICATE failed. Authentication failed.
 
 REINIT
 
 # Bad user cannot authenticate
-C: abcd AUTHENTICATE "PLAIN" {24+}
+C: 0006 AUTHENTICATE "PLAIN" {24+}
 # \0baduser\0password
 C: AGJhZHVzZXIAcGFzc3dvcmQ=
-S: abcd NO AUTHENTICATE failed. Authentication failed.
+S: 0006 NO AUTHENTICATE failed. Authentication failed.
 
 REINIT
 
 # Correct user with correct password can authenticate with any delegation part
-C: abcd AUTHENTICATE "PLAIN" {36+}
+C: 0007 AUTHENTICATE "PLAIN" {36+}
 # delegate\0imapuser\0password
 C: ZGVsZWdhdGUAaW1hcHVzZXIAcGFzc3dvcmQ=
-S: abcd OK AUTHENTICATE completed.
+S: 0007 OK AUTHENTICATE completed.
+
+# Ensure we are delegate
+C: 0008 SELECT delegate
+SUB {
+S: \* FLAGS .*
+S: \* .* EXISTS
+S: \* .* RECENT
+S: \* OK \[UIDVALIDITY .*\] UIDs valid
+S: \* OK \[PERMANENTFLAGS .*\] Limited
+S: \* OK \[HIGHESTMODSEQ .*\] Highest
+S: \* OK \[UIDNEXT .*\] Predicted next UID
+}
+S: 0008 OK \[READ-WRITE\] SELECT completed\.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
 
b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
index 5989b02..a745032 100644
--- 
a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
@@ -53,8 +53,6 @@ import 
org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
 import org.apache.james.mailbox.inmemory.InMemoryMessageId;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
@@ -77,12 +75,7 @@ public class ElasticSearchHostSystem extends 
JamesImapHostSystem {
     private EmbeddedElasticSearch embeddedElasticSearch;
     private Path tempDirectory;
     private StoreMailboxManager mailboxManager;
-    private FakeAuthenticator userManager;
 
-    public boolean addUser(String user, String password) throws Exception {
-        userManager.addUser(user, password);
-        return true;
-    }
 
     @Override
     public void beforeTest() throws Exception {
@@ -111,7 +104,6 @@ public class ElasticSearchHostSystem extends 
JamesImapHostSystem {
             MailboxMappingFactory.getMappingContent()
         );
 
-        userManager = new FakeAuthenticator();
         InMemoryMailboxSessionMapperFactory factory = new 
InMemoryMailboxSessionMapperFactory();
         InMemoryMessageId.Factory messageIdFactory = new 
InMemoryMessageId.Factory();
 
@@ -125,7 +117,7 @@ public class ElasticSearchHostSystem extends 
JamesImapHostSystem {
         GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
 
-        mailboxManager = new StoreMailboxManager(factory, userManager, 
FakeAuthorizator.defaultReject(), aclResolver, groupMembershipResolver, 
messageParser,
+        mailboxManager = new StoreMailboxManager(factory, authenticator, 
authorizator, aclResolver, groupMembershipResolver, messageParser,
             messageIdFactory, 
MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, 
MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE);
         mailboxManager.setMessageSearchIndex(searchIndex);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
 
b/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
index 4feb238..232d609 100644
--- 
a/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/hbase/src/test/java/org/apache/james/mpt/imapmailbox/hbase/host/HBaseHostSystem.java
@@ -40,8 +40,6 @@ import 
org.apache.james.mailbox.hbase.HBaseMailboxSessionMapperFactory;
 import org.apache.james.mailbox.hbase.mail.HBaseModSeqProvider;
 import org.apache.james.mailbox.hbase.mail.HBaseUidProvider;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
@@ -66,7 +64,6 @@ public class HBaseHostSystem extends JamesImapHostSystem {
     public static Boolean useMiniCluster = true;
     
     private final HBaseMailboxManager mailboxManager;
-    private final FakeAuthenticator userManager;
     private MiniHBaseCluster hbaseCluster;
     private final Configuration conf;
 
@@ -91,9 +88,6 @@ public class HBaseHostSystem extends JamesImapHostSystem {
             conf = HBaseConfiguration.create();
         }
 
-        userManager = new FakeAuthenticator();
-        FakeAuthorizator authorizator = FakeAuthorizator.defaultReject();
-
         final HBaseModSeqProvider modSeqProvider = new 
HBaseModSeqProvider(conf);
         final HBaseUidProvider uidProvider = new HBaseUidProvider(conf);
         DefaultMessageId.Factory messageIdFactory = new 
DefaultMessageId.Factory();
@@ -103,7 +97,7 @@ public class HBaseHostSystem extends JamesImapHostSystem {
         GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
         
-        mailboxManager = new HBaseMailboxManager(mapperFactory, userManager, 
authorizator, aclResolver, groupMembershipResolver, 
+        mailboxManager = new HBaseMailboxManager(mapperFactory, authenticator, 
authorizator, aclResolver, groupMembershipResolver,
                 messageParser, messageIdFactory);
         mailboxManager.init();
 
@@ -133,11 +127,6 @@ public class HBaseHostSystem extends JamesImapHostSystem {
         mailboxManager.logout(session, false);
     }
 
-    public boolean addUser(String user, String password) {
-        userManager.addUser(user, password);
-        return true;
-    }
-
     public final void resetUserMetaData() throws Exception {
         File dir = new File(META_DATA_DIRECTORY);
         if (dir.exists()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
index 8cb3eee..7c909d0 100644
--- 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
+++ 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
@@ -19,6 +19,7 @@
 package org.apache.james.mpt.imapmailbox.inmemory;
 
 import org.apache.james.mpt.imapmailbox.AbstractMailboxTest;
+import org.apache.james.mpt.imapmailbox.suite.AuthenticatePlain;
 import org.apache.james.mpt.imapmailbox.suite.AuthenticatedState;
 import org.apache.james.mpt.imapmailbox.suite.ConcurrentSessions;
 import org.apache.james.mpt.imapmailbox.suite.Events;
@@ -48,6 +49,7 @@ import org.junit.runners.Suite.SuiteClasses;
 @GuiceModules({ InMemoryMailboxTestModule.class })
 @SuiteClasses({
     AuthenticatedState.class,
+    AuthenticatePlain.class,
     ConcurrentSessions.class,
     Events.class,
     Expunge.class,

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
index a628031..466b368 100644
--- 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryEventAsynchronousHostSystem.java
@@ -35,8 +35,6 @@ import 
org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.mailbox.store.event.AsynchronousEventDelivery;
@@ -56,7 +54,6 @@ public class InMemoryEventAsynchronousHostSystem extends 
JamesImapHostSystem {
     private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT);
 
     private StoreMailboxManager mailboxManager;
-    private FakeAuthenticator userManager;
 
     public static JamesImapHostSystem build() throws Exception {
         return new InMemoryEventAsynchronousHostSystem();
@@ -65,11 +62,6 @@ public class InMemoryEventAsynchronousHostSystem extends 
JamesImapHostSystem {
     private InMemoryEventAsynchronousHostSystem() throws MailboxException {
         initFields();
     }
-    
-    public boolean addUser(String user, String password) throws Exception {
-        userManager.addUser(user, password);
-        return true;
-    }
 
     @Override
     protected void resetData() throws Exception {
@@ -77,13 +69,12 @@ public class InMemoryEventAsynchronousHostSystem extends 
JamesImapHostSystem {
     }
     
     private void initFields() throws MailboxException {
-        userManager = new FakeAuthenticator();
         InMemoryMailboxSessionMapperFactory factory = new 
InMemoryMailboxSessionMapperFactory();
         MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
         GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
 
-        mailboxManager = new StoreMailboxManager(factory, userManager, 
FakeAuthorizator.defaultReject(), aclResolver, groupMembershipResolver, 
messageParser,
+        mailboxManager = new StoreMailboxManager(factory, authenticator, 
authorizator, aclResolver, groupMembershipResolver, messageParser,
                 new InMemoryMessageId.Factory(), 
MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, 
MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE);
         QuotaRootResolver quotaRootResolver = new 
DefaultQuotaRootResolver(factory);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
index de3a4f7..97b4e17 100644
--- 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
@@ -35,8 +35,6 @@ import 
org.apache.james.mailbox.inmemory.quota.InMemoryCurrentQuotaManager;
 import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
@@ -58,7 +56,6 @@ public class InMemoryHostSystem extends JamesImapHostSystem {
         Feature.ANNOTATION_SUPPORT);
 
     private InMemoryMailboxManager mailboxManager;
-    private FakeAuthenticator userManager;
 
     public static JamesImapHostSystem build() throws Exception {
         return new InMemoryHostSystem();
@@ -67,11 +64,6 @@ public class InMemoryHostSystem extends JamesImapHostSystem {
     private InMemoryHostSystem() throws MailboxException {
         initFields();
     }
-    
-    public boolean addUser(String user, String password) throws Exception {
-        userManager.addUser(user, password);
-        return true;
-    }
 
     @Override
     protected void resetData() throws Exception {
@@ -79,13 +71,12 @@ public class InMemoryHostSystem extends JamesImapHostSystem 
{
     }
     
     private void initFields() throws MailboxException {
-        userManager = new FakeAuthenticator();
         MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
         GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
 
         InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new 
InMemoryMailboxSessionMapperFactory();
-        mailboxManager = new 
InMemoryMailboxManager(mailboxSessionMapperFactory, userManager, 
FakeAuthorizator.defaultReject(),
+        mailboxManager = new 
InMemoryMailboxManager(mailboxSessionMapperFactory, authenticator, authorizator,
                 new JVMMailboxPathLocker(), aclResolver, 
groupMembershipResolver, messageParser, new InMemoryMessageId.Factory());
         QuotaRootResolver quotaRootResolver = new 
DefaultQuotaRootResolver(mailboxManager.getMapperFactory());
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
 
b/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
index 51f5fe2..a52e696 100644
--- 
a/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/jcr/src/test/java/org/apache/james/mpt/imapmailbox/jcr/host/JCRHostSystem.java
@@ -40,8 +40,6 @@ import org.apache.james.mailbox.jcr.JCRUtils;
 import org.apache.james.mailbox.jcr.mail.JCRModSeqProvider;
 import org.apache.james.mailbox.jcr.mail.JCRUidProvider;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
@@ -54,14 +52,13 @@ import 
org.apache.james.mpt.imapmailbox.MailboxCreationDelegate;
 import org.slf4j.LoggerFactory;
 import org.xml.sax.InputSource;
 
-public class JCRHostSystem extends JamesImapHostSystem{
+public class JCRHostSystem extends JamesImapHostSystem {
 
     public static JamesImapHostSystem build() throws Exception {
         return new JCRHostSystem();
     }
     
     private final JCRMailboxManager mailboxManager;
-    private final FakeAuthenticator userManager; 
 
     private static final String JACKRABBIT_HOME = "target/jackrabbit";
     public static final String META_DATA_DIRECTORY = "target/user-meta-data";
@@ -84,8 +81,7 @@ public class JCRHostSystem extends JamesImapHostSystem{
             
             // Register imap cnd file
             JCRUtils.registerCnd(repository, workspace, user, pass);
-            
-            userManager = new FakeAuthenticator();
+
             JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
             JCRUidProvider uidProvider = new JCRUidProvider(locker, 
sessionRepos);
             JCRModSeqProvider modSeqProvider = new JCRModSeqProvider(locker, 
sessionRepos);
@@ -95,7 +91,7 @@ public class JCRHostSystem extends JamesImapHostSystem{
             GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
             MessageParser messageParser = new MessageParser();
 
-            mailboxManager = new JCRMailboxManager(mf, userManager, 
FakeAuthorizator.defaultReject(), aclResolver, groupMembershipResolver, 
messageParser,
+            mailboxManager = new JCRMailboxManager(mf, authenticator, 
authorizator, aclResolver, groupMembershipResolver, messageParser,
                     new DefaultMessageId.Factory());
             mailboxManager.init();
 
@@ -118,12 +114,6 @@ public class JCRHostSystem extends JamesImapHostSystem{
         }
     }
 
-   
-    public boolean addUser(String user, String password) {
-        userManager.addUser(user, password);
-        return true;
-    }
-
     public void resetData() throws Exception {
         resetUserMetaData();
       

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
index 7c6f930..1fdc752 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
@@ -42,8 +42,6 @@ import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
 import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
 import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
@@ -67,13 +65,9 @@ public class JPAHostSystem extends JamesImapHostSystem {
     }
     
     private final OpenJPAMailboxManager mailboxManager;
-    private final FakeAuthenticator userManager; 
-    private final EntityManagerFactory entityManagerFactory;
 
     public JPAHostSystem() throws Exception {
-        
-        userManager = new FakeAuthenticator();
-        entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
+        EntityManagerFactory entityManagerFactory = 
JPA_TEST_CLUSTER.getEntityManagerFactory();
         JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
         JPAUidProvider uidProvider = new JPAUidProvider(locker, 
entityManagerFactory);
         JPAModSeqProvider modSeqProvider = new JPAModSeqProvider(locker, 
entityManagerFactory);
@@ -83,7 +77,7 @@ public class JPAHostSystem extends JamesImapHostSystem {
         GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
 
-        mailboxManager = new OpenJPAMailboxManager(mf, userManager, 
FakeAuthorizator.defaultReject(), locker, false, aclResolver, 
groupMembershipResolver, messageParser, new DefaultMessageId.Factory());
+        mailboxManager = new OpenJPAMailboxManager(mf, authenticator, 
authorizator, locker, false, aclResolver, groupMembershipResolver, 
messageParser, new DefaultMessageId.Factory());
         mailboxManager.init();
 
         SubscriptionManager subscriptionManager = new 
JPASubscriptionManager(mf);
@@ -103,11 +97,6 @@ public class JPAHostSystem extends JamesImapHostSystem {
 
     }
 
-    public boolean addUser(String user, String password) {
-        userManager.addUser(user, password);
-        return true;
-    }
-
     public void resetData() throws Exception {
         resetUserMetaData();
         MailboxSession session = mailboxManager.createSystemSession("test", 
LoggerFactory.getLogger("TestLog"));

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
 
b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index caa3b08..c354e82 100644
--- 
a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -48,8 +48,6 @@ import 
org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
 import org.apache.james.mailbox.lucene.search.LuceneMessageSearchIndex;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageId;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
@@ -73,13 +71,6 @@ public class LuceneSearchHostSystem extends 
JamesImapHostSystem {
 
     private File tempFile;
     private OpenJPAMailboxManager mailboxManager;
-    private FakeAuthenticator userManager;
-    private EntityManagerFactory entityManagerFactory;
-
-    public boolean addUser(String user, String password) throws Exception {
-        userManager.addUser(user, password);
-        return true;
-    }
 
     @Override
     public void beforeTest() throws Exception {
@@ -109,8 +100,7 @@ public class LuceneSearchHostSystem extends 
JamesImapHostSystem {
     }
 
     private void initFields() {
-        userManager = new FakeAuthenticator();
-        entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
+        EntityManagerFactory entityManagerFactory = 
JPA_TEST_CLUSTER.getEntityManagerFactory();
         JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
         JPAUidProvider uidProvider = new JPAUidProvider(locker, 
entityManagerFactory);
         JPAModSeqProvider modSeqProvider = new JPAModSeqProvider(locker, 
entityManagerFactory);
@@ -125,7 +115,7 @@ public class LuceneSearchHostSystem extends 
JamesImapHostSystem {
             GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
             MessageParser messageParser = new MessageParser();
 
-            mailboxManager = new OpenJPAMailboxManager(factory, userManager, 
FakeAuthorizator.defaultReject(), locker, false, aclResolver, 
groupMembershipResolver, messageParser, messageIdFactory);
+            mailboxManager = new OpenJPAMailboxManager(factory, authenticator, 
authorizator, locker, false, aclResolver, groupMembershipResolver, 
messageParser, messageIdFactory);
 
             LuceneMessageSearchIndex searchIndex = new 
LuceneMessageSearchIndex(factory, mailboxIdFactory, fsDirectory, 
messageIdFactory, mailboxManager);
             searchIndex.setEnableSuffixMatch(true);

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
 
b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
index dcb73c4..4915fe4 100644
--- 
a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
@@ -33,8 +33,6 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.maildir.MaildirMailboxSessionMapperFactory;
 import org.apache.james.mailbox.maildir.MaildirStore;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
@@ -54,25 +52,22 @@ public class MaildirHostSystem extends JamesImapHostSystem {
     private static final ImapFeatures SUPPORTED_FEATURES = ImapFeatures.of();
     
     private final StoreMailboxManager mailboxManager;
-    private final FakeAuthenticator userManager;
-    private final MaildirMailboxSessionMapperFactory 
mailboxSessionMapperFactory;
-    
+
     public static JamesImapHostSystem build() throws Exception {
         return new MaildirHostSystem();
     }
     
     public MaildirHostSystem() throws MailboxException {
-        userManager = new FakeAuthenticator();
         JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
         MaildirStore store = new MaildirStore(MAILDIR_HOME + "/%user", locker);
-        mailboxSessionMapperFactory = new 
MaildirMailboxSessionMapperFactory(store);
+        MaildirMailboxSessionMapperFactory mailboxSessionMapperFactory = new 
MaildirMailboxSessionMapperFactory(store);
         StoreSubscriptionManager sm = new 
StoreSubscriptionManager(mailboxSessionMapperFactory);
         
         MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
         GroupMembershipResolver groupMembershipResolver = new 
SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
 
-        mailboxManager = new StoreMailboxManager(mailboxSessionMapperFactory, 
userManager, FakeAuthorizator.defaultReject(), locker, aclResolver,
+        mailboxManager = new StoreMailboxManager(mailboxSessionMapperFactory, 
authenticator, authorizator, locker, aclResolver,
                 groupMembershipResolver, messageParser, new 
DefaultMessageId.Factory());
         mailboxManager.init();
 
@@ -87,11 +82,7 @@ public class MaildirHostSystem extends JamesImapHostSystem {
                 defaultImapProcessorFactory);
         (new File(MAILDIR_HOME)).mkdirs();
     }
-    
-    public boolean addUser(String user, String password) throws Exception {
-        userManager.addUser(user, password);
-        return true;
-    }
+
 
     @Override
     public void resetData() throws Exception {

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index 4815d79..2fcd3a7 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -294,6 +294,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.james</groupId>
+                <artifactId>james-server-mailbox-adapter</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.james</groupId>
                 <artifactId>james-server-data-memory</artifactId>
                 <version>${project.version}</version>
             </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/3f26ba0c/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
 
b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
index 02d48b8..003d669 100644
--- 
a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
+++ 
b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
@@ -52,6 +52,10 @@ public class MemoryUsersRepository extends 
AbstractUsersRepository {
         this.supportVirtualHosting = supportVirtualHosting;
     }
 
+    public void clear() {
+        userByName.clear();
+    }
+
     @Override
     public boolean supportVirtualHosting() {
         return supportVirtualHosting;


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

Reply via email to