You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2008/08/02 22:43:21 UTC

svn commit: r682045 - in /james/server/trunk: experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/ experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/ experimental-seda-imap-...

Author: rdonkin
Date: Sat Aug  2 13:43:20 2008
New Revision: 682045

URL: http://svn.apache.org/viewvc?rev=682045&view=rev
Log:
More tests now pass

Added:
    james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestConcurrentSessions.java
    james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/ConcurrentExistsResponse.test
    james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalConcurrentSessionsTest.java
Removed:
    james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/concurrent/ExistsResponse.test
Modified:
    james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipleMessages.test
    james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchSingleMessage.test
    james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Uid.test
    james/server/trunk/imap-codec-library/src/main/java/org/apache/james/imap/message/request/imap4rev1/StoreRequest.java
    james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalSelectedStateTest.java

Added: james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestConcurrentSessions.java
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestConcurrentSessions.java?rev=682045&view=auto
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestConcurrentSessions.java (added)
+++ james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestConcurrentSessions.java Sat Aug  2 13:43:20 2008
@@ -0,0 +1,33 @@
+/****************************************************************
+ * 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.test.functional.imap;
+
+import java.util.Locale;
+
+public abstract class AbstractTestConcurrentSessions extends AbstractSimpleScriptedTestProtocol {
+
+    public AbstractTestConcurrentSessions(HostSystem system) {
+        super(system);
+    }
+
+    public void testFetchEnvelopeUS() throws Exception {
+        //scriptTest("ConcurrentExistsResponse", Locale.US);
+    }
+}

Added: james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/ConcurrentExistsResponse.test
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/ConcurrentExistsResponse.test?rev=682045&view=auto
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/ConcurrentExistsResponse.test (added)
+++ james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/ConcurrentExistsResponse.test Sat Aug  2 13:43:20 2008
@@ -0,0 +1,110 @@
+################################################################
+# 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.                                           #
+################################################################
+# Tests that appending a message from one session triggers an EXISTS and RECENT response
+# in a concurrent session on the same mailbox
+SESSION: 1
+C: 1a CREATE existsresponse
+S: 1a OK CREATE completed.
+
+C: 1b STATUS existsresponse (MESSAGES)
+S: \* STATUS existsresponse \(MESSAGES 0\)
+S: 1b OK STATUS completed
+
+SESSION: 2
+C: 2a SELECT existsresponse
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 0 EXISTS
+S: \* 0 RECENT
+S: \* OK \[UIDVALIDITY \d+\]
+S: \* OK No messages unseen
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)\]
+S: 2a OK \[READ-WRITE\] SELECT completed
+
+SESSION: 3
+C: 3a SELECT existsresponse
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 0 EXISTS
+S: \* 0 RECENT
+S: \* OK \[UIDVALIDITY \d+\]
+S: \* OK No messages unseen
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)\]
+S: 3a OK \[READ-WRITE\] SELECT completed
+
+SESSION: 4
+C: 4a SELECT existsresponse
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 0 EXISTS
+S: \* 0 RECENT
+S: \* OK \[UIDVALIDITY \d+\]
+S: \* OK No messages unseen
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)\]
+S: 4a OK \[READ-WRITE\] SELECT completed
+
+SESSION: 1
+C: 1c APPEND existsresponse {310+}
+C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
+C: From: Fred Foobar <fo...@Blurdybloop.COM>
+C: Subject: afternoon meeting
+C: To: mooch@owatagu.siam.edu
+C: Message-Id: <B2...@Blurdybloop.COM>
+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: 1c OK APPEND completed
+
+C: 1b STATUS existsresponse (MESSAGES RECENT)
+S: \* STATUS existsresponse \(MESSAGES 1 RECENT 1\)
+S: 1b OK STATUS completed
+
+# EXISTS response on NOOP
+SESSION: 2
+C: 2b NOOP
+S: \* 1 EXISTS
+S: \* 1 RECENT
+S: 2b OK NOOP completed
+
+C: 2c CLOSE
+S: 2c OK CLOSE completed
+
+# EXISTS response on STORE (recent is no longer set)
+SESSION: 3
+C: 3b STORE 1 +FLAGS.SILENT (\Flagged)
+S: \* 1 EXISTS
+S: \* 0 RECENT
+S: 3b OK STORE completed
+
+C: 3c CLOSE
+S: 3c OK CLOSE completed
+
+# EXISTS response on CREATE
+SESSION: 4
+C: 4b CREATE another
+S: \* 1 EXISTS
+S: \* 0 RECENT
+S: \* 1 FETCH \(FLAGS \(\\Flagged\)
+S: 4b OK CREATE completed
+
+C: 4c DELETE another
+S: 4c OK DELETE completed
+
+C: 4c DELETE existsresponse
+S: 4c OK DELETE completed
+

Modified: james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipleMessages.test
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipleMessages.test?rev=682045&r1=682044&r2=682045&view=diff
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipleMessages.test (original)
+++ james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipleMessages.test Sat Aug  2 13:43:20 2008
@@ -21,7 +21,7 @@
 S: \* 1 FETCH \(UID .*\)
 S: \* 2 FETCH \(UID .*\)
 S: \* 3 FETCH \(UID .*\)
-S: f1 OK FETCH completed
+S: f1 OK FETCH completed.
 
 # Fetch 3 messages with BODY
 C: f1 FETCH 1:3 (BODY.PEEK[HEADER.FIELDS (Subject)])
@@ -37,4 +37,4 @@
 S: Subject\: Test 03
 S: 
 S: \)
-S: f1 OK FETCH completed
+S: f1 OK FETCH completed.

Modified: james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchSingleMessage.test
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchSingleMessage.test?rev=682045&r1=682044&r2=682045&view=diff
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchSingleMessage.test (original)
+++ james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchSingleMessage.test Sat Aug  2 13:43:20 2008
@@ -18,15 +18,13 @@
 ################################################################
 # BODY
 C: f1 FETCH 1 (BODY)
-# TODO this is wrong - line number incorrect.
-S: \* 1 FETCH \(BODY \(\"TEXT\" \"PLAIN\" \(\"CHARSET\" \"US-ASCII\"\) NIL NIL \"7BIT\" 9 1\)\)
-S: f1 OK FETCH completed
+S: \* 1 FETCH \(BODY \(\"TEXT\" \"PLAIN\" \(\"charset\" \"us-ascii\"\) NIL NIL \"7BIT\" 9 1\)\)
+S: f1 OK FETCH completed.
 
 # BODY[]
 # Not PEEK, so the Seen flag is implicitly set.
-# TODO - should test that this flag is persisted
-C: f1 FETCH 1 (BODY[])
-S: \* 1 FETCH \(FLAGS \(\\Seen\) BODY\[\] \{255\}
+C: f2 FETCH 1 (BODY[])
+S: \* 1 FETCH \(FLAGS \(\\Recent \\Seen\) BODY\[\] \{254\}
 S: Date: Mon, 7 Feb 1994 21:52:25 -0800 \(PST\)
 S: From: Fred Foobar <foobar@Blurdybloop\.COM>
 S: Subject: Test 01
@@ -37,10 +35,10 @@
 S:
 S: Test 01
 S: \)
-S: f1 OK FETCH completed
+S: f2 OK FETCH completed.
 
 # BODY[HEADER]
-C: f1 FETCH 1 (BODY[HEADER])
+C: f3 FETCH 1 (BODY[HEADER])
 S: \* 1 FETCH \(BODY\[HEADER\] \{245\}
 S: Date: Mon, 7 Feb 1994 21:52:25 -0800 \(PST\)
 S: From: Fred Foobar <foobar@Blurdybloop\.COM>
@@ -51,19 +49,19 @@
 S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
 S:
 S: \)
-S: f1 OK FETCH completed
+S: f3 OK FETCH completed.
 
 # BODY[HEADER.FIELDS]
-C: f1 FETCH 1 (BODY[HEADER.FIELDS (From To)])
+C: f4 FETCH 1 (BODY[HEADER.FIELDS (From To)])
 S: \* 1 FETCH \(BODY\[HEADER\.FIELDS \(From To\)\] \{74\}
 S: From: Fred Foobar <foobar@Blurdybloop\.COM>
 S: To: mooch@owatagu\.siam\.edu
 S:
 S: \)
-S: f1 OK FETCH completed
+S: f4 OK FETCH completed.
 
 # BODY[HEADER.FIELDS.NOT]
-C: f1 FETCH 1 (BODY[HEADER.FIELDS.NOT (From To)])
+C: f5 FETCH 1 (BODY[HEADER.FIELDS.NOT (From To)])
 S: \* 1 FETCH \(BODY\[HEADER\.FIELDS\.NOT \(From To\)\] \{173\}
 S: Date: Mon, 7 Feb 1994 21:52:25 -0800 \(PST\)
 S: Subject: Test 01
@@ -72,44 +70,44 @@
 S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
 S:
 S: \)
-S: f1 OK FETCH completed
+S: f5 OK FETCH completed.
 
 # BODY[MIME]
 # NOT implemented
 
 # BODY[TEXT]
-C: f1 FETCH 1 (BODY[TEXT])
-S: \* 1 FETCH \(BODY\[TEXT\] \{10\}
+C: f6 FETCH 1 (BODY[TEXT])
+S: \* 1 FETCH \(BODY\[TEXT\] \{9\}
 S: Test 01
 S: \)
-S: f1 OK FETCH completed
+S: f6 OK FETCH completed.
 
 # todo - multipart messages.
 # todo - partial fetch BODY[]<0.100>
 
-# BODYSTRUCTURE - TODO should be returning extension data - language, md5 etc.
-C: f1 FETCH 1 (BODYSTRUCTURE)
-S: \* 1 FETCH \(BODYSTRUCTURE \(\"TEXT\" \"PLAIN\" \(\"CHARSET\" \"US-ASCII\"\) NIL NIL \"7BIT\" 9 -1\)\)
-S: f1 OK FETCH completed
+# BODYSTRUCTURE 
+C: f7 FETCH 1 (BODYSTRUCTURE)
+S: \* 1 FETCH \(BODYSTRUCTURE \(\"TEXT\" \"PLAIN\" \(\"charset\" \"us-ascii\"\) NIL NIL \"7BIT\" 9 1 NIL NIL NIL NIL\)\)
+S: f7 OK FETCH completed.
 
-# ENVELOPE - TODO need to study the rfc and write more tests: this format could be wrong.
-C: f1 FETCH 1 (ENVELOPE)
+# ENVELOPE
+C: f8 FETCH 1 (ENVELOPE)
 S: \* 1 FETCH \(ENVELOPE \(\".*\" \"Test 01\" \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(NIL NIL \"mooch\" \"owatagu\.siam\.edu\"\)\) NIL NIL NIL \"<B27397-0100000@Blurdybloop\.COM>\"\)\)
-S: f1 OK FETCH completed
+S: f8 OK FETCH completed.
 
 # FLAGS
-C: f1 FETCH 1 (FLAGS)
-S: \* 1 FETCH \(FLAGS \(\\Seen\)\)
-S: f1 OK FETCH completed
+C: f9 FETCH 1 (FLAGS)
+S: \* 1 FETCH \(FLAGS \(\\Recent \\Seen\)\)
+S: f9 OK FETCH completed.
 
 # INTERNALDATE
-C: f1 FETCH 1 (INTERNALDATE)
+C: f10 FETCH 1 (INTERNALDATE)
 S: \* 1 FETCH \(INTERNALDATE \".*\"\)
-S: f1 OK FETCH completed
+S: f10 OK FETCH completed.
 
 # RFC822 ( === BODY[])
-C: f1 FETCH 1 (RFC822)
-S: \* 1 FETCH \(RFC822 \{255\}
+C: f11 FETCH 1 (RFC822)
+S: \* 1 FETCH \(RFC822 \{254\}
 S: Date: Mon, 7 Feb 1994 21:52:25 -0800 \(PST\)
 S: From: Fred Foobar <foobar@Blurdybloop\.COM>
 S: Subject: Test 01
@@ -120,10 +118,10 @@
 S:
 S: Test 01
 S: \)
-S: f1 OK FETCH completed
+S: f11 OK FETCH completed.
 
 # RFC822.HEADER ( === BODY.PEEK[HEADER])
-C: f1 FETCH 1 (RFC822.HEADER)
+C: f12 FETCH 1 (RFC822.HEADER)
 S: \* 1 FETCH \(RFC822\.HEADER \{245\}
 S: Date: Mon, 7 Feb 1994 21:52:25 -0800 \(PST\)
 S: From: Fred Foobar <foobar@Blurdybloop\.COM>
@@ -134,38 +132,38 @@
 S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
 S:
 S: \)
-S: f1 OK FETCH completed
+S: f12 OK FETCH completed.
 
 # RFC822.SIZE
-C: f1 FETCH 1 (RFC822.SIZE)
-S: \* 1 FETCH \(RFC822\.SIZE 9\)
-S: f1 OK FETCH completed
+C: f13 FETCH 1 (RFC822.SIZE)
+S: \* 1 FETCH \(RFC822\.SIZE 254\)
+S: f13 OK FETCH completed.
 
 # RFC822.TEXT ( === BODY[TEXT])
-C: f1 FETCH 1 (RFC822.TEXT)
-S: \* 1 FETCH \(RFC822\.TEXT \{10\}
+C: f14 FETCH 1 (RFC822.TEXT)
+S: \* 1 FETCH \(RFC822\.TEXT \{9\}
 S: Test 01
 S: \)
-S: f1 OK FETCH completed
+S: f14 OK FETCH completed.
 
 # UID
-C: f1 FETCH 1 (UID)
+C: f15 FETCH 1 (UID)
 S: \* 1 FETCH \(UID \d+\)
-S: f1 OK FETCH completed
+S: f15 OK FETCH completed.
 
 
 # Macro Commands
 # ALL ( === FLAGS INTERNALDATE RFC822.SIZE ENVELOPE)
-C: f1 FETCH 1 (ALL)
-S: \* 1 FETCH \(FLAGS \(\\Seen\) INTERNALDATE \".*\" RFC822.SIZE 9 ENVELOPE \(\".*\" \"Test 01\" \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(NIL NIL \"mooch\" \"owatagu\.siam\.edu\"\)\) NIL NIL NIL \"<B27397-0100000@Blurdybloop\.COM>\"\)\)
-S: f1 OK FETCH completed
+C: f16 FETCH 1 (ALL)
+S: \* 1 FETCH \(FLAGS \(\\Recent \\Seen\) INTERNALDATE \".*\" RFC822.SIZE 254 ENVELOPE \(\".*\" \"Test 01\" \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(NIL NIL \"mooch\" \"owatagu\.siam\.edu\"\)\) NIL NIL NIL \"<B27397-0100000@Blurdybloop\.COM>\"\)\)
+S: f16 OK FETCH completed.
 
 # FULL ( === FLAGS INTERNALDATE RFC822.SIZE ENVELOPE BODY )
-C: f1 FETCH 1 (FULL)
-S: \* 1 FETCH \(FLAGS \(\\Seen\) INTERNALDATE \".*\" RFC822\.SIZE 9 ENVELOPE \(\".*\" \"Test 01\" \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(NIL NIL \"mooch\" \"owatagu\.siam\.edu\"\)\) NIL NIL NIL \"<B27397-0100000@Blurdybloop\.COM>\"\) BODY \(\"TEXT\" \"PLAIN\" \(\"CHARSET\" \"US-ASCII\"\) NIL NIL \"7BIT\" 9 -1\)\)
-S: f1 OK FETCH completed
+C: f17 FETCH 1 (FULL)
+S: \* 1 FETCH \(FLAGS \(\\Recent \\Seen\) INTERNALDATE \".*\" RFC822\.SIZE 254 ENVELOPE \(\".*\" \"Test 01\" \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(\"Fred Foobar\" NIL \"foobar\" \"Blurdybloop\.COM\"\)\) \(\(NIL NIL \"mooch\" \"owatagu\.siam\.edu\"\)\) NIL NIL NIL \"<B27397-0100000@Blurdybloop\.COM>\"\) BODY \(\"TEXT\" \"PLAIN\" \(\"charset\" \"us-ascii\"\) NIL NIL \"7BIT\" 9 1\)\)
+S: f17 OK FETCH completed.
 
 # FAST ( === FLAGS INTERNALDATE RFC822.SIZE )
-C: f1 FETCH 1 (FAST)
-S: \* 1 FETCH \(FLAGS \(\\Seen\) INTERNALDATE \".*\" RFC822.SIZE 9\)
-S: f1 OK FETCH completed
+C: f18 FETCH 1 (FAST)
+S: \* 1 FETCH \(FLAGS \(\\Recent \\Seen\) INTERNALDATE \".*\" RFC822.SIZE 254\)
+S: f18 OK FETCH completed.

Modified: james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Uid.test
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Uid.test?rev=682045&r1=682044&r2=682045&view=diff
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Uid.test (original)
+++ james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Uid.test Sat Aug  2 13:43:20 2008
@@ -18,10 +18,11 @@
 ################################################################
 #Delete the first message, so that UIDs don't match MSNs
 C: a STORE 1 +FLAGS (\Deleted)
-S: \* 1 FETCH \(FLAGS \(\\Deleted\)\)
+S: \* 1 FETCH \(FLAGS \(\\Deleted \\Recent\)\)
 S: a OK STORE completed.
 C: a EXPUNGE
 S: \* 1 EXPUNGE
+S: \* 3 RECENT
 S: a OK EXPUNGE completed.
 
 #Regular fetch
@@ -38,29 +39,32 @@
 S: a OK FETCH completed.
 
 #UID store
-C: a UID STORE 2:3 +FLAGS (\Deleted)
-S: \* 1 FETCH \(FLAGS \(\\Deleted\) UID 2\)
-S: \* 2 FETCH \(FLAGS \(\\Deleted\) UID 3\)
-S: a OK STORE completed.
+C: a1 UID STORE 2:3 +FLAGS (\Deleted)
+S: \* 1 FETCH \(FLAGS \(\\Deleted \\Recent\) UID 2\)
+S: \* 2 FETCH \(FLAGS \(\\Deleted \\Recent\) UID 3\)
+S: a1 OK STORE completed.
 
 # Regular fetch
-C: a FETCH 1:100 (FLAGS UID)
-S: \* 1 FETCH \(FLAGS \(\\Deleted\) UID 2\)
-S: \* 2 FETCH \(FLAGS \(\\Deleted\) UID 3\)
-S: \* 3 FETCH \(FLAGS \(\) UID 4\)
-S: a OK FETCH completed.
+C: a2 FETCH 1:100 (FLAGS UID)
+S: \* 1 FETCH \(FLAGS \(\\Deleted \\Recent\) UID 2\)
+S: \* 2 FETCH \(FLAGS \(\\Deleted \\Recent\) UID 3\)
+S: \* 3 FETCH \(FLAGS \(\\Recent\) UID 4\)
+S: a2 OK FETCH completed.
 
 # CREATE and do a UID COPY
-C: a CREATE copied
-S: a OK CREATE completed.
+C: a3 CREATE copied
+S: a3 OK CREATE completed.
 
-C: a UID COPY 2 copied
-S: a OK COPY completed.
+C: a4 UID COPY 2 copied
+S: a4 OK COPY completed.
 
 C: a STATUS copied (MESSAGES)
-S: \* STATUS copied \(MESSAGES 1\)
+S: \* STATUS "copied" \(MESSAGES 1\)
 S: a OK STATUS completed.
 
+C: A003 STORE 1:4 +FLAGS.SILENT (\FLAGGED)
+S: A003 OK STORE completed.
+
 # Do a UID SEARCH
 C: a UID SEARCH FLAGGED
 S: \* SEARCH 2 3 4

Modified: james/server/trunk/imap-codec-library/src/main/java/org/apache/james/imap/message/request/imap4rev1/StoreRequest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-codec-library/src/main/java/org/apache/james/imap/message/request/imap4rev1/StoreRequest.java?rev=682045&r1=682044&r2=682045&view=diff
==============================================================================
--- james/server/trunk/imap-codec-library/src/main/java/org/apache/james/imap/message/request/imap4rev1/StoreRequest.java (original)
+++ james/server/trunk/imap-codec-library/src/main/java/org/apache/james/imap/message/request/imap4rev1/StoreRequest.java Sat Aug  2 13:43:20 2008
@@ -96,4 +96,41 @@
     public final boolean isUseUids() {
         return useUids;
     }
+    
+    public String toString() {
+        final StringBuffer buffer = new StringBuffer(100);
+        buffer.append("STORE ");
+        if (isUseUids()) {
+            buffer.append("UID ");
+        }
+        if (isSilent()) {
+            buffer.append("SILENT ");
+            
+        }
+        if (isSignedPlus()) {
+            buffer.append("+ ");
+        }
+        if (isSignedMinus()) {
+            buffer.append("- ");
+        }
+        if (flags.contains(Flags.Flag.ANSWERED)) {
+            buffer.append(" ANSWERED");
+        }
+        if (flags.contains(Flags.Flag.DELETED)) {
+            buffer.append(" DELETED");
+        }
+        if (flags.contains(Flags.Flag.FLAGGED)) {
+            buffer.append(" FLAGGED");
+        }
+        if (flags.contains(Flags.Flag.DRAFT)) {
+            buffer.append(" DRAFT");
+        }
+        if (flags.contains(Flags.Flag.SEEN)) {
+            buffer.append(" SEEN");
+        }
+        if (flags.contains(Flags.Flag.RECENT)) {
+            buffer.append(" RECEN");
+        }
+        return buffer.toString();
+    }
 }

Added: james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalConcurrentSessionsTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalConcurrentSessionsTest.java?rev=682045&view=auto
==============================================================================
--- james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalConcurrentSessionsTest.java (added)
+++ james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalConcurrentSessionsTest.java Sat Aug  2 13:43:20 2008
@@ -0,0 +1,30 @@
+/****************************************************************
+ * 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.experimental.imapserver;
+
+import org.apache.james.test.functional.imap.AbstractTestConcurrentSessions;
+
+public class ExperimentalConcurrentSessionsTest extends AbstractTestConcurrentSessions {
+
+    public ExperimentalConcurrentSessionsTest() throws Exception {
+        super(HostSystemFactory.createStandardImap());
+    }
+
+}

Modified: james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalSelectedStateTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalSelectedStateTest.java?rev=682045&r1=682044&r2=682045&view=diff
==============================================================================
--- james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalSelectedStateTest.java (original)
+++ james/server/trunk/phoenix-deployment/src/test/org/apache/james/experimental/imapserver/ExperimentalSelectedStateTest.java Sat Aug  2 13:43:20 2008
@@ -26,52 +26,4 @@
     public ExperimentalSelectedStateTest() throws Exception {
         super(HostSystemFactory.createStandardImap());
     }
-    
-    public void testFetchMultipleMessagesUS() throws Exception {
-        // TODO Auto-generated method stub
-        //super.testFetchMultipleMessages();
-    }
-
-    public void testFetchSingleMessageUS() throws Exception {
-        // BODY octet count is buggy.
-        // The total size of the message is used rather than the size of the part
-        //super.testFetchSingleMessageUS();
-    }
-
-    public void testUidUS() throws Exception {
-        // UID fetch not working very well
-        // super.testUid();
-    }
-
-    public void testFetchMultipleMessagesKOREA() throws Exception {
-        // TODO Auto-generated method stub
-        //super.testFetchMultipleMessages();
-    }
-
-    public void testFetchSingleMessageKOREA() throws Exception {
-        // BODY octet count is buggy.
-        // The total size of the message is KOREAed rather than the size of the part
-        //super.testFetchSingleMessage();
-    }
-
-    public void testUidKOREA() throws Exception {
-        // UID fetch not working very well
-        // super.testUid();
-    }  
-
-    public void testFetchMultipleMessagesITALY() throws Exception {
-        // TODO Auto-generated method stub
-        //super.testFetchMultipleMessages();
-    }
-
-    public void testFetchSingleMessageITALY() throws Exception {
-        // BODY octet count is buggy.
-        // The total size of the message is ITALYed rather than the size of the part
-        //super.testFetchSingleMessage();
-    }
-
-    public void testUidITALY() throws Exception {
-        // UID fetch not working very well
-        // super.testUid();
-    }    
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org