use of com.zimbra.client.ZSearchParams in project zm-mailbox by Zimbra.
the class TestSearchJunkTrash method testTrash.
@Test
public void testTrash() throws ServiceException {
ZSearchParams params = new ZSearchParams(String.format("(in:trash) (inid:%s OR is:local)", folder.getId()));
ZSearchResult results = mbox.search(params);
assertEquals(1, results.getHits().size());
}
use of com.zimbra.client.ZSearchParams in project zm-mailbox by Zimbra.
the class TestAccessKeyGrant method disable_testKeyGrant.
public void disable_testKeyGrant() throws Exception {
ZMailbox mbox = getZMailboxByKey();
// ZFolder folder = mbox.getFolderByPath(FOLDER_PATH);
StringBuffer query = new StringBuffer();
query.append("(inid:");
// query.append(folder.getId());
query.append("10");
query.append(")");
ZSearchParams sp = new ZSearchParams(query.toString());
sp.setTypes(ZSearchParams.TYPE_APPOINTMENT);
mbox.search(sp);
}
use of com.zimbra.client.ZSearchParams in project zm-mailbox by Zimbra.
the class TestLongSearchResultSets method testMessages.
@Test
public void testMessages() {
try {
Mailbox recieverMbox = TestUtil.getMailbox(RECIPIENT);
long timestamp = System.currentTimeMillis() - 3600 * 60 * 1000;
int numMessages = 2257;
int firstLimit = 100;
int incLimit = 50;
int offset = 0;
ArrayList<String> expectedIds = new ArrayList<String>();
for (int i = 0; i < numMessages; i++) {
Message msg = TestUtil.addMessage(recieverMbox, TestUtil.getAddress(RECIPIENT), TestUtil.getAddress(SENDER), NAME_PREFIX + " testing bug " + i, String.format("this message contains a search string %s which we are searching for and a number %d and timestamp %d", SEARCH_STRING, i, timestamp), timestamp);
expectedIds.add(Integer.toString(msg.getId()));
timestamp += 1000;
Thread.sleep(100);
}
Collections.reverse(expectedIds);
Thread.sleep(100);
ZMailbox zmbx = TestUtil.getZMailbox(RECIPIENT);
ZSearchParams searchParams = new ZSearchParams("in:inbox " + SEARCH_STRING);
searchParams.setSortBy(SearchSortBy.dateDesc);
searchParams.setLimit(firstLimit);
searchParams.setTypes(ZSearchParams.TYPE_MESSAGE);
List<String> msgIds = TestUtil.searchMessageIds(zmbx, searchParams);
assertEquals(firstLimit, msgIds.size());
int gotMessages = msgIds.size();
List<String> seenIds = new ArrayList<String>();
seenIds.addAll(msgIds);
int recCount = 1;
offset += firstLimit;
while (gotMessages > 0) {
searchParams = new ZSearchParams("in:inbox " + SEARCH_STRING);
searchParams.setSortBy(SearchSortBy.dateDesc);
searchParams.setLimit(incLimit);
searchParams.setTypes(ZSearchParams.TYPE_MESSAGE);
searchParams.setOffset(offset);
msgIds = TestUtil.searchMessageIds(zmbx, searchParams);
recCount++;
gotMessages = msgIds.size();
int resCount = 0;
for (String szId : msgIds) {
assertFalse(String.format("Request %d, result %d, encountered duplicate ID %s. Previously seen at %d", recCount, resCount, szId, seenIds.indexOf(szId)), seenIds.contains(szId));
seenIds.add(szId);
resCount++;
}
//jetty sometimes crashes on Mac when bombarded with request without a timeout
Thread.sleep(100);
offset += incLimit;
}
for (int i = 0; i < expectedIds.size(); i++) {
assertEquals("IDs at index " + i + " do not match", expectedIds.get(i), seenIds.get(i));
}
assertEquals("Returned incorrect number of messages", numMessages, seenIds.size());
} catch (ServiceException e) {
e.printStackTrace();
fail(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
}
}
use of com.zimbra.client.ZSearchParams in project zm-mailbox by Zimbra.
the class TestLongSearchResultSets method testConversations2.
@Test
public void testConversations2() {
try {
Mailbox recieverMbox = TestUtil.getMailbox(RECIPIENT2);
long timestamp = System.currentTimeMillis() - 3600 * 60 * 1000;
int numMessages = 3207;
int firstLimit = 100;
int incLimit = 50;
int offset = 0;
ArrayList<String> expectedIds = new ArrayList<String>();
for (int i = 0; i < numMessages; i++) {
Message msg = TestUtil.addMessage(recieverMbox, TestUtil.getAddress(RECIPIENT2), TestUtil.getAddress(SENDER), NAME_PREFIX + " testing bug " + i, String.format("this message contains a search string %s which we are searching for and a number %d and timestamp %d", SEARCH_STRING, i, timestamp), timestamp);
expectedIds.add(Integer.toString(msg.getId()));
timestamp += 1000;
Thread.sleep(100);
}
Collections.reverse(expectedIds);
Thread.sleep(100);
ZMailbox zmbx = TestUtil.getZMailbox(RECIPIENT2);
ZSearchParams searchParams = new ZSearchParams("in:inbox " + SEARCH_STRING);
searchParams.setSortBy(SearchSortBy.dateDesc);
searchParams.setLimit(firstLimit);
searchParams.setTypes(ZSearchParams.TYPE_CONVERSATION);
List<String> msgIds = TestUtil.searchMessageIds(zmbx, searchParams);
assertEquals(firstLimit, msgIds.size());
int gotMessages = msgIds.size();
List<String> seenIds = new ArrayList<String>();
seenIds.addAll(msgIds);
int recCount = 1;
offset += firstLimit;
while (gotMessages > 0) {
searchParams = new ZSearchParams("in:inbox " + SEARCH_STRING);
searchParams.setSortBy(SearchSortBy.dateDesc);
searchParams.setLimit(incLimit);
searchParams.setTypes(ZSearchParams.TYPE_CONVERSATION);
searchParams.setOffset(offset);
msgIds = TestUtil.searchMessageIds(zmbx, searchParams);
recCount++;
gotMessages = msgIds.size();
int resCount = 0;
for (String szId : msgIds) {
assertFalse(String.format("Request %d, result %d, encountered duplicate ID %s. Previously seen at %d", recCount, resCount, szId, seenIds.indexOf(szId)), seenIds.contains(szId));
seenIds.add(szId);
resCount++;
}
//jetty sometimes crashes on Mac when bombarded with request without a timeout
Thread.sleep(100);
offset += incLimit;
}
assertEquals("Returned incorrect number of conversations", numMessages, seenIds.size());
} catch (ServiceException e) {
e.printStackTrace();
fail(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
}
}
use of com.zimbra.client.ZSearchParams in project zm-mailbox by Zimbra.
the class TestMinusOperator method testExcludeRecipient.
@Test
public void testExcludeRecipient() throws ServiceException {
ZSearchResult search1 = mbox.search(new ZSearchParams("in:sent to:" + REMOTE_USER_NAME));
assertEquals(search1.getHits().size(), 1);
ZSearchResult search2 = mbox.search(new ZSearchParams("in:sent -to:" + REMOTE_USER_NAME));
assertEquals(search2.getHits().size(), 0);
}
Aggregations