mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)
104819: Merged 5.0.N (5.0.2) to HEAD-BUG-FIX (5.1/Cloud) 104792: Merged DEV to 5.0.N (5.0.2) 104003 : MNT-12773: IMAP UID SEARCH <ARGS> not implemented. - Implemented imap methods git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@104877 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -22,8 +22,11 @@ import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@@ -33,7 +36,17 @@ import java.util.Properties;
|
||||
|
||||
import javax.mail.Flags;
|
||||
import javax.mail.Session;
|
||||
import javax.mail.internet.AddressException;
|
||||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
import javax.mail.search.AndTerm;
|
||||
import javax.mail.search.BodyTerm;
|
||||
import javax.mail.search.ComparisonTerm;
|
||||
import javax.mail.search.FromTerm;
|
||||
import javax.mail.search.ReceivedDateTerm;
|
||||
import javax.mail.search.SearchTerm;
|
||||
import javax.mail.search.SentDateTerm;
|
||||
import javax.mail.search.SubjectTerm;
|
||||
import javax.transaction.UserTransaction;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
@@ -1089,4 +1102,45 @@ public class ImapServiceImplTest extends TestCase
|
||||
List<NodeRef> nodeRefs = searchService.selectNodes(storeRootNodeRef, APP_COMPANY_HOME, null, namespaceService, false);
|
||||
return nodeRefs.get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* MNT-12773
|
||||
* @throws AddressException
|
||||
*/
|
||||
public void testSearchTerms() throws AddressException
|
||||
{
|
||||
List<AlfrescoImapFolder> mf = imapService.listMailboxes(user, IMAP_ROOT+"/"+TEST_IMAP_FOLDER_NAME+"/_*", false);
|
||||
ArrayList<Long> res = new ArrayList<Long>();
|
||||
SearchTerm st = null;
|
||||
|
||||
st = new SentDateTerm(ComparisonTerm.LT, new Date());
|
||||
extractSearchTermResultsToList(mf, st, res);
|
||||
assertEquals("Size of mails isn't correct. Search by sent date", 3, res.size());
|
||||
|
||||
res.clear();
|
||||
st = new SubjectTerm("For Test");
|
||||
extractSearchTermResultsToList(mf, st, res);
|
||||
assertEquals("Size of mails isn't correct. Search by subject", 1, res.size());
|
||||
|
||||
res.clear();
|
||||
st = new FromTerm(new InternetAddress("admin@alfresco.com"));
|
||||
extractSearchTermResultsToList(mf, st, res);
|
||||
assertEquals("Size of mails isn't correct. Search by \"From\" term", 1, res.size());
|
||||
|
||||
res.clear();
|
||||
st = new AndTerm(st, new SubjectTerm("For Test"));
|
||||
extractSearchTermResultsToList(mf, st, res);
|
||||
assertEquals("Size of mails isn't correct. Search by \"From\" and \"Subject\" terms", 1, res.size());
|
||||
}
|
||||
|
||||
private void extractSearchTermResultsToList(List<AlfrescoImapFolder> folders, SearchTerm searchTerm, ArrayList<Long> resList)
|
||||
{
|
||||
for (AlfrescoImapFolder folder : folders)
|
||||
{
|
||||
for (long l : folder.search(searchTerm))
|
||||
{
|
||||
resList.add(l);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user