Search in sources :

Example 11 with Literal

use of com.zimbra.cs.mailclient.imap.Literal in project zm-mailbox by Zimbra.

the class TestImap method testAppendTagsDirty.

@Test
public void testAppendTagsDirty() throws Exception {
    Flags flags = Flags.fromSpec("afs");
    //new tag; does not exist in mbox
    final String tag1 = "NEWDIRTYTAG";
    MailboxInfo info = connection.select("INBOX");
    assertFalse("INBOX contains unexpected flag " + tag1, info.getFlags().isSet(tag1));
    flags.set(tag1);
    Date date = new Date(System.currentTimeMillis());
    Literal msg = message(10);
    try {
        ImapRequest req = connection.newRequest("APPEND", "INBOX", flags, date, msg);
        req.setResponseHandler(new ResponseHandler() {

            @Override
            public void handleResponse(ImapResponse res) throws Exception {
                if (res.isUntagged() && res.getCCode() == CAtom.FLAGS) {
                    Flags flags = (Flags) res.getData();
                    assertTrue(flags.isSet(tag1));
                }
            }
        });
        req.sendCheckStatus();
    } finally {
        msg.dispose();
    }
}
Also used : ResponseHandler(com.zimbra.cs.mailclient.imap.ResponseHandler) Literal(com.zimbra.cs.mailclient.imap.Literal) ImapRequest(com.zimbra.cs.mailclient.imap.ImapRequest) MailboxInfo(com.zimbra.cs.mailclient.imap.MailboxInfo) ImapResponse(com.zimbra.cs.mailclient.imap.ImapResponse) Flags(com.zimbra.cs.mailclient.imap.Flags) Date(java.sql.Date) ServiceException(com.zimbra.common.service.ServiceException) CommandFailedException(com.zimbra.cs.mailclient.CommandFailedException) IOException(java.io.IOException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) Test(org.junit.Test)

Example 12 with Literal

use of com.zimbra.cs.mailclient.imap.Literal in project zm-mailbox by Zimbra.

the class TestImapThrottle method sort.

@Test
public void sort() throws IOException {
    Flags flags = Flags.fromSpec("afs");
    for (int i = 0; i < 3; i++) {
        Date date = new Date(System.currentTimeMillis());
        Literal msg = message(1000 + i * 1000);
        try {
            connection.append("INBOX", flags, date, msg);
        } finally {
            msg.dispose();
        }
    }
    for (int i = 0; i < LOOP_LIMIT; i++) {
        connection.newRequest("SORT (DATE REVERSE SUBJECT) UTF-8 ALL").sendCheckStatus();
    }
    try {
        connection.newRequest("SORT (DATE REVERSE SUBJECT) UTF-8 ALL").sendCheckStatus();
        Assert.fail("should have been rejected");
    } catch (CommandFailedException e) {
        Assert.assertTrue(connection.isClosed());
    }
}
Also used : Literal(com.zimbra.cs.mailclient.imap.Literal) Flags(com.zimbra.cs.mailclient.imap.Flags) Date(java.sql.Date) CommandFailedException(com.zimbra.cs.mailclient.CommandFailedException) Test(org.junit.Test)

Example 13 with Literal

use of com.zimbra.cs.mailclient.imap.Literal in project zm-mailbox by Zimbra.

the class TestImapThrottle method copy.

@Test
public void copy() throws IOException {
    Flags flags = Flags.fromSpec("afs");
    for (int i = 0; i < 3; i++) {
        Date date = new Date(System.currentTimeMillis());
        Literal msg = message(1000 + i * 1000);
        try {
            connection.append("INBOX", flags, date, msg);
        } finally {
            msg.dispose();
        }
    }
    connection.create("FOO");
    for (int i = 0; i < LOOP_LIMIT; i++) {
        connection.copy("1:3", "FOO");
    }
    try {
        connection.copy("1:3", "FOO");
        Assert.fail("should have been rejected");
    } catch (CommandFailedException e) {
        Assert.assertTrue(connection.isClosed());
    }
}
Also used : Literal(com.zimbra.cs.mailclient.imap.Literal) Flags(com.zimbra.cs.mailclient.imap.Flags) Date(java.sql.Date) CommandFailedException(com.zimbra.cs.mailclient.CommandFailedException) Test(org.junit.Test)

Example 14 with Literal

use of com.zimbra.cs.mailclient.imap.Literal in project zm-mailbox by Zimbra.

the class TestImapThrottle method message.

private static Literal message(int size) throws IOException {
    File file = File.createTempFile("msg", null);
    file.deleteOnExit();
    FileWriter out = new FileWriter(file);
    try {
        out.write(simpleMessage("test message"));
        for (int i = 0; i < size; i++) {
            out.write('X');
            if (i % 72 == 0) {
                out.write("\r\n");
            }
        }
    } finally {
        out.close();
    }
    return new Literal(file, true);
}
Also used : FileWriter(java.io.FileWriter) Literal(com.zimbra.cs.mailclient.imap.Literal) File(java.io.File)

Example 15 with Literal

use of com.zimbra.cs.mailclient.imap.Literal in project zm-mailbox by Zimbra.

the class TestImapThrottle method search.

@Test
public void search() throws IOException {
    Flags flags = Flags.fromSpec("afs");
    for (int i = 0; i < 3; i++) {
        Date date = new Date(System.currentTimeMillis());
        Literal msg = message(1000 + i * 1000);
        try {
            connection.append("INBOX", flags, date, msg);
        } finally {
            msg.dispose();
        }
    }
    for (int i = 0; i < LOOP_LIMIT; i++) {
        connection.search((Object[]) new String[] { "TEXT", "\"XXXXX\"" });
    }
    try {
        connection.search((Object[]) new String[] { "TEXT", "\"XXXXX\"" });
        Assert.fail("should have been rejected");
    } catch (CommandFailedException e) {
        Assert.assertTrue(connection.isClosed());
    }
}
Also used : Literal(com.zimbra.cs.mailclient.imap.Literal) Flags(com.zimbra.cs.mailclient.imap.Flags) Date(java.sql.Date) CommandFailedException(com.zimbra.cs.mailclient.CommandFailedException) Test(org.junit.Test)

Aggregations

Literal (com.zimbra.cs.mailclient.imap.Literal)17 Flags (com.zimbra.cs.mailclient.imap.Flags)12 Test (org.junit.Test)12 Date (java.sql.Date)11 CommandFailedException (com.zimbra.cs.mailclient.CommandFailedException)9 AppendResult (com.zimbra.cs.mailclient.imap.AppendResult)6 MailboxInfo (com.zimbra.cs.mailclient.imap.MailboxInfo)4 File (java.io.File)3 ServiceException (com.zimbra.common.service.ServiceException)2 MessageData (com.zimbra.cs.mailclient.imap.MessageData)2 FileWriter (java.io.FileWriter)2 IOException (java.io.IOException)2 Date (java.util.Date)2 MessagingException (javax.mail.MessagingException)2 ZFolder (com.zimbra.client.ZFolder)1 ZMailbox (com.zimbra.client.ZMailbox)1 ZTag (com.zimbra.client.ZTag)1 ZSharedFileInputStream (com.zimbra.common.zmime.ZSharedFileInputStream)1 MailException (com.zimbra.cs.mailclient.MailException)1 Body (com.zimbra.cs.mailclient.imap.Body)1