public static String getDraftId(AccessToken accessToken) { return getMailboxId(accessToken, Role.DRAFTS); }
public static String getInboxId(AccessToken accessToken) { return getMailboxId(accessToken, Role.INBOX); }
public static String getOutboxId(AccessToken accessToken) { return getMailboxId(accessToken, Role.OUTBOX); }
private boolean isAnyMessageFoundInInbox(AccessToken recipientToken) { try { String inboxId = getMailboxId(recipientToken, Role.INBOX); with() .header("Authorization", recipientToken.serialize()) .body("[[\"getMessageList\", {\"filter\":{\"inMailboxes\":[\"" + inboxId + "\"]}}, \"#0\"]]") .when() .post("/jmap") .then() .statusCode(200) .body(NAME, equalTo("messageList")) .body(ARGUMENTS + ".messageIds", hasSize(1)); return true; } catch (AssertionError e) { return false; } }
await(); String senderDraftsMailboxId = getMailboxId(accessToken, Role.DRAFTS);
.statusCode(200); String outboxId = getMailboxId(accessToken, Role.OUTBOX); assertThat(hasNoMessageIn(bobAccessToken, outboxId)).isTrue();
private boolean hasANewMailWithBody(AccessToken recipientToken, String body) { try { String inboxId = getMailboxId(accessToken, Role.INBOX); String receivedMessageId = with() .header("Authorization", accessToken.serialize()) .body("[[\"getMessageList\", {\"filter\":{\"inMailboxes\":[\"" + inboxId + "\"]}}, \"#0\"]]") .post("/jmap") .then() .extract() .path(ARGUMENTS + ".messageIds[0]"); given() .header("Authorization", accessToken.serialize()) .body("[[\"getMessages\", {\"ids\": [\"" + receivedMessageId + "\"]}, \"#0\"]]") .when() .post("/jmap") .then() .statusCode(200) .body(NAME, equalTo("messages")) .body(ARGUMENTS + ".list", hasSize(1)) .body(ARGUMENTS + ".list[0].textBody", equalTo(body)); return true; } catch (AssertionError e) { return false; } }
@Test public void setMessagesShouldMoveMessageInSentWhenMessageIsSent() { String sentMailboxId = getMailboxId(accessToken, Role.SENT);
@Test public void setMessagesShouldMoveToSentWhenSendingMessageWithOnlyFromAddress() { String sentMailboxId = getMailboxId(accessToken, Role.SENT);
String firstAttachment = message + ".attachments[0]"; String inboxId = getMailboxId(accessToken, Role.INBOX); String receivedMessageId = with()
String inboxId = getMailboxId(accessToken, Role.INBOX); String receivedMessageId = with()
@Test public void setMessagesShouldKeepBccInSentMailbox() throws Exception { String sentMailboxId = getMailboxId(accessToken, Role.SENT);
String inboxId = getMailboxId(accessToken, Role.INBOX); String receivedMessageId = with()
@Test public void setMessagesShouldSetTheSeenKeywordOnMessageInSentMailbox() throws Exception { String sentMailboxId = getMailboxId(accessToken, Role.SENT);
.post("/jmap"); String sentMailboxId = getMailboxId(accessToken, Role.SENT);
@Test public void setMessagesShouldVerifyHeaderOfMessageInSent() throws Exception { String toUsername = "username1@" + DOMAIN; String password = "password"; dataProbe.addUser(toUsername, password); mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, toUsername, DefaultMailboxes.INBOX); String messageCreationId = "creationId1337"; String fromAddress = USERNAME; String requestBody = "[" + " [" + " \"setMessages\"," + " {" + " \"create\": { \"" + messageCreationId + "\" : {" + " \"from\": { \"name\": \"Me\", \"email\": \"" + fromAddress + "\"}," + " \"to\": [{ \"name\": \"BOB\", \"email\": \"" + toUsername + "\"}]," + " \"subject\": \"Thank you for joining example.com!\"," + " \"textBody\": \"Hello someone, and thank you for joining example.com!\"," + " \"mailboxIds\": [\"" + getOutboxId(accessToken) + "\"]" + " }}" + " }," + " \"#0\"" + " ]" + "]"; with() .header("Authorization", accessToken.serialize()) .body(requestBody) .post("/jmap"); String sentMailboxId = getMailboxId(accessToken, Role.SENT); calmlyAwait.atMost(60, TimeUnit.SECONDS).until(() -> messageInMailboxHasHeaders(sentMailboxId, buildExpectedHeaders())); }
String inboxId = getMailboxId(accessToken, Role.INBOX); String receivedMessageId = with()
String inboxMailboxId = getMailboxId(accessToken, Role.INBOX);
String inboxId = getMailboxId(accessToken, Role.INBOX); String receivedMessageId = with()
String fromAddress = USERNAME; String outboxId = getOutboxId(accessToken); String inboxId = getMailboxId(accessToken, Role.INBOX); String requestBody = "[" + " [" +