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 rc...@apache.org on 2020/06/05 03:26:00 UTC

[james-project] 03/05: JAMES-3198: Add detail message when error throw, add assert in test

This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 84c3b34b7fada5061e168aed0c0d0d13314a324c
Author: duc91 <du...@gmail.com>
AuthorDate: Mon Jun 1 11:30:05 2020 +0700

    JAMES-3198: Add detail message when error throw, add assert  in test
---
 .../james/webadmin/routes/UserMailboxesRoutes.java |  14 +-
 .../webadmin/service/UserMailboxesService.java     |   2 +-
 .../webadmin/routes/UserMailboxesRoutesTest.java   | 277 +++++++++++----------
 3 files changed, 150 insertions(+), 143 deletions(-)

diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java
index a18747d..781f6ed 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java
@@ -150,7 +150,7 @@ public class UserMailboxesRoutes implements Routes {
                 LOGGER.info("Invalid get on user mailboxes", e);
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.NOT_FOUND_404)
-                    .type(ErrorType.INVALID_ARGUMENT)
+                    .type(ErrorType.NOT_FOUND)
                     .message("Invalid get on user mailboxes")
                     .cause(e)
                     .haltError();
@@ -206,7 +206,7 @@ public class UserMailboxesRoutes implements Routes {
                 LOGGER.info("Invalid delete on user mailbox", e);
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.NOT_FOUND_404)
-                    .type(ErrorType.INVALID_ARGUMENT)
+                    .type(ErrorType.NOT_FOUND)
                     .message("Invalid delete on user mailboxes")
                     .cause(e)
                     .haltError();
@@ -250,7 +250,7 @@ public class UserMailboxesRoutes implements Routes {
                 LOGGER.info("Invalid delete on user mailboxes", e);
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.NOT_FOUND_404)
-                    .type(ErrorType.INVALID_ARGUMENT)
+                    .type(ErrorType.NOT_FOUND)
                     .message("Invalid delete on user mailboxes")
                     .cause(e)
                     .haltError();
@@ -280,15 +280,15 @@ public class UserMailboxesRoutes implements Routes {
                 } else {
                     throw ErrorResponder.builder()
                         .statusCode(HttpStatus.NOT_FOUND_404)
-                        .type(ErrorType.INVALID_ARGUMENT)
-                        .message("Invalid get on user mailboxes")
+                        .type(ErrorType.NOT_FOUND)
+                        .message("Mailbox does not exist")
                         .haltError();
                 }
             } catch (IllegalStateException e) {
                 LOGGER.info("Invalid get on user mailbox", e);
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.NOT_FOUND_404)
-                    .type(ErrorType.INVALID_ARGUMENT)
+                    .type(ErrorType.NOT_FOUND)
                     .message("Invalid get on user mailboxes")
                     .cause(e)
                     .haltError();
