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]
