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/03/30 12:56:42 UTC
svn commit: r642705 - in
/james/server/trunk/experimental-seda-imap-function/src/test:
java/org/apache/james/test/functional/
resources/org/apache/james/test/functional/imap/scripts/
Author: rdonkin
Date: Sun Mar 30 03:56:40 2008
New Revision: 642705
URL: http://svn.apache.org/viewvc?rev=642705&view=rev
Log:
TEXT partial FETCH test
Added:
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/TextPartialFetch
Modified:
james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/CreateScript.java
james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/ScriptBuilder.java
Modified: james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/CreateScript.java
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/CreateScript.java?rev=642705&r1=642704&r2=642705&view=diff
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/CreateScript.java (original)
+++ james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/CreateScript.java Sun Mar 30 03:56:40 2008
@@ -35,8 +35,40 @@
public static final void main(String[] args) throws Exception {
ScriptBuilder builder = ScriptBuilder.open("localhost", 143);
- bodyPartialFetch(builder);
+ textPartialFetch(builder);
}
+
+ public static void textPartialFetch(ScriptBuilder builder) throws Exception {
+ builder.login();
+ builder.create();
+ builder.select();
+ builder.setFile("multipart-mixed-complex.mail");
+ builder.append();
+ builder.select();
+ builder.partial(0, 0).fetchSection("TEXT");
+ builder.partial(0, 16).fetchSection("TEXT");
+ builder.partial(0, 32).fetchSection("TEXT");
+ builder.partial(0, 64).fetchSection("TEXT");
+ builder.partial(0, 128).fetchSection("TEXT");
+ builder.partial(0, 1024).fetchSection("TEXT");
+ builder.partial(0, 2048).fetchSection("TEXT");
+ builder.partial(7, 0).fetchSection("TEXT");
+ builder.partial(7, 16).fetchSection("TEXT");
+ builder.partial(7, 32).fetchSection("TEXT");
+ builder.partial(7, 64).fetchSection("TEXT");
+ builder.partial(7, 128).fetchSection("TEXT");
+ builder.partial(7, 1024).fetchSection("TEXT");
+ builder.partial(7, 2048).fetchSection("TEXT");
+ builder.partial(10000, 0).fetchSection("TEXT");
+ builder.partial(10000, 16).fetchSection("TEXT");
+ builder.partial(10000, 32).fetchSection("TEXT");
+ builder.partial(10000, 64).fetchSection("TEXT");
+ builder.partial(10000, 128).fetchSection("TEXT");
+ builder.partial(10000, 1024).fetchSection("TEXT");
+ builder.partial(10000, 2048).fetchSection("TEXT");
+ builder.quit();
+ }
+
public static void bodyPartialFetch(ScriptBuilder builder) throws Exception {
builder.login();
Modified: james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/ScriptBuilder.java
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/ScriptBuilder.java?rev=642705&r1=642704&r2=642705&view=diff
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/ScriptBuilder.java (original)
+++ james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/ScriptBuilder.java Sun Mar 30 03:56:40 2008
@@ -1177,7 +1177,18 @@
}
private static final class Out {
- private final CharBuffer lineBuffer = CharBuffer.allocate(1048);
+ private static final String[] IGNORE_LINES_STARTING_WITH = {
+ "S: \\* OK \\[PERMANENTFLAGS",
+ "C: A22 LOGOUT",
+ "S: \\* BYE Logging out",
+ "S: \\* OK Dovecot ready\\."};
+ private static final String[] IGNORE_LINES_CONTAINING = {
+ "OK Logout completed.",
+ "LOGIN imapuser password",
+ "OK Logged in",
+ "LOGOUT"};
+
+ private final CharBuffer lineBuffer = CharBuffer.allocate(4096);
private boolean isClient = false;
public void client() {
lineBuffer.put("C: ");
@@ -1222,12 +1233,47 @@
public void lineEnd() {
lineBuffer.flip();
- String line = lineBuffer.toString();
- line = StringUtils.replace(line, "OK Create completed", "OK CREATE completed");
- line = StringUtils.replace(line, "OK Fetch completed", "OK FETCH completed");
- line = StringUtils.replace(line, "OK Append completed", "OK APPEND completed");
- System.out.println(line);
+ final String text = lineBuffer.toString();
+ String[] lines = text.split("\r\n");
+ for (int i = 0; i < lines.length; i++) {
+ String line = StringUtils.chomp(lines[i]);
+ if (!ignoreLine(line)) {
+ line = StringUtils.replace(line, "OK Create completed", "OK CREATE completed");
+ line = StringUtils.replace(line, "OK Fetch completed", "OK FETCH completed");
+ line = StringUtils.replace(line, "OK Append completed", "OK APPEND completed");
+ line = StringUtils.replace(line, "OK Delete completed", "OK DELETE completed");
+ line = StringUtils.replace(line, "Select completed", "SELECT completed");
+ line = StringUtils.replace(line, "\\\\Seen \\\\Draft", "\\\\Draft \\\\Seen");
+ line = StringUtils.replace(line, "\\\\Flagged \\\\Deleted", "\\\\Deleted \\\\Flagged");
+ line = StringUtils.replace(line, "\\\\Flagged \\\\Draft", "\\\\Draft \\\\Flagged");
+ line = StringUtils.replace(line, "\\\\Seen \\\\Recent", "\\\\Recent \\\\Seen");
+ line = StringUtils.replace(line, "\\] First unseen\\.", "\\](.)*");
+ if (line.startsWith("S: \\* OK \\[UIDVALIDITY ")) {
+ line = "S: \\* OK \\[UIDVALIDITY \\d+\\\\]";
+ } else if (line.startsWith("S: \\* OK \\[UIDNEXT")) {
+ line = "S: \\* OK \\[PERMANENTFLAGS \\(\\\\Answered \\\\Deleted \\\\Draft \\\\Flagged \\\\Seen\\)\\]";
+ }
+ System.out.println(line);
+ }
+ }
lineBuffer.clear();
+ }
+
+ private boolean ignoreLine(String line) {
+ boolean result = false;
+ for (int i = 0; i < IGNORE_LINES_CONTAINING.length; i++) {
+ if (line.indexOf(IGNORE_LINES_CONTAINING[i]) > 0) {
+ result = true;
+ break;
+ }
+ }
+ for (int i = 0; i < IGNORE_LINES_STARTING_WITH.length && ! result; i++) {
+ if (line.startsWith(IGNORE_LINES_STARTING_WITH[i])) {
+ result = true;
+ break;
+ }
+ }
+ return result;
}
}
Added: james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/TextPartialFetch
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/TextPartialFetch?rev=642705&view=auto
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/TextPartialFetch (added)
+++ james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/TextPartialFetch Sun Mar 30 03:56:40 2008
@@ -0,0 +1,518 @@
+################################################################
+# 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. #
+################################################################
+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: A3 OK \[READ-WRITE\] SELECT completed\.
+C: A4 APPEND testmailbox {1767+}
+C: From: Timothy Tayler <ti...@example.org>
+C: To: Samual Smith <sa...@example.org>
+C: Date: Thu, 14 Feb 2008 12:00:00 +0000 (GMT)
+C: Subject: A Multipart Email
+C: Content-Type: multipart/mixed;boundary=1729
+C:
+C: Start with a preamble
+C:
+C: --1729
+C: Content-Type: text/plain; charset=US-ASCII
+C:
+C: Rhubarb!
+C:
+C: --1729
+C: Content-Type: application/octet-stream
+C: Content-Transfer-Encoding: base64
+C:
+C: 987654321AHPLA
+C:
+C: --1729
+C: Content-Type: message/rfc822
+C:
+C: From: Timothy Tayler <ti...@example.org>
+C: To: Samual Smith <sa...@example.org>
+C: Date: Thu, 14 Feb 2008 12:00:00 +0000 (GMT)
+C: Subject: A Multipart Alternative Email
+C: Content-Type: multipart/alternative;boundary=42
+C:
+C: This message has a premable
+C:
+C: --42
+C: Content-Type: text/plain; charset=US-ASCII
+C:
+C: Custard!
+C:
+C: --42
+C: Content-Type: application/octet-stream
+C:
+C: CUSTARDCUSTARDCUSTARD
+C:
+C: --42--
+C:
+C: --1729
+C: Content-Type: multipart/mixed; boundary=4.66920160910299
+C:
+C: --4.66920160910299
+C: Content-Type: image/gif
+C: Content-Transfer-Encoding: base64
+C: MIME-Version: 1.0
+C: Content-ID: 238478934723847238947892374
+C: Content-Description: Bogus Image Data
+C:
+C: ABCDFEGHIJKLMNO
+C:
+C: --4.66920160910299
+C: Content-Type: message/rfc822
+C:
+C: From: Timothy Tayler <ti...@example.org>
+C: To: John Smith <jo...@example.org>
+C: Date: Sat, 16 Feb 2008 12:00:00 +0000 (GMT)
+C: Subject: Another Example Email
+C: Content-Type: multipart/mixed;boundary=2.50290787509
+C:
+C: Yet another preamble
+C:
+C: --2.50290787509
+C: Content-Type: text/plain
+C:
+C: Rhubard AND Custard!
+C:
+C: --2.50290787509
+C: Content-Type: multipart/alternative;boundary=3.243F6A8885A308D3
+C:
+C: --3.243F6A8885A308D3
+C: Content-Type: text/plain
+C:
+C: Rhubard?Custard?
+C:
+C: --3.243F6A8885A308D3
+C:
+C: Content-Type: text/richtext
+C:
+C: Rhubard?Custard?
+C:
+C: --3.243F6A8885A308D3--
+C:
+C: --2.50290787509--
+C:
+C: --4.66920160910299--
+C: --1729--
+C:
+S: \* 1 EXISTS
+S: \* 1 RECENT
+S: A4 OK APPEND completed\.
+C: A5 SELECT testmailbox
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
+S: \* 1 EXISTS
+S: \* 1 RECENT
+S: \* OK \[UNSEEN 1\](.)*
+S: \* OK \[UIDVALIDITY \d+\\]
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)\]
+S: A5 OK \[READ-WRITE\] SELECT completed\.
+C: A6 FETCH 1 (BODY[TEXT]<0.0>)
+S: \* 1 FETCH \(FLAGS \(\\Recent \\Seen\) BODY\[TEXT\]<0> \{0\}
+S: \)
+S: A6 OK FETCH completed\.
+C: A7 FETCH 1 (BODY[TEXT]<0.16>)
+S: \* 1 FETCH \(BODY\[TEXT\]<0> \{16\}
+S: Start with a pre\)
+S: A7 OK FETCH completed\.
+C: A8 FETCH 1 (BODY[TEXT]<0.32>)
+S: \* 1 FETCH \(BODY\[TEXT\]<0> \{32\}
+S: Start with a preamble
+S:
+S: --1729
+\)
+S: A8 OK FETCH completed\.
+C: A9 FETCH 1 (BODY[TEXT]<0.64>)
+S: \* 1 FETCH \(BODY\[TEXT\]<0> \{64\}
+S: Start with a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; chars\)
+S: A9 OK FETCH completed\.
+C: A10 FETCH 1 (BODY[TEXT]<0.128>)
+S: \* 1 FETCH \(BODY\[TEXT\]<0> \{128\}
+S: Start with a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Rhubarb!
+S:
+S: --1729
+S: Content-Type: application/oct\)
+S: A10 OK FETCH completed\.
+C: A11 FETCH 1 (BODY[TEXT]<0.1024>)
+S: \* 1 FETCH \(BODY\[TEXT\]<0> \{1024\}
+S: Start with a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Rhubarb!
+S:
+S: --1729
+S: Content-Type: application/octet-stream
+S: Content-Transfer-Encoding: base64
+S:
+S: 987654321AHPLA
+S:
+S: --1729
+S: Content-Type: message/rfc822
+S:
+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: Subject: A Multipart Alternative Email
+S: Content-Type: multipart/alternative;boundary=42
+S:
+S: This message has a premable
+S:
+S: --42
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Custard!
+S:
+S: --42
+S: Content-Type: application/octet-stream
+S:
+S: CUSTARDCUSTARDCUSTARD
+S:
+S: --42--
+S:
+S: --1729
+S: Content-Type: multipart/mixed; boundary=4\.66920160910299
+S:
+S: --4\.66920160910299
+S: Content-Type: image/gif
+S: Content-Transfer-Encoding: base64
+S: MIME-Version: 1\.0
+S: Content-ID: 238478934723847238947892374
+S: Content-Description: Bogus Image Data
+S:
+S: ABCDFEGHIJKLMNO
+S:
+S: --4\.66920160910299
+S: Content-Type: message/rfc822
+S:
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: John Smith <john@example\.\)
+S: A11 OK FETCH completed\.
+C: A12 FETCH 1 (BODY[TEXT]<0.2048>)
+S: \* 1 FETCH \(BODY\[TEXT\]<0> \{1564\}
+S: Start with a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Rhubarb!
+S:
+S: --1729
+S: Content-Type: application/octet-stream
+S: Content-Transfer-Encoding: base64
+S:
+S: 987654321AHPLA
+S:
+S: --1729
+S: Content-Type: message/rfc822
+S:
+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: Subject: A Multipart Alternative Email
+S: Content-Type: multipart/alternative;boundary=42
+S:
+S: This message has a premable
+S:
+S: --42
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Custard!
+S:
+S: --42
+S: Content-Type: application/octet-stream
+S:
+S: CUSTARDCUSTARDCUSTARD
+S:
+S: --42--
+S:
+S: --1729
+S: Content-Type: multipart/mixed; boundary=4\.66920160910299
+S:
+S: --4\.66920160910299
+S: Content-Type: image/gif
+S: Content-Transfer-Encoding: base64
+S: MIME-Version: 1\.0
+S: Content-ID: 238478934723847238947892374
+S: Content-Description: Bogus Image Data
+S:
+S: ABCDFEGHIJKLMNO
+S:
+S: --4\.66920160910299
+S: Content-Type: message/rfc822
+S:
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: John Smith <john@example\.org>
+S: Date: Sat, 16 Feb 2008 12:00:00 \+0000 \(GMT\)
+S: Subject: Another Example Email
+S: Content-Type: multipart/mixed;boundary=2\.50290787509
+S:
+S: Yet another preamble
+S:
+S: --2\.50290787509
+S: Content-Type: text/plain
+S:
+S: Rhubard AND Custard!
+S:
+S: --2\.50290787509
+S: Content-Type: multipart/alternative;boundary=3\.243F6A8885A308D3
+S:
+S: --3\.243F6A8885A308D3
+S: Content-Type: text/plain
+S:
+S: Rhubard\?Custard\?
+S:
+S: --3\.243F6A8885A308D3
+S:
+S: Content-Type: text/richtext
+S:
+S: Rhubard\?Custard\?
+S:
+S: --3\.243F6A8885A308D3--
+S:
+S: --2\.50290787509--
+S:
+S: --4\.66920160910299--
+S: --1729--
+S: \)
+S: A12 OK FETCH completed\.
+C: A13 FETCH 1 (BODY[TEXT]<7.0>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{0\}
+S: \)
+S: A13 OK FETCH completed\.
+C: A14 FETCH 1 (BODY[TEXT]<7.16>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{16\}
+S: ith a preamble
+S: \)
+S: A14 OK FETCH completed\.
+C: A15 FETCH 1 (BODY[TEXT]<7.32>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{32\}
+S: ith a preamble
+S:
+S: --1729
+S: Conten\)
+S: A15 OK FETCH completed\.
+C: A16 FETCH 1 (BODY[TEXT]<7.64>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{64\}
+S: ith a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-A\)
+S: A16 OK FETCH completed\.
+C: A17 FETCH 1 (BODY[TEXT]<7.128>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{128\}
+S: ith a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Rhubarb!
+S:
+S: --1729
+S: Content-Type: application/octet-stre\)
+S: A17 OK FETCH completed\.
+C: A18 FETCH 1 (BODY[TEXT]<7.1024>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{1024\}
+S: ith a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Rhubarb!
+S:
+S: --1729
+S: Content-Type: application/octet-stream
+S: Content-Transfer-Encoding: base64
+S:
+S: 987654321AHPLA
+S:
+S: --1729
+S: Content-Type: message/rfc822
+S:
+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: Subject: A Multipart Alternative Email
+S: Content-Type: multipart/alternative;boundary=42
+S:
+S: This message has a premable
+S:
+S: --42
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Custard!
+S:
+S: --42
+S: Content-Type: application/octet-stream
+S:
+S: CUSTARDCUSTARDCUSTARD
+S:
+S: --42--
+S:
+S: --1729
+S: Content-Type: multipart/mixed; boundary=4\.66920160910299
+S:
+S: --4\.66920160910299
+S: Content-Type: image/gif
+S: Content-Transfer-Encoding: base64
+S: MIME-Version: 1\.0
+S: Content-ID: 238478934723847238947892374
+S: Content-Description: Bogus Image Data
+S:
+S: ABCDFEGHIJKLMNO
+S:
+S: --4\.66920160910299
+S: Content-Type: message/rfc822
+S:
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: John Smith <john@example\.org>
+S: D\)
+S: A18 OK FETCH completed\.
+C: A19 FETCH 1 (BODY[TEXT]<7.2048>)
+S: \* 1 FETCH \(BODY\[TEXT\]<7> \{1557\}
+S: ith a preamble
+S:
+S: --1729
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Rhubarb!
+S:
+S: --1729
+S: Content-Type: application/octet-stream
+S: Content-Transfer-Encoding: base64
+S:
+S: 987654321AHPLA
+S:
+S: --1729
+S: Content-Type: message/rfc822
+S:
+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: Subject: A Multipart Alternative Email
+S: Content-Type: multipart/alternative;boundary=42
+S:
+S: This message has a premable
+S:
+S: --42
+S: Content-Type: text/plain; charset=US-ASCII
+S:
+S: Custard!
+S:
+S: --42
+S: Content-Type: application/octet-stream
+S:
+S: CUSTARDCUSTARDCUSTARD
+S:
+S: --42--
+S:
+S: --1729
+S: Content-Type: multipart/mixed; boundary=4\.66920160910299
+S:
+S: --4\.66920160910299
+S: Content-Type: image/gif
+S: Content-Transfer-Encoding: base64
+S: MIME-Version: 1\.0
+S: Content-ID: 238478934723847238947892374
+S: Content-Description: Bogus Image Data
+S:
+S: ABCDFEGHIJKLMNO
+S:
+S: --4\.66920160910299
+S: Content-Type: message/rfc822
+S:
+S: From: Timothy Tayler <timothy@example\.org>
+S: To: John Smith <john@example\.org>
+S: Date: Sat, 16 Feb 2008 12:00:00 \+0000 \(GMT\)
+S: Subject: Another Example Email
+S: Content-Type: multipart/mixed;boundary=2\.50290787509
+S:
+S: Yet another preamble
+S:
+S: --2\.50290787509
+S: Content-Type: text/plain
+S:
+S: Rhubard AND Custard!
+S:
+S: --2\.50290787509
+S: Content-Type: multipart/alternative;boundary=3\.243F6A8885A308D3
+S:
+S: --3\.243F6A8885A308D3
+S: Content-Type: text/plain
+S:
+S: Rhubard\?Custard\?
+S:
+S: --3\.243F6A8885A308D3
+S:
+S: Content-Type: text/richtext
+S:
+S: Rhubard\?Custard\?
+S:
+S: --3\.243F6A8885A308D3--
+S:
+S: --2\.50290787509--
+S:
+S: --4\.66920160910299--
+S: --1729--
+S: \)
+S: A19 OK FETCH completed\.
+C: A20 FETCH 1 (BODY[TEXT]<10000.0>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A20 OK FETCH completed\.
+C: A21 FETCH 1 (BODY[TEXT]<10000.16>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A21 OK FETCH completed\.
+C: A22 FETCH 1 (BODY[TEXT]<10000.32>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A22 OK FETCH completed\.
+C: A23 FETCH 1 (BODY[TEXT]<10000.64>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A23 OK FETCH completed\.
+C: A24 FETCH 1 (BODY[TEXT]<10000.128>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A24 OK FETCH completed\.
+C: A25 FETCH 1 (BODY[TEXT]<10000.1024>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A25 OK FETCH completed\.
+C: A26 FETCH 1 (BODY[TEXT]<10000.2048>)
+S: \* 1 FETCH \(BODY\[TEXT\]<10000> \{0\}
+S: \)
+S: A26 OK FETCH completed\.
+C: A27 DELETE testmailbox
+S: A27 OK DELETE completed\.
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org