You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/11/21 16:40:50 UTC
[1/7] james-project git commit: Remove unused imports
Repository: james-project
Updated Branches:
refs/heads/master 84c5a6b90 -> 4faefa448
Remove unused imports
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/fd6d9474
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/fd6d9474
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/fd6d9474
Branch: refs/heads/master
Commit: fd6d9474e72a92464c0afdf96f76c14fb336dff1
Parents: 9ba015d
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Mon Nov 20 10:31:49 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Mon Nov 20 10:31:49 2017 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/james/mailbox/MailboxListener.java | 1 -
.../java/org/apache/james/mailbox/store/event/EventFactory.java | 2 --
.../apache/james/mailbox/store/event/MailboxEventDispatcher.java | 1 -
.../james/mailbox/store/mail/model/MailboxMapperACLTest.java | 3 ---
.../src/test/java/org/apache/james/server/core/MailImplTest.java | 1 -
5 files changed, 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/fd6d9474/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
index ef8c8cc..4a8f07c 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
@@ -23,7 +23,6 @@ import java.io.Serializable;
import java.util.List;
import org.apache.james.mailbox.acl.ACLDiff;
-import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.UpdatedFlags;
http://git-wip-us.apache.org/repos/asf/james-project/blob/fd6d9474/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
index beb9fa8..b7cb1a2 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
@@ -21,14 +21,12 @@ package org.apache.james.mailbox.store.event;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.SortedMap;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.acl.ACLDiff;
-import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.UpdatedFlags;
http://git-wip-us.apache.org/repos/asf/james-project/blob/fd6d9474/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
index 8fcb5ab..2fea2f8 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
@@ -29,7 +29,6 @@ import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.acl.ACLDiff;
-import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.UpdatedFlags;
http://git-wip-us.apache.org/repos/asf/james-project/blob/fd6d9474/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java
index 2232a7d..abf3e12 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java
@@ -20,10 +20,7 @@
package org.apache.james.mailbox.store.mail.model;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-
import org.apache.james.mailbox.acl.ACLDiff;
-import org.apache.james.mailbox.acl.MailboxACLResolver;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxACL;
import org.apache.james.mailbox.model.MailboxACL.EntryKey;
http://git-wip-us.apache.org/repos/asf/james-project/blob/fd6d9474/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java b/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
index 49ce62a..8ecfcad 100644
--- a/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
+++ b/server/container/core/src/test/java/org/apache/james/server/core/MailImplTest.java
@@ -36,7 +36,6 @@ import org.apache.james.core.MailAddress;
import org.apache.mailet.Mail;
import org.apache.mailet.base.test.MailUtil;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import com.github.fge.lambdas.Throwing;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[4/7] james-project git commit: JAMES-2225 URL encoded params should
be decoded in group API
Posted by ad...@apache.org.
JAMES-2225 URL encoded params should be decoded in group API
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/cd57213c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/cd57213c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/cd57213c
Branch: refs/heads/master
Commit: cd57213c0b09ed0e940c6b3b2e59221249151255
Parents: 66295df
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Mon Nov 20 15:02:55 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Mon Nov 20 15:04:55 2017 +0100
----------------------------------------------------------------------
.../transport/mailets/GroupMappingTest.java | 20 ++++++++++++++++++++
.../james/webadmin/routes/GroupsRoutes.java | 13 ++++++++++++-
2 files changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/cd57213c/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
index cc25fb4..4ad8447 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
@@ -434,6 +434,26 @@ public class GroupMappingTest {
}
@Test
+ public void messageShouldRedirectToGroupContainingSlash() throws Exception {
+ String groupWithSlash = "a/a@" + DOMAIN1;
+ String groupWithEncodedSlash = "a%2Fa@" + DOMAIN1;
+ restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + groupWithEncodedSlash + "/" + USER_DOMAIN1);
+
+ Mail mail = FakeMail.builder()
+ .mimeMessage(message)
+ .sender(new MailAddress(SENDER))
+ .recipient(new MailAddress(groupWithSlash))
+ .build();
+
+ try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, SMTP_PORT, DOMAIN1);
+ IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) {
+ messageSender.sendMessage(mail);
+ calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent);
+ calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(USER_DOMAIN1, PASSWORD));
+ }
+ }
+
+ @Test
public void sendMessageShouldSendAMessageToAnExternalGroupMember() throws Exception {
String externalMail = "ray@yopmail.com";
restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + externalMail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/cd57213c/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
index f47fda1..25ada76 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
@@ -22,6 +22,8 @@ package org.apache.james.webadmin.routes;
import static org.apache.james.webadmin.Constants.SEPARATOR;
import static spark.Spark.halt;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -50,6 +52,8 @@ import org.apache.james.webadmin.Routes;
import org.apache.james.webadmin.utils.JsonExtractException;
import org.apache.james.webadmin.utils.JsonTransformer;
import org.eclipse.jetty.http.HttpStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.github.steveash.guavate.Guavate;
import com.google.common.annotations.VisibleForTesting;
@@ -72,6 +76,9 @@ import spark.Service;
public class GroupsRoutes implements Routes {
public static final String ROOT_PATH = "address/groups";
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(GroupsRoutes.class);
+
private static final String GROUP_ADDRESS = "groupAddress";
private static final String GROUP_ADDRESS_PATH = ROOT_PATH + SEPARATOR + ":" + GROUP_ADDRESS;
private static final String USER_ADDRESS = "userAddress";
@@ -200,9 +207,13 @@ public class GroupsRoutes implements Routes {
private MailAddress parseMailAddress(String address) {
try {
- return new MailAddress(address);
+ String decodedAddress = URLDecoder.decode(address, "UTF-8");
+ return new MailAddress(decodedAddress);
} catch (AddressException e) {
throw halt(HttpStatus.BAD_REQUEST_400);
+ } catch (UnsupportedEncodingException e) {
+ LOGGER.error("UTF-8 should be a valid encoding");
+ throw halt(HttpStatus.INTERNAL_SERVER_ERROR_500);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[6/7] james-project git commit: JAMES-2225 Encoding @ should also
work for users or groups
Posted by ad...@apache.org.
JAMES-2225 Encoding @ should also work for users or groups
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d209b9e3
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d209b9e3
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d209b9e3
Branch: refs/heads/master
Commit: d209b9e357cbe521ab500173cac8e49e163e966b
Parents: a34af4b
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Tue Nov 21 14:41:27 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Tue Nov 21 14:41:48 2017 +0100
----------------------------------------------------------------------
.../transport/mailets/GroupMappingTest.java | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/d209b9e3/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
index bc2d539..d025a16 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
@@ -475,6 +475,26 @@ public class GroupMappingTest {
}
@Test
+ public void messageShouldRedirectToUserWhenEncodingAt() throws Exception {
+ String userWithEncodedAt = "user%40" + DOMAIN1;
+ String groupWithEncodedAt = "group%40" + DOMAIN1;
+ restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + groupWithEncodedAt + "/" + userWithEncodedAt);
+
+ Mail mail = FakeMail.builder()
+ .mimeMessage(message)
+ .sender(new MailAddress(SENDER))
+ .recipient(new MailAddress(GROUP_ON_DOMAIN1))
+ .build();
+
+ try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, SMTP_PORT, DOMAIN1);
+ IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) {
+ messageSender.sendMessage(mail);
+ calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent);
+ calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(USER_DOMAIN1, PASSWORD));
+ }
+ }
+
+ @Test
public void sendMessageShouldSendAMessageToAnExternalGroupMember() throws Exception {
String externalMail = "ray@yopmail.com";
restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + externalMail);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/7] james-project git commit: JAMES-2225 Rename working test
Posted by ad...@apache.org.
JAMES-2225 Rename working test
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5ae8fa2d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5ae8fa2d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5ae8fa2d
Branch: refs/heads/master
Commit: 5ae8fa2dd1d80d95a198a2c87823a11e60799cff
Parents: fd6d947
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Mon Nov 20 14:25:03 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Mon Nov 20 15:04:24 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/james/transport/mailets/GroupMappingTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/5ae8fa2d/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
index 8e773ae..cc25fb4 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
@@ -434,7 +434,7 @@ public class GroupMappingTest {
}
@Test
- public void externalGroupMemberAreNotSupported() throws Exception {
+ public void sendMessageShouldSendAMessageToAnExternalGroupMember() throws Exception {
String externalMail = "ray@yopmail.com";
restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + externalMail);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[7/7] james-project git commit: Merge remote-tracking branch
'rouazana/JAMES-2225'
Posted by ad...@apache.org.
Merge remote-tracking branch 'rouazana/JAMES-2225'
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4faefa44
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4faefa44
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4faefa44
Branch: refs/heads/master
Commit: 4faefa448f03fe7a097f7da56172ef290801e2cb
Parents: 84c5a6b d209b9e
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Nov 21 17:40:35 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Nov 21 17:40:35 2017 +0100
----------------------------------------------------------------------
.../apache/james/mailbox/MailboxListener.java | 1 -
.../james/mailbox/store/event/EventFactory.java | 2 -
.../store/event/MailboxEventDispatcher.java | 1 -
.../store/mail/model/MailboxMapperACLTest.java | 3 -
.../apache/james/server/core/MailImplTest.java | 1 -
.../transport/mailets/GroupMappingTest.java | 63 ++++++++++++++++-
.../james/webadmin/routes/GroupsRoutes.java | 13 +++-
.../james/webadmin/routes/GroupsRoutesTest.java | 72 ++++++++++++++++++++
8 files changed, 146 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[3/7] james-project git commit: JAMES-2225 Encoded slashes should be
allowed in group API
Posted by ad...@apache.org.
JAMES-2225 Encoded slashes should be allowed in group API
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/66295df5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/66295df5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/66295df5
Branch: refs/heads/master
Commit: 66295df5ce845ff5da2facac315ccda8ed296c26
Parents: 5ae8fa2
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Mon Nov 20 10:53:21 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Mon Nov 20 15:04:30 2017 +0100
----------------------------------------------------------------------
.../james/webadmin/routes/GroupsRoutesTest.java | 36 ++++++++++++++++++++
1 file changed, 36 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/66295df5/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
index 9cda34c..26c8ebc 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
@@ -67,6 +67,8 @@ public class GroupsRoutesTest {
private static final String DOMAIN = "b.com";
private static final String GROUP1 = "group1" + "@" + DOMAIN;
private static final String GROUP2 = "group2" + "@" + DOMAIN;
+ private static final String GROUP_WITH_SLASH = "group10/10" + "@" + DOMAIN;
+ private static final String GROUP_WITH_ENCODED_SLASH = "group10%2F10" + "@" + DOMAIN;
private static final String USER_A = "a" + "@" + DOMAIN;
private static final String USER_B = "b" + "@" + DOMAIN;
@@ -177,6 +179,32 @@ public class GroupsRoutesTest {
}
@Test
+ public void putUserInGroupWithEncodedSlashShouldReturnCreated() {
+ when()
+ .put(GROUP_WITH_ENCODED_SLASH + SEPARATOR + USER_A)
+ .then()
+ .statusCode(HttpStatus.CREATED_201);
+ }
+
+ @Test
+ public void putUserInGroupWithEncodedSlashShouldCreateGroup() {
+ when()
+ .put(GROUP_WITH_ENCODED_SLASH + SEPARATOR + USER_A);
+
+ List<String> addresses =
+ when()
+ .get(GROUP_WITH_ENCODED_SLASH)
+ .then()
+ .contentType(ContentType.JSON)
+ .statusCode(HttpStatus.OK_200)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+ assertThat(addresses).containsExactly(USER_A);
+ }
+
+ @Test
public void putSameUserInGroupTwiceShouldBeIdempotent() {
given()
.put(GROUP1 + SEPARATOR + USER_A);
@@ -329,6 +357,14 @@ public class GroupsRoutesTest {
}
@Test
+ public void putUserInGroupWithSlashShouldReturnNotFound() {
+ when()
+ .put(GROUP_WITH_SLASH + SEPARATOR + USER_A)
+ .then()
+ .statusCode(HttpStatus.NOT_FOUND_404);
+ }
+
+ @Test
public void putMalformedAddressShouldReturnBadRequest() {
when()
.put(GROUP1 + SEPARATOR + "not-an-address")
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[5/7] james-project git commit: JAMES-2225 URL decoding should also
work for users
Posted by ad...@apache.org.
JAMES-2225 URL decoding should also work for users
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a34af4b8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a34af4b8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a34af4b8
Branch: refs/heads/master
Commit: a34af4b8a0599a5473c89484ed9e68e98dab6017
Parents: cd57213
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Mon Nov 20 15:13:43 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Mon Nov 20 15:57:48 2017 +0100
----------------------------------------------------------------------
.../transport/mailets/GroupMappingTest.java | 21 ++++++++++++
.../james/webadmin/routes/GroupsRoutesTest.java | 36 ++++++++++++++++++++
2 files changed, 57 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/a34af4b8/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
index 4ad8447..bc2d539 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java
@@ -454,6 +454,27 @@ public class GroupMappingTest {
}
@Test
+ public void messageShouldRedirectToUserContainingSlash() throws Exception {
+ String userWithSlash = "a/a@" + DOMAIN1;
+ dataProbe.addUser(userWithSlash, PASSWORD);
+ String userWithEncodedSlash = "a%2Fa@" + DOMAIN1;
+ restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + userWithEncodedSlash);
+
+ Mail mail = FakeMail.builder()
+ .mimeMessage(message)
+ .sender(new MailAddress(SENDER))
+ .recipient(new MailAddress(GROUP_ON_DOMAIN1))
+ .build();
+
+ try (SMTPMessageSender messageSender = SMTPMessageSender.noAuthentication(LOCALHOST_IP, SMTP_PORT, DOMAIN1);
+ IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) {
+ messageSender.sendMessage(mail);
+ calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent);
+ calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(userWithSlash, PASSWORD));
+ }
+ }
+
+ @Test
public void sendMessageShouldSendAMessageToAnExternalGroupMember() throws Exception {
String externalMail = "ray@yopmail.com";
restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + externalMail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/a34af4b8/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
index 26c8ebc..24ace5c 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
@@ -71,6 +71,8 @@ public class GroupsRoutesTest {
private static final String GROUP_WITH_ENCODED_SLASH = "group10%2F10" + "@" + DOMAIN;
private static final String USER_A = "a" + "@" + DOMAIN;
private static final String USER_B = "b" + "@" + DOMAIN;
+ private static final String USER_WITH_SLASH = "user/@" + DOMAIN;
+ private static final String USER_WITH_ENCODED_SLASH = "user%2F@" + DOMAIN;
private WebAdminServer webAdminServer;
@@ -161,6 +163,32 @@ public class GroupsRoutesTest {
}
@Test
+ public void putUserWithSlashInGroupShouldReturnCreated() {
+ when()
+ .put(GROUP1 + SEPARATOR + USER_WITH_ENCODED_SLASH)
+ .then()
+ .statusCode(HttpStatus.CREATED_201);
+ }
+
+ @Test
+ public void putUserWithSlashInGroupShouldCreateUser() {
+ when()
+ .put(GROUP1 + SEPARATOR + USER_WITH_ENCODED_SLASH);
+
+ List<String> addresses =
+ when()
+ .get(GROUP1)
+ .then()
+ .contentType(ContentType.JSON)
+ .statusCode(HttpStatus.OK_200)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+ assertThat(addresses).containsExactly(USER_WITH_SLASH);
+ }
+
+ @Test
public void putUserInGroupShouldCreateGroup() {
when()
.put(GROUP1 + SEPARATOR + USER_A);
@@ -365,6 +393,14 @@ public class GroupsRoutesTest {
}
@Test
+ public void putUserWithSlashInGroupShouldReturnNotFound() {
+ when()
+ .put(GROUP1 + SEPARATOR + USER_WITH_SLASH)
+ .then()
+ .statusCode(HttpStatus.NOT_FOUND_404);
+ }
+
+ @Test
public void putMalformedAddressShouldReturnBadRequest() {
when()
.put(GROUP1 + SEPARATOR + "not-an-address")
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org