Repository: james-project
Updated Branches:
  refs/heads/master 0855a757f -> 25d49c6d1


MPT-42 Fasten MPT deployment tests

Many unneeded dependencies (44 projects) lead to a 1min23 build, repeated 3 
time. Removing these dependencies
lead to a build of 22s (15 remaining projects)


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

Branch: refs/heads/master
Commit: 7ec8f44a61ea8a6f988f8cd76dd946e984876076
Parents: 0855a75
Author: benwa <[email protected]>
Authored: Mon Jul 16 10:04:48 2018 +0700
Committer: benwa <[email protected]>
Committed: Mon Jul 16 15:10:32 2018 +0700

----------------------------------------------------------------------
 mpt/core/pom.xml                                |  16 -
 .../apache/james/mpt/helper/ScriptBuilder.java  |   2 +-
 .../james/mpt/host/ExternalHostSystem.java      |   8 +-
 .../james/mpt/session/ExternalSession.java      |   4 +-
 .../imapmailbox/suite/DeploymentValidation.java |  53 --
 .../james/imap/scripts/ValidateDeployment.test  | 519 -------------------
 mpt/impl/imap-mailbox/external-james/pom.xml    |  38 +-
 .../external/james/DeploymentValidation.java    |  53 ++
 .../james/JamesDeploymentValidation.java        |   1 -
 .../james/host/ExternalJamesHostSystem.java     |   6 +-
 .../ValidateDeployment.test                     | 519 +++++++++++++++++++
 11 files changed, 619 insertions(+), 600 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/core/pom.xml b/mpt/core/pom.xml
index 64baf58..570466f 100644
--- a/mpt/core/pom.xml
+++ b/mpt/core/pom.xml
@@ -36,12 +36,6 @@
             <artifactId>apache-james-mailbox-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>apache-james-mailbox-store</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>com.jayway.awaitility</groupId>
             <artifactId>awaitility</artifactId>
         </dependency>
@@ -72,16 +66,6 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.james.protocols</groupId>
-            <artifactId>protocols-imap</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.james.protocols</groupId>
-            <artifactId>protocols-imap</artifactId>
-            <type>test-jar</type>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
----------------------------------------------------------------------
diff --git 
a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java 
b/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
index d08678f..41237a1 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
@@ -31,7 +31,7 @@ import java.nio.charset.Charset;
 import java.util.Arrays;
 import java.util.Locale;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 public class ScriptBuilder {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java 
b/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java
index 24aa86a..59f524e 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/host/ExternalHostSystem.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.mpt.host;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.mailbox.model.MailboxACL;
@@ -94,7 +94,7 @@ public class ExternalHostSystem extends 
ExternalSessionFactory implements ImapHo
 
     @Override
     public void createMailbox(MailboxPath mailboxPath) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("Not implemented");
     }
     
     public void beforeTests() throws Exception {
@@ -118,11 +118,11 @@ public class ExternalHostSystem extends 
ExternalSessionFactory implements ImapHo
 
     @Override
     public void setQuotaLimits(QuotaCount maxMessageQuota, QuotaSize 
maxStorageQuota) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("Not implemented");
     }
 
     @Override
     public void grantRights(MailboxPath mailboxPath, String userName, 
MailboxACL.Rfc4314Rights rights) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("Not implemented");
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
----------------------------------------------------------------------
diff --git 
a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java 
b/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
index 1568ba6..72b85b1 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
@@ -25,8 +25,8 @@ import java.nio.channels.SocketChannel;
 import java.nio.charset.Charset;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.lang.NotImplementedException;
-import org.apache.commons.lang.mutable.MutableInt;
+import org.apache.commons.lang3.NotImplementedException;
+import org.apache.commons.lang3.mutable.MutableInt;
 import org.apache.james.mpt.api.Monitor;
 import org.apache.james.mpt.api.Session;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java
