private SearchTerm fromAndNotSeenTerm(Flags supportedFlags, Folder folder) { try { FromTerm fromTerm = new FromTerm(new InternetAddress("bar@baz")); return new AndTerm(fromTerm, new FlagTerm(new Flags(Flags.Flag.SEEN), false)); } catch (AddressException e) { throw new RuntimeException(e); } }
@Test public void testIdleWithServerCustomSearch() throws Exception { ImapMailReceiver receiver = new ImapMailReceiver("imap://user:pw@localhost:" + this.imapIdleServer.getPort() + "/INBOX"); receiver.setSearchTermStrategy((supportedFlags, folder) -> { try { FromTerm fromTerm = new FromTerm(new InternetAddress("bar@baz")); return new AndTerm(fromTerm, new FlagTerm(new Flags(Flag.SEEN), false)); } catch (AddressException e) { throw new RuntimeException(e); } }); testIdleWithServerGuts(receiver, false); }
@Override public SearchTerm build() { try { return new FromTerm(new InternetAddress(getParameters().get(0))); } catch (AddressException e) { throw new IllegalArgumentException("Address is not correct", e); } } };
private SearchTerm fromAndNotSeenTerm(Flags supportedFlags, Folder folder) { try { FromTerm fromTerm = new FromTerm(new InternetAddress("bar@baz")); return new AndTerm(fromTerm, new FlagTerm(new Flags(Flags.Flag.SEEN), false)); } catch (AddressException e) { throw new RuntimeException(e); } }
/** * 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()); }