Author: norman
Date: Mon Apr 11 05:53:50 2011
New Revision: 1090944

URL: http://svn.apache.org/viewvc?rev=1090944&view=rev
Log:
Fix unit test and implementation for date searches. See IMAP-293

Modified:
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
    
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java?rev=1090944&r1=1090943&r2=1090944&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
 Mon Apr 11 05:53:50 2011
@@ -186,7 +186,7 @@ public class SearchProcessor extends Abs
                 // Include the date which is used as search param. See IMAP-293
                 Criterion beforeC = 
SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE,
                         date.getDay(), date.getMonth(), date.getYear());
-                Criterion onC = 
SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE,
+                Criterion onC = 
SearchQuery.headerDateOn(ImapConstants.RFC822_DATE,
                         date.getDay(), date.getMonth(), date.getYear());
                 return SearchQuery.or(beforeC, onC);
 

Modified: 
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java?rev=1090944&r1=1090943&r2=1090944&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
 (original)
+++ 
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
 Mon Apr 11 05:53:50 2011
@@ -126,20 +126,6 @@ public class SearchProcessorTest {
         expectOk();
     }
 
-    @Test
-    public void testSequenceSetLowerUnlimited() throws Exception {
-        expectsGetSelectedMailbox();
-        final IdRange[] ids = { new IdRange(Long.MIN_VALUE, 1729) };
-        final SearchQuery.NumericRange[] ranges = { new 
SearchQuery.NumericRange(
-                Long.MAX_VALUE, 1729L) };
-        mockery.checking(new Expectations() {{
-            
oneOf(selectedMailbox).uid(with(equal(1729)));will(returnValue(1729L));
-        }});
-        allowUnsolicitedResponses();
-        
-        check(SearchKey.buildSequenceSet(ids), SearchQuery.uid(ranges));
-    }
-
     private void allowUnsolicitedResponses() {
         mockery.checking(new Expectations() {{
             atMost(1).of(session).getAttribute(
@@ -154,9 +140,11 @@ public class SearchProcessorTest {
         expectsGetSelectedMailbox();
         final IdRange[] ids = { new IdRange(1, Long.MAX_VALUE) };
         final SearchQuery.NumericRange[] ranges = { new 
SearchQuery.NumericRange(
-                42, Long.MAX_VALUE) };
+                42, 100L) };
         mockery.checking(new Expectations() {{
             oneOf(selectedMailbox).uid(with(equal(1)));will(returnValue(42L));
+            allowing(selectedMailbox).getFirstUid(); will(returnValue(1L));
+            allowing(selectedMailbox).getLastUid(); will(returnValue(100L));
 
         }});
         allowUnsolicitedResponses();
@@ -172,6 +160,8 @@ public class SearchProcessorTest {
         mockery.checking(new Expectations() {{
             oneOf(selectedMailbox).uid(with(equal(1)));will(returnValue(42L));
             
oneOf(selectedMailbox).uid(with(equal(5)));will(returnValue(1729L));
+            allowing(selectedMailbox).getFirstUid(); will(returnValue(1L));
+            allowing(selectedMailbox).getLastUid(); 
will(returnValue(Long.MAX_VALUE));
         }});
         allowUnsolicitedResponses();
         check(SearchKey.buildSequenceSet(ids), SearchQuery.uid(ranges));
@@ -354,8 +344,8 @@ public class SearchProcessorTest {
     @Test
     public void testSENTBEFORE() throws Exception {
         expectsGetSelectedMailbox();
-        check(SearchKey.buildSentBefore(DAY_MONTH_YEAR), SearchQuery
-                .headerDateBefore(ImapConstants.RFC822_DATE, DAY, MONTH, 
YEAR));
+        check(SearchKey.buildSentBefore(DAY_MONTH_YEAR), 
SearchQuery.or(SearchQuery.headerDateBefore(ImapConstants.RFC822_DATE, DAY, 
MONTH, YEAR), SearchQuery
+                .headerDateOn(ImapConstants.RFC822_DATE, DAY, MONTH, YEAR)));
     }
 
     @Test
@@ -367,8 +357,8 @@ public class SearchProcessorTest {
     @Test
     public void testSENTSINCE() throws Exception {
         expectsGetSelectedMailbox();
-        check(SearchKey.buildSentSince(DAY_MONTH_YEAR), SearchQuery
-                .headerDateAfter(ImapConstants.RFC822_DATE, DAY, MONTH, YEAR));
+        check(SearchKey.buildSentSince(DAY_MONTH_YEAR), 
SearchQuery.or(SearchQuery.headerDateOn(ImapConstants.RFC822_DATE, DAY, MONTH, 
YEAR), SearchQuery
+                .headerDateAfter(ImapConstants.RFC822_DATE, DAY, MONTH, 
YEAR)));
     }
 
     @Test
@@ -473,7 +463,7 @@ public class SearchProcessorTest {
                     with(equal(mailboxSession)));will(
                             returnValue(new ArrayList<Long>().iterator()));
             oneOf(responder).respond(with(equal(new SearchResponse(EMPTY))));
-            
+          
         }});
         SearchRequest message = new SearchRequest(command, key, false, TAG);
         processor.doProcess(message, session, TAG, command, responder);



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

Reply via email to