@@ -327,7 +327,7 @@ public class UserMailboxesRoutes implements Routes {
                 LOGGER.info("Invalid put on user mailbox", e);
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.NOT_FOUND_404)
-                    .type(ErrorType.INVALID_ARGUMENT)
+                    .type(ErrorType.NOT_FOUND)
                     .message("Invalid get on user mailboxes")
                     .cause(e)
                     .haltError();
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
index 8f4e8e7..8f78beb 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
@@ -121,7 +121,7 @@ public class UserMailboxesService {
     }
 
     private void usernamePreconditions(Username username) throws UsersRepositoryException {
-        Preconditions.checkState(usersRepository.contains(username));
+        Preconditions.checkState(usersRepository.contains(username), "User does not exist");
     }
 
     private Stream<MailboxMetaData> listUserMailboxes(MailboxSession mailboxSession) throws MailboxException {
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
index 35f8374..6d0e299 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
@@ -22,9 +22,15 @@ package org.apache.james.webadmin.routes;
 import static io.restassured.RestAssured.given;
 import static io.restassured.RestAssured.when;
 import static io.restassured.RestAssured.with;
+import static io.restassured.http.ContentType.JSON;
 import static org.apache.james.webadmin.Constants.SEPARATOR;
 import static org.apache.james.webadmin.routes.UserMailboxesRoutes.USERS_BASE;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.eclipse.jetty.http.HttpStatus.BAD_REQUEST_400;
+import static org.eclipse.jetty.http.HttpStatus.INTERNAL_SERVER_ERROR_500;
+import static org.eclipse.jetty.http.HttpStatus.NOT_FOUND_404;
+import static org.eclipse.jetty.http.HttpStatus.NO_CONTENT_204;
+import static org.eclipse.jetty.http.HttpStatus.OK_200;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
@@ -66,12 +72,10 @@ import org.apache.james.user.api.UsersRepository;
 import org.apache.james.webadmin.WebAdminServer;
 import org.apache.james.webadmin.WebAdminUtils;
 import org.apache.james.webadmin.service.UserMailboxesService;
-import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.mailbox.tools.indexer.ReIndexerImpl;
 import org.apache.mailbox.tools.indexer.ReIndexerPerformer;
 import org.apache.mailbox.tools.indexer.UserReindexingTask;
-import org.eclipse.jetty.http.HttpStatus;
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -84,7 +88,6 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 
 import io.restassured.RestAssured;
-import io.restassured.http.ContentType;
 import reactor.core.publisher.Mono;
 
 class UserMailboxesRoutesTest {
@@ -93,7 +96,8 @@ class UserMailboxesRoutesTest {
     private static final String MAILBOX_NAME_WITH_DOTS = "my..MailboxName";
     private static final String INVALID_MAILBOX_NAME = "myMailboxName#";
     private static final MailboxPath INBOX = MailboxPath.inbox(USERNAME);
-
+    private static final String ERROR_TYPE_NOTFOUND = "notFound";
+    
     private WebAdminServer webAdminServer;
     private UsersRepository usersRepository;
     private ListeningMessageSearchIndex searchIndex;
@@ -151,16 +155,16 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get()
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
                 .containsEntry("message", "Invalid get on user mailboxes");
         }
 
@@ -171,17 +175,18 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
-                .containsEntry("message", "Invalid get on user mailboxes");
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
+                .containsEntry("message", "Invalid get on user mailboxes")
+                .containsEntry("details", "User does not exist");
         }
 
         @Test
@@ -191,17 +196,18 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
-                .containsEntry("message", "Invalid get on user mailboxes");
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
+                .containsEntry("message", "Invalid get on user mailboxes")
+                .containsEntry("details", "User does not exist");
         }
 
         @Test
@@ -209,15 +215,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME_WITH_DOTS)
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox")
                 .containsEntry("details", "'#private:username:my..MailboxName' has an empty part within its mailbox name considering . as a delimiter");
@@ -228,15 +234,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(".startWithDot")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox")
                 .containsEntry("details", "'#private:username:.startWithDot' has an empty part within its mailbox name considering . as a delimiter");
@@ -247,15 +253,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put("endWithDot.")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox")
                 .containsEntry("details", "'#private:username:endWithDot.' has an empty part within its mailbox name considering . as a delimiter");
@@ -268,15 +274,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(INVALID_MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox")
                 .containsEntry("details", "#private:username:myMailboxName# contains one of the forbidden characters %*&#");
@@ -289,17 +295,18 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
-                .containsEntry("message", "Invalid get on user mailboxes");
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
+                .containsEntry("message", "Invalid get on user mailboxes")
+                .containsEntry("details", "User does not exist");
         }
 
         @Test
@@ -307,15 +314,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME + "*")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to test existence of an invalid mailbox")
                 .containsEntry("details", "#private:username:myMailboxName* contains one of the forbidden characters %*&#");
