You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2015/06/26 18:17:40 UTC
svn commit: r1687794 -
/james/mpt/trunk/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java
Author: btellier
Date: Fri Jun 26 16:17:39 2015
New Revision: 1687794
URL: http://svn.apache.org/r1687794
Log:
MPT-17 Implement create mailbox - contributed by Matthieu Baechlor
Modified:
james/mpt/trunk/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java
Modified: james/mpt/trunk/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java
URL: http://svn.apache.org/viewvc/james/mpt/trunk/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java?rev=1687794&r1=1687793&r2=1687794&view=diff
==============================================================================
--- james/mpt/trunk/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java (original)
+++ james/mpt/trunk/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java Fri Jun 26 16:17:39 2015
@@ -20,11 +20,15 @@ package org.apache.james.mpt.imapmailbox
import java.net.InetSocketAddress;
+import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mpt.api.Session;
import org.apache.james.mpt.api.UserAdder;
import org.apache.james.mpt.host.ExternalHostSystem;
import org.apache.james.mpt.monitor.NullMonitor;
+import org.apache.james.mpt.protocol.ProtocolSession;
import com.google.common.base.Supplier;
+import com.google.common.base.Throwables;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
@@ -33,6 +37,7 @@ import com.spotify.docker.client.message
@Singleton
public class CyrusHostSystem extends ExternalHostSystem implements Provider<ContainerCreation> {
+ private static final String CREATE_MAILBOX_LOCATION = "CyrusHostSystem.createMailbox";
private static final String SHABANG = "* OK IMAP4rev1 Server ready";
private final Docker docker;
private Supplier<InetSocketAddress> addressSupplier;
@@ -71,4 +76,26 @@ public class CyrusHostSystem extends Ext
public ContainerCreation get() {
return container;
}
+
+ @Override
+ public void createMailbox(MailboxPath mailboxPath) {
+ ProtocolSession protocolSession = new ProtocolSession();
+ protocolSession.SL(".*", CREATE_MAILBOX_LOCATION);
+ protocolSession.CL(". LOGIN cyrus cyrus");
+ protocolSession.SL("\\. OK .*", CREATE_MAILBOX_LOCATION);
+ protocolSession.CL(String.format("A1 CREATE user.%s.%s", mailboxPath.getUser(), mailboxPath.getName()));
+ protocolSession.SL("A1 OK .*", CREATE_MAILBOX_LOCATION);
+ protocolSession.CL("A2 LOGOUT");
+ protocolSession.SL("\\* BYE .*", CREATE_MAILBOX_LOCATION);
+ try {
+ Session session = newSession(null);
+ try {
+ protocolSession.runSessions(new Session[]{session});
+ } finally {
+ session.stop();
+ }
+ } catch (Exception e) {
+ Throwables.propagate(e);
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org