deleted file mode 100644
index 376a754..0000000
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.mpt.imapmailbox.suite;
-
-import java.util.Locale;
-
-import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.script.SimpleScriptedTestProtocol;
-import org.junit.Before;
-import org.junit.Test;
-
-public abstract class DeploymentValidation {
-
-    public static final String DOMAIN = "domain";
-    public static final String USER = "imapuser";
-    public static final String PASSWORD = "password";
-
-    protected abstract ImapHostSystem createImapHostSystem();
-    
-    private ImapHostSystem system;
-    private SimpleScriptedTestProtocol simpleScriptedTestProtocol;
-
-    @Before
-    public void setUp() throws Exception {
-        system = createImapHostSystem();
-        simpleScriptedTestProtocol = new 
SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system)
-                .withUser(USER + "@" + DOMAIN, PASSWORD)
-                .withLocale(Locale.US);
-    }
-    
-    @Test
-    public void validateDeployment() throws Exception {
-        simpleScriptedTestProtocol.run("ValidateDeployment");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/ValidateDeployment.test
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/ValidateDeployment.test
 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/ValidateDeployment.test
deleted file mode 100644
index cfca166..0000000
--- 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/ValidateDeployment.test
+++ /dev/null
@@ -1,519 +0,0 @@
-################################################################
-# Licensed to the Apache Software Foundation (ASF) under one   #
-# or more contributor license agreements.  See the NOTICE file #
-# distributed with this work for additional information        #
-# regarding copyright ownership.  The ASF licenses this file   #
-# to you under the Apache License, Version 2.0 (the            #
-# "License"); you may not use this file except in compliance   #
-# with the License.  You may obtain a copy of the License at   #
-#                                                              #
-#   http://www.apache.org/licenses/LICENSE-2.0                 #
-#                                                              #
-# Unless required by applicable law or agreed to in writing,   #
-# software distributed under the License is distributed on an  #
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       #
-# KIND, either express or implied.  See the License for the    #
-# specific language governing permissions and limitations      #
-# under the License.                                           #
-################################################################
-
-S: \* OK IMAP4rev1 Server ready
-
-C: a0000 LOGIN imapuser@domain password
-S: a0000 OK LOGIN completed.
-
-C: 10 CREATE appendexpunge
-S: 10 OK CREATE completed.
-
-C: a001 STATUS appendexpunge (MESSAGES)
-S: \* STATUS "appendexpunge" \(MESSAGES 0\)
-S: a001 OK STATUS completed.
-
-C: A002 APPEND appendexpunge (\Deleted) {310+}
-C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
-C: From: Fred Foobar <[email protected]>
-C: Subject: afternoon meeting
-C: To: [email protected]
-C: Message-Id: <[email protected]>
-C: MIME-Version: 1.0
-C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
-C:
-C: Hello Joe, do you think we can meet at 3:30 tomorrow?
-C:
-S: A002 OK (\[.+\] )?APPEND completed.
-
-C: A003 APPEND appendexpunge {310+}
-C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
-C: From: Fred Foobar <[email protected]>
-C: Subject: afternoon meeting 2
-C: To: [email protected]
-C: Message-Id: <[email protected]>
-C: MIME-Version: 1.0
-C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
-C:
-C: Hello Joe, could we change that to 4:00pm tomorrow?
-C:
-S: A003 OK (\[.+\] )?APPEND completed.
-
-C: A004 APPEND appendexpunge {310+}
-C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
-C: From: Fred Foobar <[email protected]>
-C: Subject: afternoon meeting 2
-C: To: [email protected]
-C: Message-Id: <[email protected]>
-C: MIME-Version: 1.0
-C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
-C:
-C: Hello Joe, could we change that to 4:30pm tomorrow?
-C:
-S: A004 OK (\[.+\] )?APPEND completed.
-
-C: A005 STATUS appendexpunge (MESSAGES)
-S: \* STATUS "appendexpunge" \(MESSAGES 3\)
-S: A005 OK STATUS completed.
-
-C: A006 SELECT appendexpunge
-S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
-S: \* 3 EXISTS
-S: \* \d+ RECENT
-S: \* OK \[UIDVALIDITY \d+\].*
-S: \* OK \[UNSEEN 1\].*
-S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
-S: \* OK \[HIGHESTMODSEQ \d+\].*
-S: \* OK \[UIDNEXT 4\].*
-S: A006 OK \[READ-WRITE\] SELECT completed.
-
-C: A109 STORE 2 FLAGS.SILENT (\Deleted)
-S: A109 OK STORE completed.
-
-C: A007 EXPUNGE
-S: \* 1 EXPUNGE
-S: \* 1 EXPUNGE
-S: \* \d+ RECENT
-S: A007 OK EXPUNGE completed.
-
-C: A008 STATUS appendexpunge (MESSAGES)
-S: \* STATUS "appendexpunge" \(MESSAGES 1\)
-S: A008 OK STATUS completed.
-
-C: A009 STORE 1 FLAGS.SILENT (\Deleted)
-S: A009 OK STORE completed.
-
-C: A010 EXPUNGE
-S: \* 1 EXPUNGE
-S: \* \d+ RECENT
-S: A010 OK EXPUNGE completed.
-
-C: A011 STATUS appendexpunge (MESSAGES)
-S: \* STATUS "appendexpunge" \(MESSAGES 0\)
-S: A011 OK STATUS completed.
-
-C: A012 DELETE appendexpunge
-S: A012 OK DELETE completed.
-
-C: A001 NAMESPACE
-S: \* NAMESPACE \(\((\"\"|\"#private\.\") \".\"\)\) NIL NIL
-S: A001 OK NAMESPACE completed.
-
-C: A2 CREATE testmailbox
-S: A2 OK CREATE completed\.
-
-C: A3 SELECT testmailbox
-S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
-S: \* 0 EXISTS
-S: \* 0 RECENT
-S: \* OK \[UIDVALIDITY \d+\].*
-S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
-S: \* OK \[HIGHESTMODSEQ \d+\].*
-S: \* OK \[UIDNEXT 1\].*
-S: A3 OK \[READ-WRITE\] SELECT completed\.
-
-C: A4 APPEND testmailbox {185+}
-C: From: Timothy Tayler <[email protected]>
-C: To: Samual Smith <[email protected]>
-C: Date: Thu, 14 Feb 2008 12:00:00 +0000 (GMT)
-C: Subject: A Simple Email
-C:
-C: This is a very simple email.
-C:
-S: \* 1 EXISTS
-S: \* 1 RECENT
-S: A4 OK (\[.+\] )?APPEND completed\.
-
-C: A5 APPEND testmailbox {185+}
-C: From: John Smith <[email protected]>
-C: To: Timothy Taylor <[email protected]>
-C: Subject: Hello
-C: Date: Sat, 23 Feb 2008 07:48:03 -0600
-C: Message-ID: <[email protected]>
-C:
-C: Hello, World!
-S: \* 2 EXISTS
-S: \* 2 RECENT
-S: A5 OK (\[.+\] )?APPEND completed\.
-
-C: A6 APPEND testmailbox {227+}
-C: From: John Smith <[email protected]>
-C: Sender: Samual Smith <[email protected]>
-C: To: Timothy Taylor <[email protected]>
-C: Subject: Hello
-C: Date: Sat, 23 Feb 2008 07:48:03 -0600
-C: Message-ID: <[email protected]>
-C:
-C: Hello, World!
-S: \* 3 EXISTS
-S: \* 3 RECENT
-S: A6 OK (\[.+\] )?APPEND completed\.
-
-C: A7 APPEND testmailbox {185+}
-C: From: Timothy Tayler <[email protected]>
-C: To: Samual Smith <[email protected]>
-C: Date: Thu, 14 Feb 2008 12:00:00 +0000 (GMT)
-C: Subject: A Simple Email
-C:
-C: This is a very simple email.
-C:
-S: \* 4 EXISTS
-S: \* 4 RECENT
-S: A7 OK (\[.+\] )?APPEND completed\.
-
-C: A8 APPEND testmailbox {318+}
-C: From: "Brian G. Hutton" <[email protected]>
-C: To: Timothy Taylor <[email protected]>, [email protected], Huh? 
<[email protected]>
-C: CC: <[email protected]>, "David \"The Thin White Duke\" Bowie" 
<[email protected]>
-C: Subject: Rhubarb
-C: Date: Sat, 23 Feb 2008 07:48:03 -0600
-C: Message-ID: <[email protected]>
-C:
-C: Rhubarb!
-S: \* 5 EXISTS
-S: \* 5 RECENT
-S: A8 OK (\[.+\] )?APPEND completed\.
-
-C: A9 SELECT testmailbox
-S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
-S: \* 5 EXISTS
-S: \* 5 RECENT
-S: \* OK \[UIDVALIDITY \d+\].*
-S: \* OK \[UNSEEN 1\](.)*
-S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
-S: \* OK \[HIGHESTMODSEQ \d+\].*
-S: \* OK \[UIDNEXT 6\].*
-S: A9 OK \[READ-WRITE\] SELECT completed\.
-
-C: A10 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
-S: \* 1 FETCH \(FLAGS \(\\Recent\) UID 1 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 2 FETCH \(FLAGS \(\\Recent\) UID 2 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 3 FETCH \(FLAGS \(\\Recent\) UID 3 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
-S: From: "Brian G\. Hutton" <brian@example\.org>
-S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: A10 OK FETCH completed\.
-
-C: A11 LIST "" "*"
-SUB {
-S: \* LIST \(\\HasNoChildren\) "\." "testmailbox"
-S: \* LIST \(\\HasNoChildren\) "\." "INBOX"
-}
-S: A11 OK LIST completed\.
-
-C: A12 RENAME testmailbox anothermailbox
-S: A12 OK RENAME completed.
-
-C: A13 LIST "" "*"
-SUB {
-S: \* LIST \(\\HasNoChildren\) "\." "anothermailbox"
-S: \* LIST \(\\HasNoChildren\) "\." "INBOX"
-}
-S: A13 OK LIST completed\.
-
-C: A14 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
-S: \* 1 FETCH \(FLAGS \(\\Recent\) UID 1 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 2 FETCH \(FLAGS \(\\Recent\) UID 2 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 3 FETCH \(FLAGS \(\\Recent\) UID 3 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
-S: From: "Brian G\. Hutton" <brian@example\.org>
-S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: A14 OK FETCH completed\.
-
-C: A15 STORE 1:2  +FLAGS (\FLAGGED)
-S: \* 1 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
-S: \* 2 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
-S: A15 OK STORE completed\.
-
-C: A16 STORE 1:3  +FLAGS (\ANSWERED)
-S: \* 1 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\)\)
-S: \* 2 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\)\)
-S: \* 3 FETCH \(FLAGS \(\\Answered \\Recent\)\)
-S: A16 OK STORE completed\.
-
-C: A17 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
-S: \* 1 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 1 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 2 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 2 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 3 FETCH \(FLAGS \(\\Answered \\Recent\) UID 3 BODY\[HEADER\.FIELDS 
\(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
-S: From: "Brian G\. Hutton" <brian@example\.org>
-S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: A17 OK FETCH completed\.
-
-C: A18 SELECT testmailbox
-S: A18 NO SELECT failed. No such mailbox\.
-
-C: A19 SELECT anothermailbox
-S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
-S: \* 5 EXISTS
-S: \* 5 RECENT
-S: \* OK \[UIDVALIDITY \d+\].*
-S: \* OK \[UNSEEN 1\](.)*
-S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
-S: \* OK \[HIGHESTMODSEQ \d+\].*
-S: \* OK \[UIDNEXT 6\].*
-S: A19 OK \[READ-WRITE\] SELECT completed\.
-
-C: A20 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
-S: \* 1 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 1 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 2 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 2 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 3 FETCH \(FLAGS \(\\Answered \\Recent\) UID 3 BODY\[HEADER\.FIELDS 
\(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
-S: From: John Smith <john@example\.org>
-S: To: Timothy Taylor <tim@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
-S: From: Timothy Tayler <timothy@example\.org>
-S: To: Samual Smith <samual@example\.org>
-S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
-S:
-S: \)
-S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
-S: From: "Brian G\. Hutton" <brian@example\.org>
-S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
-S: Date: Sat, 23 Feb 2008 07:48:03 -0600
-S:
-S: \)
-S: A20 OK FETCH completed\.
-
-C: A21 DELETE anothermailbox
-S: A21 OK DELETE completed\.
-
-
-C: f CREATE anothermailbox
-S: f OK CREATE completed\.
-
-C: s0001 SELECT anothermailbox
-S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
-S: \* 0 EXISTS
-S: \* 0 RECENT
-S: \* OK \[UIDVALIDITY .*\] UIDs valid
-S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen 
\\\*\)\] Limited
-S: \* OK \[HIGHESTMODSEQ 0\] Highest
-S: \* OK \[UIDNEXT 1\] Predicted next UID
-S: s0001 OK \[READ-WRITE\] SELECT completed.
-
-C: o APPEND anothermailbox {704+}
-C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
-C: Message-ID: <[email protected]>
-C: Date: Sat, 2 Feb 2008 13:14:19 +0000
-C: From: "Robert Burrell Donkin" <[email protected]>
-C: To: "James Developers List" <[email protected]>
-C: Subject: JCR -> trunk ...?
-C: MIME-Version: 1.0
-C: Content-Type: text/plain; charset=ISO-8859-1
-C: Content-Transfer-Encoding: 7bit
-C: Content-Disposition: inline
-C: Delivered-To: [email protected]
-C:
-C: i'd like to copy james-jcr into trunk and add some example
-C: configurations. development can continue in the sandbox (or not) and
-C: merged in later (if necessary).
-C:
-C: any objections?
-C:
-C: - robert
-S: \* 1 EXISTS
-S: \* 1 RECENT
-S: o OK (\[.+\] )?APPEND completed\.
-
-C: g APPEND anothermailbox {704+}
-C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
-C: Message-ID: <[email protected]>
-C: Date: Sat, 2 Feb 2008 13:14:19 +0000
-C: From: "Robert Burrell Donkin" <[email protected]>
-C: To: "James Developers List" <[email protected]>
-C: Subject: JCR -> trunk ...?
-C: MIME-Version: 1.0
-C: Content-Type: text/plain; charset=ISO-8859-1
-C: Content-Transfer-Encoding: 7bit
-C: Content-Disposition: inline
-C: Delivered-To: [email protected]
-C:
-C: i'd like to copy james-jcr into trunk and add some example
-C: configurations. development can continue in the sandbox (or not) and
-C: merged in later (if necessary).
-C:
-C: any objections?
-C:
-C: - robert
-S: \* 2 EXISTS
-S: \* 2 RECENT
-S: g OK (\[.+\] )?APPEND completed\.
-
-C: e APPEND anothermailbox {704+}
-C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
-C: Message-ID: <[email protected]>
-C: Date: Sat, 2 Feb 2008 13:14:19 +0000
-C: From: "Robert Burrell Donkin" <[email protected]>
-C: To: "James Developers List" <[email protected]>
-C: Subject: JCR -> trunk ...?
-C: MIME-Version: 1.0
-C: Content-Type: text/plain; charset=ISO-8859-1
-C: Content-Transfer-Encoding: 7bit
-C: Content-Disposition: inline
-C: Delivered-To: [email protected]
-C:
-C: i'd like to copy james-jcr into trunk and add some example
-C: configurations. development can continue in the sandbox (or not) and
-C: merged in later (if necessary).
-C:
-C: any objections?
-C:
-C: - robert
-S: \* 3 EXISTS
-S: \* 3 RECENT
-S: e OK (\[.+\] )?APPEND completed\.
-
-C: f APPEND anothermailbox {704+}
-C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
-C: Message-ID: <[email protected]>
-C: Date: Sat, 2 Feb 2008 13:14:19 +0000
-C: From: "Robert Burrell Donkin" <[email protected]>
-C: To: "James Developers List" <[email protected]>
-C: Subject: JCR -> trunk ...?
-C: MIME-Version: 1.0
-C: Content-Type: text/plain; charset=ISO-8859-1
-C: Content-Transfer-Encoding: 7bit
-C: Content-Disposition: inline
-C: Delivered-To: [email protected]
-C:
-C: i'd like to copy james-jcr into trunk and add some example
-C: configurations. development can continue in the sandbox (or not) and
-C: merged in later (if necessary).
-C:
-C: any objections?
-C:
-C: - robert
-S: \* 4 EXISTS
-S: \* 4 RECENT
-S: f OK (\[.+\] )?APPEND completed\.
-
-C: a SEARCH FLAGGED
-S: \* SEARCH
-S: a OK SEARCH completed.
-
-C: b STORE 1:* +FLAGS.SILENT (\FLAGGED)
-S: b OK STORE completed.
-
-# Indexation may be asynchronous
-LOG INFO Waiting for indexation
-WAIT 1000
-
-C: c SEARCH FLAGGED
-S: \* SEARCH 1 2 3 4
-S: c OK SEARCH completed.
-
-C: d STORE 3:* -FLAGS.SILENT (\FLAGGED)
-S: d OK STORE completed.
-
-# Indexation may be asynchronous
-LOG INFO Waiting for indexation
-WAIT 1000
-
-C: e SEARCH FLAGGED
-S: \* SEARCH 1 2
-S: e OK SEARCH completed.
-
-C: f SEARCH UNFLAGGED
-S: \* SEARCH 3 4
-S: f OK SEARCH completed.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/external-james/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/external-james/pom.xml 
b/mpt/impl/imap-mailbox/external-james/pom.xml
index 283daa9..b290213 100644
--- a/mpt/impl/imap-mailbox/external-james/pom.xml
+++ b/mpt/impl/imap-mailbox/external-james/pom.xml
@@ -33,7 +33,43 @@
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>apache-james-mpt-imapmailbox-core</artifactId>
+            <artifactId>apache-james-mailbox-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>apache-james-mpt-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>metrics-logger</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.inject</groupId>
+            <artifactId>guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.mail</groupId>
+            <artifactId>javax.mail</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jmock</groupId>
+            <artifactId>jmock</artifactId>
         </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DeploymentValidation.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DeploymentValidation.java
 
b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DeploymentValidation.java
new file mode 100644
index 0000000..f949962
--- /dev/null
+++ 
b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DeploymentValidation.java
@@ -0,0 +1,53 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mpt.imapmailbox.external.james;
+
+import java.util.Locale;
+
+import org.apache.james.mpt.api.ImapHostSystem;
+import org.apache.james.mpt.script.SimpleScriptedTestProtocol;
+import org.junit.Before;
+import org.junit.Test;
+
+public abstract class DeploymentValidation {
+
+    public static final String DOMAIN = "domain";
+    public static final String USER = "imapuser";
+    public static final String PASSWORD = "password";
+
+    protected abstract ImapHostSystem createImapHostSystem();
+    
+    private ImapHostSystem system;
+    private SimpleScriptedTestProtocol simpleScriptedTestProtocol;
+
+    @Before
+    public void setUp() throws Exception {
+        system = createImapHostSystem();
+        simpleScriptedTestProtocol = new 
SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system)
+                .withUser(USER + "@" + DOMAIN, PASSWORD)
+                .withLocale(Locale.US);
+    }
+    
+    @Test
+    public void validateDeployment() throws Exception {
+        simpleScriptedTestProtocol.run("ValidateDeployment");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
 
b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
index bb055e3..a4e5ba6 100644
--- 
a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
+++ 
b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/JamesDeploymentValidation.java
@@ -20,7 +20,6 @@
 package org.apache.james.mpt.imapmailbox.external.james;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.suite.DeploymentValidation;
 import org.junit.After;
 import org.junit.Before;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/host/ExternalJamesHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/host/ExternalJamesHostSystem.java
 
b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/host/ExternalJamesHostSystem.java
index 465ce24..150a32b 100644
--- 
a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/host/ExternalJamesHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/host/ExternalJamesHostSystem.java
@@ -21,7 +21,7 @@ package org.apache.james.mpt.imapmailbox.external.james.host;
 import java.net.InetSocketAddress;
 import java.util.function.Supplier;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.mailbox.model.MailboxPath;
@@ -76,12 +76,12 @@ public class ExternalJamesHostSystem extends 
ExternalHostSystem {
 
     @Override
     public void createMailbox(MailboxPath mailboxPath) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("Not implemented");
     }
 
     @Override
     public void setQuotaLimits(QuotaCount maxMessageQuota, QuotaSize 
maxStorageQuota) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("Not implemented");
     }
     
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7ec8f44a/mpt/impl/imap-mailbox/external-james/src/test/resources/org.apache.james.imap.scripts/ValidateDeployment.test
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/external-james/src/test/resources/org.apache.james.imap.scripts/ValidateDeployment.test
 
b/mpt/impl/imap-mailbox/external-james/src/test/resources/org.apache.james.imap.scripts/ValidateDeployment.test
new file mode 100644
index 0000000..cfca166
--- /dev/null
+++ 
b/mpt/impl/imap-mailbox/external-james/src/test/resources/org.apache.james.imap.scripts/ValidateDeployment.test
@@ -0,0 +1,519 @@
+################################################################
+# Licensed to the Apache Software Foundation (ASF) under one   #
+# or more contributor license agreements.  See the NOTICE file #
+# distributed with this work for additional information        #
+# regarding copyright ownership.  The ASF licenses this file   #
+# to you under the Apache License, Version 2.0 (the            #
+# "License"); you may not use this file except in compliance   #
+# with the License.  You may obtain a copy of the License at   #
+#                                                              #
+#   http://www.apache.org/licenses/LICENSE-2.0                 #
+#                                                              #
+# Unless required by applicable law or agreed to in writing,   #
+# software distributed under the License is distributed on an  #
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       #
+# KIND, either express or implied.  See the License for the    #
+# specific language governing permissions and limitations      #
+# under the License.                                           #
+################################################################
+
+S: \* OK IMAP4rev1 Server ready
+
+C: a0000 LOGIN imapuser@domain password
+S: a0000 OK LOGIN completed.
+
+C: 10 CREATE appendexpunge
+S: 10 OK CREATE completed.
+
+C: a001 STATUS appendexpunge (MESSAGES)
+S: \* STATUS "appendexpunge" \(MESSAGES 0\)
+S: a001 OK STATUS completed.
+
+C: A002 APPEND appendexpunge (\Deleted) {310+}
+C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+C: From: Fred Foobar <[email protected]>
+C: Subject: afternoon meeting
+C: To: [email protected]
+C: Message-Id: <[email protected]>
+C: MIME-Version: 1.0
+C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+C:
+C: Hello Joe, do you think we can meet at 3:30 tomorrow?
+C:
+S: A002 OK (\[.+\] )?APPEND completed.
+
+C: A003 APPEND appendexpunge {310+}
+C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+C: From: Fred Foobar <[email protected]>
+C: Subject: afternoon meeting 2
+C: To: [email protected]
+C: Message-Id: <[email protected]>
+C: MIME-Version: 1.0
+C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+C:
+C: Hello Joe, could we change that to 4:00pm tomorrow?
+C:
+S: A003 OK (\[.+\] )?APPEND completed.
+
+C: A004 APPEND appendexpunge {310+}
+C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+C: From: Fred Foobar <[email protected]>
+C: Subject: afternoon meeting 2
+C: To: [email protected]
+C: Message-Id: <[email protected]>
+C: MIME-Version: 1.0
+C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
+C:
+C: Hello Joe, could we change that to 4:30pm tomorrow?
+C:
+S: A004 OK (\[.+\] )?APPEND completed.
+
+C: A005 STATUS appendexpunge (MESSAGES)
+S: \* STATUS "appendexpunge" \(MESSAGES 3\)
+S: A005 OK STATUS completed.
+
+C: A006 SELECT appendexpunge
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 3 EXISTS
+S: \* \d+ RECENT
+S: \* OK \[UIDVALIDITY \d+\].*
+S: \* OK \[UNSEEN 1\].*
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
+S: \* OK \[HIGHESTMODSEQ \d+\].*
+S: \* OK \[UIDNEXT 4\].*
+S: A006 OK \[READ-WRITE\] SELECT completed.
+
+C: A109 STORE 2 FLAGS.SILENT (\Deleted)
+S: A109 OK STORE completed.
+
+C: A007 EXPUNGE
+S: \* 1 EXPUNGE
+S: \* 1 EXPUNGE
+S: \* \d+ RECENT
+S: A007 OK EXPUNGE completed.
+
+C: A008 STATUS appendexpunge (MESSAGES)
+S: \* STATUS "appendexpunge" \(MESSAGES 1\)
+S: A008 OK STATUS completed.
+
+C: A009 STORE 1 FLAGS.SILENT (\Deleted)
+S: A009 OK STORE completed.
+
+C: A010 EXPUNGE
+S: \* 1 EXPUNGE
+S: \* \d+ RECENT
+S: A010 OK EXPUNGE completed.
+
+C: A011 STATUS appendexpunge (MESSAGES)
+S: \* STATUS "appendexpunge" \(MESSAGES 0\)
+S: A011 OK STATUS completed.
+
+C: A012 DELETE appendexpunge
+S: A012 OK DELETE completed.
+
+C: A001 NAMESPACE
+S: \* NAMESPACE \(\((\"\"|\"#private\.\") \".\"\)\) NIL NIL
+S: A001 OK NAMESPACE completed.
+
+C: A2 CREATE testmailbox
+S: A2 OK CREATE completed\.
+
+C: A3 SELECT testmailbox
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 0 EXISTS
+S: \* 0 RECENT
+S: \* OK \[UIDVALIDITY \d+\].*
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
+S: \* OK \[HIGHESTMODSEQ \d+\].*
+S: \* OK \[UIDNEXT 1\].*
+S: A3 OK \[READ-WRITE\] SELECT completed\.
+
+C: A4 APPEND testmailbox {185+}
+C: From: Timothy Tayler <[email protected]>
+C: To: Samual Smith <[email protected]>
+C: Date: Thu, 14 Feb 2008 12:00:00 +0000 (GMT)
+C: Subject: A Simple Email
+C:
+C: This is a very simple email.
+C:
+S: \* 1 EXISTS
+S: \* 1 RECENT
+S: A4 OK (\[.+\] )?APPEND completed\.
+
+C: A5 APPEND testmailbox {185+}
+C: From: John Smith <[email protected]>
+C: To: Timothy Taylor <[email protected]>
+C: Subject: Hello
+C: Date: Sat, 23 Feb 2008 07:48:03 -0600
+C: Message-ID: <[email protected]>
+C:
+C: Hello, World!
+S: \* 2 EXISTS
+S: \* 2 RECENT
+S: A5 OK (\[.+\] )?APPEND completed\.
+
+C: A6 APPEND testmailbox {227+}
+C: From: John Smith <[email protected]>
+C: Sender: Samual Smith <[email protected]>
+C: To: Timothy Taylor <[email protected]>
+C: Subject: Hello
+C: Date: Sat, 23 Feb 2008 07:48:03 -0600
+C: Message-ID: <[email protected]>
+C:
+C: Hello, World!
+S: \* 3 EXISTS
+S: \* 3 RECENT
+S: A6 OK (\[.+\] )?APPEND completed\.
+
+C: A7 APPEND testmailbox {185+}
+C: From: Timothy Tayler <[email protected]>
+C: To: Samual Smith <[email protected]>
+C: Date: Thu, 14 Feb 2008 12:00:00 +0000 (GMT)
+C: Subject: A Simple Email
+C:
+C: This is a very simple email.
+C:
+S: \* 4 EXISTS
+S: \* 4 RECENT
+S: A7 OK (\[.+\] )?APPEND completed\.
+
+C: A8 APPEND testmailbox {318+}
+C: From: "Brian G. Hutton" <[email protected]>
+C: To: Timothy Taylor <[email protected]>, [email protected], Huh? 
<[email protected]>
+C: CC: <[email protected]>, "David \"The Thin White Duke\" Bowie" 
<[email protected]>
+C: Subject: Rhubarb
+C: Date: Sat, 23 Feb 2008 07:48:03 -0600
+C: Message-ID: <[email protected]>
+C:
+C: Rhubarb!
+S: \* 5 EXISTS
+S: \* 5 RECENT
+S: A8 OK (\[.+\] )?APPEND completed\.
+
+C: A9 SELECT testmailbox
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 5 EXISTS
+S: \* 5 RECENT
+S: \* OK \[UIDVALIDITY \d+\].*
+S: \* OK \[UNSEEN 1\](.)*
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
+S: \* OK \[HIGHESTMODSEQ \d+\].*
+S: \* OK \[UIDNEXT 6\].*
+S: A9 OK \[READ-WRITE\] SELECT completed\.
+
+C: A10 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
+S: \* 1 FETCH \(FLAGS \(\\Recent\) UID 1 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 2 FETCH \(FLAGS \(\\Recent\) UID 2 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 3 FETCH \(FLAGS \(\\Recent\) UID 3 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
+S: From: "Brian G\. Hutton" <brian@example\.org>
+S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: A10 OK FETCH completed\.
+
+C: A11 LIST "" "*"
+SUB {
+S: \* LIST \(\\HasNoChildren\) "\." "testmailbox"
+S: \* LIST \(\\HasNoChildren\) "\." "INBOX"
+}
+S: A11 OK LIST completed\.
+
+C: A12 RENAME testmailbox anothermailbox
+S: A12 OK RENAME completed.
+
+C: A13 LIST "" "*"
+SUB {
+S: \* LIST \(\\HasNoChildren\) "\." "anothermailbox"
+S: \* LIST \(\\HasNoChildren\) "\." "INBOX"
+}
+S: A13 OK LIST completed\.
+
+C: A14 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
+S: \* 1 FETCH \(FLAGS \(\\Recent\) UID 1 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 2 FETCH \(FLAGS \(\\Recent\) UID 2 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 3 FETCH \(FLAGS \(\\Recent\) UID 3 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
+S: From: "Brian G\. Hutton" <brian@example\.org>
+S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: A14 OK FETCH completed\.
+
+C: A15 STORE 1:2  +FLAGS (\FLAGGED)
+S: \* 1 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
+S: \* 2 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
+S: A15 OK STORE completed\.
+
+C: A16 STORE 1:3  +FLAGS (\ANSWERED)
+S: \* 1 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\)\)
+S: \* 2 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\)\)
+S: \* 3 FETCH \(FLAGS \(\\Answered \\Recent\)\)
+S: A16 OK STORE completed\.
+
+C: A17 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
+S: \* 1 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 1 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 2 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 2 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 3 FETCH \(FLAGS \(\\Answered \\Recent\) UID 3 BODY\[HEADER\.FIELDS 
\(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
+S: From: "Brian G\. Hutton" <brian@example\.org>
+S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: A17 OK FETCH completed\.
+
+C: A18 SELECT testmailbox
+S: A18 NO SELECT failed. No such mailbox\.
+
+C: A19 SELECT anothermailbox
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 5 EXISTS
+S: \* 5 RECENT
+S: \* OK \[UIDVALIDITY \d+\].*
+S: \* OK \[UNSEEN 1\](.)*
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\\Seen( 
\\\*)?\)\].*
+S: \* OK \[HIGHESTMODSEQ \d+\].*
+S: \* OK \[UIDNEXT 6\].*
+S: A19 OK \[READ-WRITE\] SELECT completed\.
+
+C: A20 FETCH 1:* (FLAGS UID BODY.PEEK[HEADER.FIELDS (DATE FROM TO ORIGINATOR 
X-LIST)])
+S: \* 1 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 1 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 2 FETCH \(FLAGS \(\\Answered \\Flagged \\Recent\) UID 2 
BODY\[HEADER\.FIELDS \(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 3 FETCH \(FLAGS \(\\Answered \\Recent\) UID 3 BODY\[HEADER\.FIELDS 
\(DATE FROM TO ORIGINATOR X-LIST\)\] \{116\}
+S: From: John Smith <john@example\.org>
+S: To: Timothy Taylor <tim@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: \* 4 FETCH \(FLAGS \(\\Recent\) UID 4 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{130\}
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: Samual Smith <samual@example\.org>
+S: Date: Thu, 14 Feb 2008 12:00:00 \+0000 \(GMT\)
+S:
+S: \)
+S: \* 5 FETCH \(FLAGS \(\\Recent\) UID 5 BODY\[HEADER\.FIELDS \(DATE FROM TO 
ORIGINATOR X-LIST\)\] \{167\}
+S: From: "Brian G\. Hutton" <brian@example\.org>
+S: To: Timothy Taylor <tim@example\.org>, faith@example\.org, Huh\? 
<sam@example\.org>
+S: Date: Sat, 23 Feb 2008 07:48:03 -0600
+S:
+S: \)
+S: A20 OK FETCH completed\.
+
+C: A21 DELETE anothermailbox
+S: A21 OK DELETE completed\.
+
+
+C: f CREATE anothermailbox
+S: f OK CREATE completed\.
+
+C: s0001 SELECT anothermailbox
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 0 EXISTS
+S: \* 0 RECENT
+S: \* OK \[UIDVALIDITY .*\] UIDs valid
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen 
\\\*\)\] Limited
+S: \* OK \[HIGHESTMODSEQ 0\] Highest
+S: \* OK \[UIDNEXT 1\] Predicted next UID
+S: s0001 OK \[READ-WRITE\] SELECT completed.
+
+C: o APPEND anothermailbox {704+}
+C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
+C: Message-ID: <[email protected]>
+C: Date: Sat, 2 Feb 2008 13:14:19 +0000
+C: From: "Robert Burrell Donkin" <[email protected]>
+C: To: "James Developers List" <[email protected]>
+C: Subject: JCR -> trunk ...?
+C: MIME-Version: 1.0
+C: Content-Type: text/plain; charset=ISO-8859-1
+C: Content-Transfer-Encoding: 7bit
+C: Content-Disposition: inline
+C: Delivered-To: [email protected]
+C:
+C: i'd like to copy james-jcr into trunk and add some example
+C: configurations. development can continue in the sandbox (or not) and
+C: merged in later (if necessary).
+C:
+C: any objections?
+C:
+C: - robert
+S: \* 1 EXISTS
+S: \* 1 RECENT
+S: o OK (\[.+\] )?APPEND completed\.
+
+C: g APPEND anothermailbox {704+}
+C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
+C: Message-ID: <[email protected]>
+C: Date: Sat, 2 Feb 2008 13:14:19 +0000
+C: From: "Robert Burrell Donkin" <[email protected]>
+C: To: "James Developers List" <[email protected]>
+C: Subject: JCR -> trunk ...?
+C: MIME-Version: 1.0
+C: Content-Type: text/plain; charset=ISO-8859-1
+C: Content-Transfer-Encoding: 7bit
+C: Content-Disposition: inline
+C: Delivered-To: [email protected]
+C:
+C: i'd like to copy james-jcr into trunk and add some example
+C: configurations. development can continue in the sandbox (or not) and
+C: merged in later (if necessary).
+C:
+C: any objections?
+C:
+C: - robert
+S: \* 2 EXISTS
+S: \* 2 RECENT
+S: g OK (\[.+\] )?APPEND completed\.
+
+C: e APPEND anothermailbox {704+}
+C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
+C: Message-ID: <[email protected]>
+C: Date: Sat, 2 Feb 2008 13:14:19 +0000
+C: From: "Robert Burrell Donkin" <[email protected]>
+C: To: "James Developers List" <[email protected]>
+C: Subject: JCR -> trunk ...?
+C: MIME-Version: 1.0
+C: Content-Type: text/plain; charset=ISO-8859-1
+C: Content-Transfer-Encoding: 7bit
+C: Content-Disposition: inline
+C: Delivered-To: [email protected]
+C:
+C: i'd like to copy james-jcr into trunk and add some example
+C: configurations. development can continue in the sandbox (or not) and
+C: merged in later (if necessary).
+C:
+C: any objections?
+C:
+C: - robert
+S: \* 3 EXISTS
+S: \* 3 RECENT
+S: e OK (\[.+\] )?APPEND completed\.
+
+C: f APPEND anothermailbox {704+}
+C: Received: by 10.114.81.13 with HTTP; Sat, 2 Feb 2008 05:14:19 -0800 (PST)
+C: Message-ID: <[email protected]>
+C: Date: Sat, 2 Feb 2008 13:14:19 +0000
+C: From: "Robert Burrell Donkin" <[email protected]>
+C: To: "James Developers List" <[email protected]>
+C: Subject: JCR -> trunk ...?
+C: MIME-Version: 1.0
+C: Content-Type: text/plain; charset=ISO-8859-1
+C: Content-Transfer-Encoding: 7bit
+C: Content-Disposition: inline
+C: Delivered-To: [email protected]
+C:
+C: i'd like to copy james-jcr into trunk and add some example
+C: configurations. development can continue in the sandbox (or not) and
+C: merged in later (if necessary).
+C:
+C: any objections?
+C:
+C: - robert
+S: \* 4 EXISTS
+S: \* 4 RECENT
+S: f OK (\[.+\] )?APPEND completed\.
+
+C: a SEARCH FLAGGED
+S: \* SEARCH
+S: a OK SEARCH completed.
+
+C: b STORE 1:* +FLAGS.SILENT (\FLAGGED)
+S: b OK STORE completed.
+
+# Indexation may be asynchronous
+LOG INFO Waiting for indexation
+WAIT 1000
+
+C: c SEARCH FLAGGED
+S: \* SEARCH 1 2 3 4
+S: c OK SEARCH completed.
+
+C: d STORE 3:* -FLAGS.SILENT (\FLAGGED)
+S: d OK STORE completed.
+
+# Indexation may be asynchronous
+LOG INFO Waiting for indexation
+WAIT 1000
+
+C: e SEARCH FLAGGED
+S: \* SEARCH 1 2
+S: e OK SEARCH completed.
+
+C: f SEARCH UNFLAGGED
+S: \* SEARCH 3 4
+S: f OK SEARCH completed.
\ No newline at end of file


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

Reply via email to