@@ -326,15 +333,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "*")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -344,15 +351,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "*")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -362,15 +369,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME + "%")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to test existence of an invalid mailbox")
                 .containsEntry("details", "#private:username:myMailboxName% contains one of the forbidden characters %*&#");
@@ -381,15 +388,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "%")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -399,15 +406,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "%")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -417,15 +424,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME + "#")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to test existence of an invalid mailbox")
                 .containsEntry("details", "#private:username:myMailboxName# contains one of the forbidden characters %*&#");
@@ -436,15 +443,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "#")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -454,15 +461,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "#")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -472,15 +479,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME + "&")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to test existence of an invalid mailbox")
                 .containsEntry("details", "#private:username:myMailboxName& contains one of the forbidden characters %*&#");
@@ -491,15 +498,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "&")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -509,15 +516,15 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .put(MAILBOX_NAME + "&")
             .then()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .contentType(ContentType.JSON)
+                .statusCode(BAD_REQUEST_400)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.BAD_REQUEST_400)
+                .containsEntry("statusCode", BAD_REQUEST_400)
                 .containsEntry("type", "InvalidArgument")
                 .containsEntry("message", "Attempt to create an invalid mailbox");
         }
@@ -529,16 +536,16 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
                 .containsEntry("message", "Invalid delete on user mailboxes");
         }
 
@@ -548,8 +555,8 @@ class UserMailboxesRoutesTest {
                 when()
                     .get()
                 .then()
-                    .statusCode(HttpStatus.OK_200)
-                    .contentType(ContentType.JSON)
+                    .statusCode(OK_200)
+                    .contentType(JSON)
                     .extract()
                     .body()
                     .jsonPath()
@@ -563,7 +570,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put()
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404);
+                .statusCode(NOT_FOUND_404);
         }
 
         @Test
@@ -571,7 +578,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(SEPARATOR)
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404);
+                .statusCode(NOT_FOUND_404);
         }
 
         @Test
@@ -579,7 +586,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -590,7 +597,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -601,7 +608,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get()
             .then()
-                .statusCode(HttpStatus.OK_200)
+                .statusCode(OK_200)
                 .body(".", hasSize(1))
                 .body("[0].mailboxName", is("myMailboxName"))
                 .body("[0].mailboxId", is("1"));
@@ -612,17 +619,17 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
-                .containsEntry("message", "Invalid get on user mailboxes");
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
+                .containsEntry("message", "Mailbox does not exist");
         }
 
         @Test
@@ -633,7 +640,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -641,7 +648,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -652,7 +659,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -666,17 +673,17 @@ class UserMailboxesRoutesTest {
             Map<String, Object> errors = when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NOT_FOUND_404)
-                .contentType(ContentType.JSON)
+                .statusCode(NOT_FOUND_404)
+                .contentType(JSON)
                 .extract()
                 .body()
                 .jsonPath()
                 .getMap(".");
 
             assertThat(errors)
-                .containsEntry("statusCode", HttpStatus.NOT_FOUND_404)
-                .containsEntry("type", "InvalidArgument")
-                .containsEntry("message", "Invalid get on user mailboxes");
+                .containsEntry("statusCode", NOT_FOUND_404)
+                .containsEntry("type", ERROR_TYPE_NOTFOUND)
+                .containsEntry("message", "Mailbox does not exist");
         }
 
         @Test
