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/18 20:26:49 UTC
svn commit: r638520 [1/3] - 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: Tue Mar 18 12:26:45 2008
New Revision: 638520
URL: http://svn.apache.org/viewvc?rev=638520&view=rev
Log:
Tests for UID search
Added:
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/UidSearchAtoms.test
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/UidSearchCombinations.test
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=638520&r1=638519&r2=638520&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 Tue Mar 18 12:26:45 2008
@@ -35,11 +35,11 @@
public static final void main(String[] args) throws Exception {
ScriptBuilder builder = ScriptBuilder.open("localhost", 143);
- searchCombinations(builder);
+ searchAtoms(builder, true);
}
- public static void searchCombinations(ScriptBuilder builder) throws Exception {
- setupSearch(builder);
+ public static void searchCombinations(ScriptBuilder builder, boolean uids) throws Exception {
+ setupSearch(builder, uids);
builder.body(COMMON_LETTER).undraft().unflagged().answered().search();
builder.to(COMMON_LETTER).draft().flagged().answered().search();
builder.to(COMMON_LETTER).smaller(10000).all().draft().search();
@@ -68,8 +68,8 @@
builder.quit();
}
- public static void searchAtoms(ScriptBuilder builder) throws Exception {
- setupSearch(builder);
+ public static void searchAtoms(ScriptBuilder builder, boolean uids) throws Exception {
+ setupSearch(builder, uids);
builder.all().search();
builder.answered().search();
builder.bcc(COMMON_LETTER).search();
@@ -183,10 +183,10 @@
builder.quit();
}
- private static void setupSearch(ScriptBuilder builder) throws Exception {
- builder.login();
- builder.create();
- builder.select();
+ private static void setupSearch(ScriptBuilder builder, boolean uids) throws Exception {
+ builder.setUidSearch(uids);
+ setup(builder);
+ padUids(builder);
loadLotsOfMail(builder);
builder.store(builder.flags().add().flagged().range(1, 9));
builder.store(builder.flags().add().answered().range(1, 4));
@@ -207,7 +207,20 @@
builder.store(builder.flags().add().deleted().range(1,3));
}
+ private static void setup(ScriptBuilder builder) throws Exception {
+ builder.login();
+ builder.create();
+ builder.select();
+ }
+ private static void padUids(ScriptBuilder builder) throws Exception {
+ builder.setFile("rfc822.mail");
+ for (int i=0;i<20;i++) {
+ builder.append();
+ builder.flagDeleted().expunge();
+ }
+ }
+
private static void loadLotsOfMail(ScriptBuilder builder) throws Exception {
builder.append();
builder.setFile("wild-example.mail");
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=638520&r1=638519&r2=638520&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 Tue Mar 18 12:26:45 2008
@@ -43,6 +43,7 @@
private int tagCount = 0;
+ private boolean uidSearch = false;
private boolean peek = false;
private int messageNumber = 1;
private String user = "imapuser";
@@ -69,6 +70,14 @@
this.peek = peek;
}
+ public final boolean isUidSearch() {
+ return uidSearch;
+ }
+
+ public final void setUidSearch(boolean uidSearch) {
+ this.uidSearch = uidSearch;
+ }
+
public final String getBasedir() {
return basedir;
}
@@ -154,6 +163,16 @@
createdMailbox = true;
}
+ public ScriptBuilder flagDeleted() throws Exception {
+ store(new Flags().deleted().msn(messageNumber));
+ return this;
+ }
+
+ public ScriptBuilder expunge() throws Exception {
+ command("EXPUNGE");
+ return this;
+ }
+
public void delete() throws Exception {
if (createdMailbox) {
command("DELETE " + mailbox);
@@ -161,6 +180,7 @@
}
public void search() throws Exception {
+ search.setUidSearch(uidSearch);
command(search.command());
search = new Search();
}
@@ -558,13 +578,26 @@
private StringBuffer buffer;
private boolean first;
+ private boolean uidSearch = false;
public Search() {
clear();
}
+ public final boolean isUidSearch() {
+ return uidSearch;
+ }
+
+ public final void setUidSearch(boolean uidSearch) {
+ this.uidSearch = uidSearch;
+ }
+
public String command() {
- return "SEARCH " + buffer.toString();
+ if (uidSearch) {
+ return "UID SEARCH " + buffer.toString();
+ } else {
+ return "SEARCH " + buffer.toString();
+ }
}
public void clear() {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org