Repository: james-project Updated Branches: refs/heads/master 344251c5f -> 213965f40
JAMES-2363 Demonstrate that memory implementation behaves incorrectly regarding mimie message ids Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f03eece3 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f03eece3 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f03eece3 Branch: refs/heads/master Commit: f03eece3cb77eda980e6b64508606496743d1e6e Parents: 5240e58 Author: Raphael Ouazana <[email protected]> Authored: Thu Mar 22 18:11:44 2018 +0100 Committer: benwa <[email protected]> Committed: Thu Mar 29 11:56:10 2018 +0700 ---------------------------------------------------------------------- .../integration/SetMessagesMethodTest.java | 53 ++++++++++++++++++++ .../memory/MemorySetMessagesMethodTest.java | 9 ++++ 2 files changed, 62 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/f03eece3/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java index 0575403..b3c52b5 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java @@ -5793,4 +5793,57 @@ public abstract class SetMessagesMethodTest { .body(ARGUMENTS + ".list[0].isDraft", equalTo(false)) .body(ARGUMENTS + ".list[0].isForwarded", equalTo(true)); } + + @Test + public void mimeMessageIdShouldBePreservedWhenSending() { + String messageCreationId = "creationId1337"; + String requestBody = "[" + + " [" + + " \"setMessages\"," + + " {" + + " \"create\": { \"" + messageCreationId + "\" : {" + + " \"from\": { \"name\": \"Bob\", \"email\": \"" + BOB + "\"}," + + " \"to\": [{ \"name\": \"Me\", \"email\": \"" + USERNAME + "\"}]," + + " \"subject\": \"Hi!\"," + + " \"textBody\": \"How are you?\"," + + " \"mailboxIds\": [\"" + getOutboxId(bobAccessToken) + "\"]" + + " }}" + + " }," + + " \"#0\"" + + " ]" + + "]"; + + String creationMimeMessageId = given() + .header("Authorization", bobAccessToken.serialize()) + .body(requestBody) + .when() + .post("/jmap") + .then() + .extract() + .body() + .path(ARGUMENTS + ".created." + messageCreationId + ".headers['Message-ID']"); + + calmlyAwait.atMost(30, TimeUnit.SECONDS).until(() -> isAnyMessageFoundInInbox(accessToken)); + + String jmapMessageId = with() + .header("Authorization", accessToken.serialize()) + .body("[[\"getMessageList\", {}, \"#0\"]]") + .when() + .post("/jmap") + .then() + .extract() + .path(ARGUMENTS + ".messageIds[0]"); + + String receivedMimeMessageId = with() + .header("Authorization", accessToken.serialize()) + .body("[[\"getMessages\", {\"ids\": [\"" + jmapMessageId + "\"]}, \"#0\"]]") + .when() + .post("/jmap") + .then() + .extract() + .path(ARGUMENTS + ".list[0].headers['Message-ID']"); + + assertThat(receivedMimeMessageId).isEqualTo(creationMimeMessageId); + } + } http://git-wip-us.apache.org/repos/asf/james-project/blob/f03eece3/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java index bb337e8..61c14b7 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java @@ -26,7 +26,9 @@ import org.apache.james.MemoryJmapTestRule; import org.apache.james.jmap.methods.integration.SetMessagesMethodTest; import org.apache.james.mailbox.inmemory.InMemoryMessageId; import org.apache.james.mailbox.model.MessageId; +import org.junit.Ignore; import org.junit.Rule; +import org.junit.Test; public class MemorySetMessagesMethodTest extends SetMessagesMethodTest { @@ -48,4 +50,11 @@ public class MemorySetMessagesMethodTest extends SetMessagesMethodTest { protected MessageId randomMessageId() { return new InMemoryMessageId.Factory().fromString(String.valueOf(random.nextInt(100000) + 100)); } + + @Ignore("JAMES-2363 Bug: memory implementation should preserver mime message ids") + @Override + @Test + public void mimeMessageIdShouldBePreservedWhenSending() { + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
