Author: matthieu
Date: Tue Jan 19 13:53:07 2016
New Revision: 1725521
URL: http://svn.apache.org/viewvc?rev=1725521&view=rev
Log:
JAMES-1659 Change default seperator to handle hyphens in username and
mailboxpath
Added:
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MessageIdTest.java
Modified:
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessageListMethodTest.java
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageId.java
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessagesRequestTest.java
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxMessageTest.java
Modified:
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessageListMethodTest.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessageListMethodTest.java?rev=1725521&r1=1725520&r2=1725521&view=diff
==============================================================================
---
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessageListMethodTest.java
(original)
+++
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessageListMethodTest.java
Tue Jan 19 13:53:07 2016
@@ -122,7 +122,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]",
"[email protected]");
+ .containsOnly("[email protected]|mailbox|1",
"[email protected]|mailbox|2");
}
@Ignore("ISSUE-53")
@@ -184,7 +184,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]");
+ .containsOnly("[email protected]|mailbox|1");
}
@Test
@@ -219,7 +219,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]");
+ .containsOnly("[email protected]|mailbox|1");
}
@Test
@@ -272,7 +272,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsExactly("[email protected]",
"[email protected]");
+ .containsExactly("[email protected]|mailbox|1",
"[email protected]|mailbox|2");
}
@Test
@@ -300,7 +300,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsExactly("[email protected]",
"[email protected]");
+ .containsExactly("[email protected]|mailbox|2",
"[email protected]|mailbox|1");
}
@Test
@@ -328,7 +328,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsExactly("[email protected]",
"[email protected]");
+ .containsExactly("[email protected]|mailbox|1",
"[email protected]|mailbox|2");
}
@Test
@@ -356,7 +356,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]",
"[email protected]");
+ .containsOnly("[email protected]|mailbox|1",
"[email protected]|mailbox|2");
}
@Test
@@ -384,7 +384,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]");
+ .containsOnly("[email protected]|mailbox|2");
}
@Test
@@ -412,7 +412,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]",
"[email protected]");
+ .containsOnly("[email protected]|mailbox|1",
"[email protected]|mailbox|2");
}
@Test
@@ -440,7 +440,7 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]");
+ .containsOnly("[email protected]|mailbox|1");
}
@Test
@@ -472,6 +472,6 @@ public abstract class GetMessageListMeth
.asString();
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].messageIds"))
- .containsOnly("[email protected]",
"[email protected]", "[email protected]");
+ .containsOnly("[email protected]|mailbox|1",
"[email protected]|mailbox|2", "[email protected]|mailbox|3");
}
}
Modified:
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java?rev=1725521&r1=1725520&r2=1725521&view=diff
==============================================================================
---
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
(original)
+++
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
Tue Jan 19 13:53:07 2016
@@ -161,7 +161,7 @@ public abstract class GetMessagesMethodT
.accept(ContentType.JSON)
.contentType(ContentType.JSON)
.header("Authorization", accessToken.serialize())
- .body("[[\"getMessages\", {\"ids\": [\"username-inbox-12\"]},
\"#0\"]]")
+ .body("[[\"getMessages\", {\"ids\": [\"username|inbox|12\"]},
\"#0\"]]")
.when()
.post("/jmap")
.then()
@@ -171,7 +171,7 @@ public abstract class GetMessagesMethodT
.asString();
assertThat(JsonPath.parse(response).<Integer>read("$.length()")).isEqualTo(1);
-
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].notFound")).containsExactly("username-inbox-12");
+
assertThat(JsonPath.parse(response).<List<String>>read("$.[0].[1].notFound")).containsExactly("username|inbox|12");
}
@Test
@@ -186,7 +186,7 @@ public abstract class GetMessagesMethodT
.accept(ContentType.JSON)
.contentType(ContentType.JSON)
.header("Authorization", accessToken.serialize())
- .body("[[\"getMessages\", {\"ids\": [\"username-inbox-1\"]},
\"#0\"]]")
+ .body("[[\"getMessages\", {\"ids\": [\"username|inbox|1\"]},
\"#0\"]]")
.when()
.post("/jmap")
.then()
@@ -200,7 +200,7 @@ public abstract class GetMessagesMethodT
assertThat(JsonPath.parse(response).<Integer>read("$.length()")).isEqualTo(1);
assertThat(JsonPath.parse(response).<Integer>read(firstResponsePath +
".list.length()")).isEqualTo(1);
- assertThat(JsonPath.parse(response).<String>read(firstMessagePath +
".id")).isEqualTo("[email protected]");
+ assertThat(JsonPath.parse(response).<String>read(firstMessagePath +
".id")).isEqualTo("[email protected]|inbox|1");
assertThat(JsonPath.parse(response).<String>read(firstMessagePath +
".subject")).isEqualTo("my test subject");
assertThat(JsonPath.parse(response).<String>read(firstMessagePath +
".textBody")).isEqualTo("testmail");
assertThat(JsonPath.parse(response).<Boolean>read(firstMessagePath +
".isUnread")).isTrue();
@@ -221,7 +221,7 @@ public abstract class GetMessagesMethodT
.accept(ContentType.JSON)
.contentType(ContentType.JSON)
.header("Authorization", accessToken.serialize())
- .body("[[\"getMessages\", {\"ids\": [\"username-inbox-1\"],
\"properties\": [\"id\", \"subject\"]}, \"#0\"]]")
+ .body("[[\"getMessages\", {\"ids\": [\"username|inbox|1\"],
\"properties\": [\"id\", \"subject\"]}, \"#0\"]]")
.when()
.post("/jmap")
.then()
@@ -235,7 +235,7 @@ public abstract class GetMessagesMethodT
assertThat(jsonPath.parse(response).<Integer>read("$.length()")).isEqualTo(1);
assertThat(jsonPath.parse(response).<Integer>read(firstResponsePath +
".list.length()")).isEqualTo(1);
- assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".id")).isEqualTo("[email protected]");
+ assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".id")).isEqualTo("[email protected]|inbox|1");
assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".subject")).isEqualTo("my test subject");
assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".textBody")).isNull();
assertThat(jsonPath.parse(response).<Boolean>read(firstMessagePath +
".isUnread")).isNull();
@@ -261,7 +261,7 @@ public abstract class GetMessagesMethodT
.accept(ContentType.JSON)
.contentType(ContentType.JSON)
.header("Authorization", accessToken.serialize())
- .body("[[\"getMessages\", {\"ids\": [\"username-inbox-1\"],
\"properties\": [\"headers.from\", \"headers.heADER2\"]}, \"#0\"]]")
+ .body("[[\"getMessages\", {\"ids\": [\"username|inbox|1\"],
\"properties\": [\"headers.from\", \"headers.heADER2\"]}, \"#0\"]]")
.when()
.post("/jmap")
.then()
@@ -275,7 +275,7 @@ public abstract class GetMessagesMethodT
assertThat(jsonPath.parse(response).<Integer>read("$.length()")).isEqualTo(1);
assertThat(jsonPath.parse(response).<Integer>read(firstResponsePath +
".list.length()")).isEqualTo(1);
- assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".id")).isEqualTo("[email protected]");
+ assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".id")).isEqualTo("[email protected]|inbox|1");
assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".subject")).isNull();
assertThat(jsonPath.parse(response).<String>read(firstMessagePath +
".textBody")).isNull();
assertThat(jsonPath.parse(response).<Boolean>read(firstMessagePath +
".isUnread")).isNull();
Modified:
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageId.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageId.java?rev=1725521&r1=1725520&r2=1725521&view=diff
==============================================================================
---
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageId.java
(original)
+++
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageId.java
Tue Jan 19 13:53:07 2016
@@ -27,12 +27,13 @@ import org.javatuples.Triplet;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
public class MessageId {
- private static final String SEPARATOR = "-";
+ private static final String SEPARATOR = "|";
@JsonCreator
public static MessageId of(String id) {
@@ -50,7 +51,8 @@ public class MessageId {
this.uid = uid;
}
- private MessageId(String username, String mailboxPath, long uid) {
+ @VisibleForTesting
+ MessageId(String username, String mailboxPath, long uid) {
this.username = username;
this.mailboxPath = mailboxPath;
this.uid = uid;
Modified:
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessagesRequestTest.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessagesRequestTest.java?rev=1725521&r1=1725520&r2=1725521&view=diff
==============================================================================
---
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessagesRequestTest.java
(original)
+++
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessagesRequestTest.java
Tue Jan 19 13:53:07 2016
@@ -29,7 +29,7 @@ public class GetMessagesRequestTest {
@Test
public void shouldAllowOptionalAccountId() {
- GetMessagesRequest result =
GetMessagesRequest.builder().ids(MessageId.of("user-inbox-1")).properties(MessageProperty.id).build();
+ GetMessagesRequest result =
GetMessagesRequest.builder().ids(MessageId.of("user|inbox|1")).properties(MessageProperty.id).build();
assertThat(result).isNotNull();
assertThat(result.getAccountId()).isEmpty();
}
Modified:
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxMessageTest.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxMessageTest.java?rev=1725521&r1=1725520&r2=1725521&view=diff
==============================================================================
---
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxMessageTest.java
(original)
+++
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxMessageTest.java
Tue Jan 19 13:53:07 2016
@@ -54,76 +54,76 @@ public class MailboxMessageTest {
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenBlobIdIsNull() {
- Message.builder().id(MessageId.of("user-box-1")).build();
+ Message.builder().id(MessageId.of("user|box|1")).build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenBlobIdIsEmpty() {
- Message.builder().id(MessageId.of("user-box-1")).blobId("").build();
+ Message.builder().id(MessageId.of("user|box|1")).blobId("").build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenThreadIdIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").build();
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenThreadIdIsEmpty() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("").build();
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("").build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenMailboxIdsIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").build();
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenHeadersIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).build();
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenSubjectIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of()).build();
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of()).build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenSubjectIsEmpty() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
.subject("").build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenSizeIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
.subject("subject").build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenDateIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
.subject("subject").size(123).build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenPreviewIsNull() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
.subject("subject").size(123).date(ZonedDateTime.now()).build();
}
@Test(expected=IllegalStateException.class)
public void buildShouldThrowWhenPreviewIsEmpty() {
-
Message.builder().id(MessageId.of("user-box-1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
+
Message.builder().id(MessageId.of("user|box|1")).blobId("blobId").threadId("threadId").mailboxIds(ImmutableList.of()).headers(ImmutableMap.of())
.subject("subject").size(123).date(ZonedDateTime.now()).preview("").build();
}
@Test
public void buildShouldWorkWhenMandatoryFieldsArePresent() {
ZonedDateTime currentDate = ZonedDateTime.now();
- Message expected = new Message(MessageId.of("user-box-1"), "blobId",
"threadId", ImmutableList.of("mailboxId"), Optional.empty(), false, false,
false, false, false, ImmutableMap.of("key", "value"), Optional.empty(),
+ Message expected = new Message(MessageId.of("user|box|1"), "blobId",
"threadId", ImmutableList.of("mailboxId"), Optional.empty(), false, false,
false, false, false, ImmutableMap.of("key", "value"), Optional.empty(),
ImmutableList.of(), ImmutableList.of(), ImmutableList.of(),
ImmutableList.of(), "subject", currentDate, 123, "preview", Optional.empty(),
Optional.empty(), ImmutableList.of(), ImmutableMap.of());
Message tested = Message.builder()
- .id(MessageId.of("user-box-1"))
+ .id(MessageId.of("user|box|1"))
.blobId("blobId")
.threadId("threadId")
.mailboxIds(ImmutableList.of("mailboxId"))
@@ -147,7 +147,7 @@ public class MailboxMessageTest {
.build();
ImmutableMap<String, SubMessage> attachedMessages =
ImmutableMap.of("differentBlobId", simpleMessage);
Message.builder()
- .id(MessageId.of("user-box-1"))
+ .id(MessageId.of("user|box|1"))
.blobId("blobId")
.threadId("threadId")
.mailboxIds(ImmutableList.of("mailboxId"))
@@ -178,7 +178,7 @@ public class MailboxMessageTest {
.build();
ImmutableMap<String, SubMessage> attachedMessages =
ImmutableMap.of("blobId", simpleMessage);
Message expected = new Message(
- MessageId.of("user-box-1"),
+ MessageId.of("user|box|1"),
"blobId",
"threadId",
ImmutableList.of("mailboxId"),
@@ -203,7 +203,7 @@ public class MailboxMessageTest {
attachments,
attachedMessages);
Message tested = Message.builder()
- .id(MessageId.of("user-box-1"))
+ .id(MessageId.of("user|box|1"))
.blobId("blobId")
.threadId("threadId")
.mailboxIds(ImmutableList.of("mailboxId"))
@@ -243,9 +243,9 @@ public class MailboxMessageTest {
MAILBOX_ID);
testMail.setModSeq(MOD_SEQ);
- Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user-box-" + x));
+ Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user|box|" + x));
Message expected = Message.builder()
- .id(MessageId.of("user-box-0"))
+ .id(MessageId.of("user|box|0"))
.blobId("0")
.threadId("0")
.mailboxIds(ImmutableList.of(MAILBOX_ID.serialize()))
@@ -274,9 +274,9 @@ public class MailboxMessageTest {
MAILBOX_ID);
testMail.setModSeq(MOD_SEQ);
- Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user-box-" + x));
+ Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user|box|" + x));
Message expected = Message.builder()
- .id(MessageId.of("user-box-0"))
+ .id(MessageId.of("user|box|0"))
.blobId("0")
.threadId("0")
.mailboxIds(ImmutableList.of(MAILBOX_ID.serialize()))
@@ -329,9 +329,9 @@ public class MailboxMessageTest {
.put("in-reply-to",
"<[email protected]>")
.put("other-header", "other header value")
.build();
- Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user-box-" + x));
+ Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user|box|" + x));
Message expected = Message.builder()
- .id(MessageId.of("user-box-0"))
+ .id(MessageId.of("user|box|0"))
.blobId("0")
.threadId("0")
.mailboxIds(ImmutableList.of(MAILBOX_ID.serialize()))
@@ -365,9 +365,9 @@ public class MailboxMessageTest {
MAILBOX_ID);
testMail.setModSeq(MOD_SEQ);
- Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user-box-" + x));
+ Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user|box|" + x));
Message expected = Message.builder()
- .id(MessageId.of("user-box-0"))
+ .id(MessageId.of("user|box|0"))
.blobId("0")
.threadId("0")
.mailboxIds(ImmutableList.of(MAILBOX_ID.serialize()))
@@ -425,9 +425,9 @@ public class MailboxMessageTest {
MAILBOX_ID);
testMail.setModSeq(MOD_SEQ);
- Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user-box-" + x));
+ Message testee = Message.fromMailboxMessage(testMail, x ->
MessageId.of("user|box|" + x));
Message expected = Message.builder()
- .id(MessageId.of("user-box-0"))
+ .id(MessageId.of("user|box|0"))
.blobId("0")
.threadId("0")
.mailboxIds(ImmutableList.of(MAILBOX_ID.serialize()))
@@ -453,6 +453,6 @@ public class MailboxMessageTest {
MAILBOX_ID);
testMail.setModSeq(MOD_SEQ);
- Message.fromMailboxMessage(testMail, x -> MessageId.of("user-box-" +
x));
+ Message.fromMailboxMessage(testMail, x -> MessageId.of("user|box|" +
x));
}
}
Added:
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MessageIdTest.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MessageIdTest.java?rev=1725521&view=auto
==============================================================================
---
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MessageIdTest.java
(added)
+++
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MessageIdTest.java
Tue Jan 19 13:53:07 2016
@@ -0,0 +1,86 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.jmap.model;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+
+public class MessageIdTest {
+ @Test(expected=NullPointerException.class)
+ public void ofShouldThrowWhenNull() {
+ String messageId = null;
+ MessageId.of(messageId);
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void ofShouldThrowWhenEmpty() {
+ String messageId = "";
+ MessageId.of(messageId);
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void ofShouldThrowWhenTwoPartsMissing() {
+ String messageId = "username";
+ MessageId.of(messageId);
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void ofShouldThrowWhenOnePartMissing() {
+ String messageId = "username|mailboxpath";
+ MessageId.of(messageId);
+ }
+
+ @Test(expected=NumberFormatException.class)
+ public void ofShouldWorkWhenThirdPartIsNotANumber() {
+ String messageId = "username|mailboxpath|thirdPart";
+ MessageId.of(messageId);
+ }
+
+ @Test
+ public void ofShouldWorkWhenMessageIdIsWellFormated() {
+ String messageId = "username|mailboxpath|321";
+ MessageId expected = new MessageId("username", "mailboxpath", 321);
+
+ MessageId actual = MessageId.of(messageId);
+
+ assertThat(actual).isEqualTo(expected);
+ }
+
+ @Test
+ public void ofShouldWorkWhenOnePartContainsAHyphen() {
+ String messageId = "user-name|mailboxpath|321";
+ MessageId expected = new MessageId("user-name", "mailboxpath", 321);
+
+ MessageId actual = MessageId.of(messageId);
+
+ assertThat(actual).isEqualTo(expected);
+ }
+
+ @Test
+ public void ofShouldWorkWhenSecondPartContainsAHyphen() {
+ String messageId = "username|mailbox-path|321";
+ MessageId expected = new MessageId("username", "mailbox-path", 321);
+
+ MessageId actual = MessageId.of(messageId);
+
+ assertThat(actual).isEqualTo(expected);
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]