@@ -684,7 +691,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -695,7 +702,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
                 .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -713,8 +720,8 @@ class UserMailboxesRoutesTest {
                 when()
                     .get()
                 .then()
-                    .statusCode(HttpStatus.OK_200)
-                    .contentType(ContentType.JSON)
+                    .statusCode(OK_200)
+                    .contentType(JSON)
                     .extract()
                     .body()
                     .jsonPath()
@@ -734,7 +741,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -752,8 +759,8 @@ class UserMailboxesRoutesTest {
                 when()
                     .get()
                 .then()
-                    .statusCode(HttpStatus.OK_200)
-                    .contentType(ContentType.JSON)
+                    .statusCode(OK_200)
+                    .contentType(JSON)
                     .extract()
                     .body()
                     .jsonPath()
@@ -778,8 +785,8 @@ class UserMailboxesRoutesTest {
                 when()
                     .get()
                 .then()
-                    .statusCode(HttpStatus.OK_200)
-                    .contentType(ContentType.JSON)
+                    .statusCode(OK_200)
+                    .contentType(JSON)
                     .extract()
                     .body()
                     .jsonPath()
@@ -804,7 +811,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME + ".child")
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -822,8 +829,8 @@ class UserMailboxesRoutesTest {
                 when()
                     .get()
                 .then()
-                    .statusCode(HttpStatus.OK_200)
-                    .contentType(ContentType.JSON)
+                    .statusCode(OK_200)
+                    .contentType(JSON)
                     .extract()
                     .body()
                     .jsonPath()
@@ -857,7 +864,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -867,7 +874,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -877,7 +884,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -893,7 +900,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -903,7 +910,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -918,7 +925,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -928,7 +935,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -938,7 +945,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -948,7 +955,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -958,7 +965,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
 
@@ -974,7 +981,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -988,7 +995,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.NO_CONTENT_204);
+                .statusCode(NO_CONTENT_204);
         }
 
         @Test
@@ -1002,7 +1009,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1012,7 +1019,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1022,7 +1029,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1032,7 +1039,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1042,7 +1049,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1052,7 +1059,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1062,7 +1069,7 @@ class UserMailboxesRoutesTest {
             when()
                 .get(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1072,7 +1079,7 @@ class UserMailboxesRoutesTest {
             when()
                 .put(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1082,7 +1089,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete(MAILBOX_NAME)
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
         @Test
@@ -1092,7 +1099,7 @@ class UserMailboxesRoutesTest {
             when()
                 .delete()
             .then()
-                .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500);
+                .statusCode(INTERNAL_SERVER_ERROR_500);
         }
 
     }
@@ -1115,9 +1122,9 @@ class UserMailboxesRoutesTest {
                 when()
                     .post()
                 .then()
-                    .statusCode(HttpStatus.BAD_REQUEST_400)
+                    .statusCode(BAD_REQUEST_400)
                     .body("statusCode", Matchers.is(400))
-                    .body("type", Matchers.is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType()))
+                    .body("type", Matchers.is("InvalidArgument"))
                     .body("message", Matchers.is("Invalid arguments supplied in the user request"))
                     .body("details", Matchers.is("'task' query parameter is compulsory. Supported values are [reIndex]"));
             }
@@ -1129,9 +1136,9 @@ class UserMailboxesRoutesTest {
                 .when()
                     .post()
                 .then()
-                    .statusCode(HttpStatus.BAD_REQUEST_400)
+                    .statusCode(BAD_REQUEST_400)
                     .body("statusCode", Matchers.is(400))
-                    .body("type", Matchers.is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType()))
+                    .body("type", Matchers.is("InvalidArgument"))
                     .body("message", Matchers.is("Invalid arguments supplied in the user request"))
                     .body("details", Matchers.is("Invalid value supplied for query parameter 'task': bad. Supported values are [reIndex]"));
             }
@@ -1148,9 +1155,9 @@ class UserMailboxesRoutesTest {
                 .when()
                     .post()
                 .then()
-                    .statusCode(HttpStatus.BAD_REQUEST_400)
+                    .statusCode(BAD_REQUEST_400)
                     .body("statusCode", Matchers.is(400))
-                    .body("type", Matchers.is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType()))
+                    .body("type", Matchers.is("InvalidArgument"))
                     .body("message", Matchers.is("Invalid arguments supplied in the user request"))
                     .body("details", Matchers.is("The username should not contain multiple domain delimiter."));
             }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org