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]