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 bt...@apache.org on 2019/11/05 09:02:17 UTC
[james-project] 02/05: JAMES-2954 Correct error root cause in
WebAdmin's addresses groups error messages
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit c133ac9a7be33ce988592fcfc0bd81dbf60823f3
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Thu Oct 31 14:35:57 2019 +0100
JAMES-2954 Correct error root cause in WebAdmin's addresses groups error messages
---
.../org/apache/james/webadmin/routes/GroupsRoutes.java | 17 +++++++++--------
.../apache/james/webadmin/routes/GroupsRoutesTest.java | 4 ++--
2 files changed, 11 insertions(+), 10 deletions(-)
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 756bd2c..646d1bf 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
@@ -80,7 +80,8 @@ public class GroupsRoutes implements Routes {
private static final String USER_IN_GROUP_ADDRESS_PATH = GROUP_ADDRESS_PATH + SEPARATOR + ":" + USER_ADDRESS;
private static final String MAILADDRESS_ASCII_DISCLAIMER = "Note that email addresses are restricted to ASCII character set. " +
"Mail addresses not matching this criteria will be rejected.";
- private static final String ADDRESS_TYPE = "group";
+ private static final String GROUP_ADDRESS_TYPE = "group";
+ private static final String USER_ADDRESS_TYPE = "group member";
private final UsersRepository usersRepository;
private final JsonTransformer jsonTransformer;
@@ -136,17 +137,17 @@ public class GroupsRoutes implements Routes {
})
@ApiResponses(value = {
@ApiResponse(code = HttpStatus.NO_CONTENT_204, message = "OK", response = List.class),
- @ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = GROUP_ADDRESS + " or group structure format is not valid"),
+ @ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = GROUP_ADDRESS + " or " + USER_ADDRESS + " format is not valid"),
@ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = "Domain in the source is not managed by the DomainList"),
@ApiResponse(code = HttpStatus.CONFLICT_409, message = "requested group address is already used for another purpose"),
@ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500,
message = "Internal server error - Something went bad on the server side.")
})
public HaltException addToGroup(Request request, Response response) throws RecipientRewriteTableException, UsersRepositoryException, DomainListException {
- MailAddress groupAddress = MailAddressParser.parseMailAddress(request.params(GROUP_ADDRESS), ADDRESS_TYPE);
+ MailAddress groupAddress = MailAddressParser.parseMailAddress(request.params(GROUP_ADDRESS), GROUP_ADDRESS_TYPE);
Domain domain = groupAddress.getDomain();
ensureNotShadowingAnotherAddress(groupAddress);
- MailAddress userAddress = MailAddressParser.parseMailAddress(request.params(USER_ADDRESS), ADDRESS_TYPE);
+ MailAddress userAddress = MailAddressParser.parseMailAddress(request.params(USER_ADDRESS), USER_ADDRESS_TYPE);
MappingSource source = MappingSource.fromUser(User.fromLocalPartWithDomain(groupAddress.getLocalPart(), domain));
addGroupMember(source, userAddress);
return halt(HttpStatus.NO_CONTENT_204);
@@ -187,13 +188,13 @@ public class GroupsRoutes implements Routes {
@ApiResponses(value = {
@ApiResponse(code = HttpStatus.OK_200, message = "OK", response = List.class),
@ApiResponse(code = HttpStatus.BAD_REQUEST_400,
- message = GROUP_ADDRESS + " or group structure format is not valid"),
+ message = GROUP_ADDRESS + " or " + USER_ADDRESS + " format is not valid"),
@ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500,
message = "Internal server error - Something went bad on the server side.")
})
public HaltException removeFromGroup(Request request, Response response) throws RecipientRewriteTableException {
- MailAddress groupAddress = MailAddressParser.parseMailAddress(request.params(GROUP_ADDRESS), ADDRESS_TYPE);
- MailAddress userAddress = MailAddressParser.parseMailAddress(request.params(USER_ADDRESS), ADDRESS_TYPE);
+ MailAddress groupAddress = MailAddressParser.parseMailAddress(request.params(GROUP_ADDRESS), GROUP_ADDRESS_TYPE);
+ MailAddress userAddress = MailAddressParser.parseMailAddress(request.params(USER_ADDRESS), USER_ADDRESS_TYPE);
MappingSource source = MappingSource
.fromUser(
User.fromLocalPartWithDomain(groupAddress.getLocalPart(), groupAddress.getDomain()));
@@ -215,7 +216,7 @@ public class GroupsRoutes implements Routes {
message = "Internal server error - Something went bad on the server side.")
})
public ImmutableSortedSet<String> listGroupMembers(Request request, Response response) throws RecipientRewriteTableException {
- MailAddress groupAddress = MailAddressParser.parseMailAddress(request.params(GROUP_ADDRESS), ADDRESS_TYPE);
+ MailAddress groupAddress = MailAddressParser.parseMailAddress(request.params(GROUP_ADDRESS), GROUP_ADDRESS_TYPE);
Mappings mappings = recipientRewriteTable.getStoredMappings(MappingSource.fromMailAddress(groupAddress))
.select(Mapping.Type.Group);
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 af8092a..77627fd 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
@@ -540,7 +540,7 @@ class GroupsRoutesTest {
assertThat(errors)
.containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
.containsEntry("type", "InvalidArgument")
- .containsEntry("message", "The group is not an email address")
+ .containsEntry("message", "The group member is not an email address")
.containsEntry("details", "Out of data at position 1 in 'not-an-address'");
}
@@ -587,7 +587,7 @@ class GroupsRoutesTest {
assertThat(errors)
.containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
.containsEntry("type", "InvalidArgument")
- .containsEntry("message", "The group is not an email address")
+ .containsEntry("message", "The group member is not an email address")
.containsEntry("details", "Out of data at position 1 in 'not-an-address'");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org