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

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

commit 24e68333b4e4d90648ea184bc8aff79b1a2a8e33
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Wed Jun 10 13:37:46 2020 +0700

    JAMES-3201 Add missign tests for ReIndexing tasks mailboxFailures
---
 .../james/webadmin/routes/MailboxesRoutesTest.java | 81 ++++++++++++++++++++++
 .../webadmin/routes/UserMailboxesRoutesTest.java   | 25 +++++++
 2 files changed, 106 insertions(+)

diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
index dfb5867..e9ce823 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
@@ -63,6 +63,7 @@ import 
org.apache.mailbox.tools.indexer.SingleMailboxReindexingTask;
 import org.apache.mailbox.tools.indexer.SingleMessageReindexingTask;
 import 
org.apache.mailbox.tools.indexer.SingleMessageReindexingTaskAdditionalInformationDTO;
 import org.eclipse.jetty.http.HttpStatus;
+import org.hamcrest.Matchers;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
@@ -246,6 +247,30 @@ class MailboxesRoutesTest {
                     .body("startedDate", is(notNullValue()))
                     .body("submitDate", is(notNullValue()));
             }
+
+            @Test
+            void 
userReprocessingShouldReturnTaskDetailsWhenFailingAtTheMailboxLevel() throws 
Exception {
+                MailboxSession systemSession = 
mailboxManager.createSystemSession(USERNAME);
+                MailboxId mailboxId = mailboxManager.createMailbox(INBOX, 
systemSession).get();
+
+                doReturn(Mono.error(new RuntimeException()))
+                    .when(searchIndex)
+                    .deleteAll(any(MailboxSession.class), 
any(MailboxId.class));
+
+                String taskId = with()
+                    .post("/mailboxes?task=reIndex")
+                    .jsonPath()
+                    .get("taskId");
+
+                given()
+                    .basePath(TasksRoutes.BASE)
+                .when()
+                    .get(taskId + "/await")
+                .then()
+                    .body("status", Matchers.is("failed"))
+                    .body("taskId", Matchers.is(notNullValue()))
+                    .body("additionalInformation.mailboxFailures", 
Matchers.containsInAnyOrder(mailboxId.serialize()));
+            }
         }
 
         @Nested
@@ -435,6 +460,31 @@ class MailboxesRoutesTest {
                     .body("startedDate", is(notNullValue()))
                     .body("submitDate", is(notNullValue()));
             }
+
+            @Test
+            void 
userReprocessingShouldReturnTaskDetailsWhenFailingAtTheMailboxLevel() throws 
Exception {
+                MailboxSession systemSession = 
mailboxManager.createSystemSession(USERNAME);
+                MailboxId mailboxId = mailboxManager.createMailbox(INBOX, 
systemSession).get();
+
+                doReturn(Mono.error(new RuntimeException()))
+                    .when(searchIndex)
+                    .deleteAll(any(MailboxSession.class), 
any(MailboxId.class));
+
+                String taskId = with()
+                    .queryParam("task", "reIndex")
+                    .post("/mailboxes/" + mailboxId.serialize())
+                    .jsonPath()
+                    .get("taskId");
+
+                given()
+                    .basePath(TasksRoutes.BASE)
+                .when()
+                    .get(taskId + "/await")
+                .then()
+                    .body("status", Matchers.is("failed"))
+                    .body("taskId", Matchers.is(notNullValue()))
+                    .body("additionalInformation.mailboxFailures", 
Matchers.containsInAnyOrder(mailboxId.serialize()));
+            }
         }
 
         @Nested
@@ -831,6 +881,37 @@ class MailboxesRoutesTest {
                     .body("startedDate", is(notNullValue()))
                     .body("submitDate", is(notNullValue()));
             }
+
+            @Test
+            void 
userReprocessingShouldReturnTaskDetailsWhenFailingAtTheMailboxLevel() throws 
Exception {
+                MailboxSession systemSession = 
mailboxManager.createSystemSession(USERNAME);
+                MailboxId mailboxId = mailboxManager.createMailbox(INBOX, 
systemSession).get();
+
+                doReturn(Mono.error(new RuntimeException()))
+                    .when(searchIndex)
+                    .deleteAll(any(MailboxSession.class), 
any(MailboxId.class));
+
+                String taskId = with()
+                    .post("/mailboxes?task=reIndex")
+                    .jsonPath()
+                    .get("taskId");
+
+                String fixingTaskId = with()
+                    .queryParam("reIndexFailedMessagesOf", taskId)
+                    .queryParam("task", "reIndex")
+                    .post("/mailboxes")
+                    .jsonPath()
+                    .get("taskId");
+
+                given()
+                    .basePath(TasksRoutes.BASE)
+                .when()
+                    .get(fixingTaskId + "/await")
+                .then()
+                    .body("status", Matchers.is("failed"))
+                    .body("taskId", Matchers.is(notNullValue()))
+                    .body("additionalInformation.mailboxFailures", 
Matchers.containsInAnyOrder(mailboxId.serialize()));
+            }
         }
 
         @Nested
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 2818968..2e8068d 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
@@ -1259,6 +1259,31 @@ class UserMailboxesRoutesTest {
                     .body("startedDate", Matchers.is(notNullValue()))
                     .body("submitDate", Matchers.is(notNullValue()));
             }
+
+            @Test
+            void 
userReprocessingShouldReturnTaskDetailsWhenFailingAtTheMailboxLevel() throws 
Exception {
+                MailboxSession systemSession = 
mailboxManager.createSystemSession(USERNAME);
+                MailboxId mailboxId = mailboxManager.createMailbox(INBOX, 
systemSession).get();
+
+                doReturn(Mono.error(new RuntimeException()))
+                    .when(searchIndex)
+                    .deleteAll(any(MailboxSession.class), 
any(MailboxId.class));
+
+                String taskId = with()
+                    .queryParam("task", "reIndex")
+                    .post()
+                    .jsonPath()
+                    .get("taskId");
+
+                given()
+                    .basePath(TasksRoutes.BASE)
+                .when()
+                    .get(taskId + "/await")
+                .then()
+                    .body("status", Matchers.is("failed"))
+                    .body("taskId", Matchers.is(notNullValue()))
+                    .body("additionalInformation.mailboxFailures", 
Matchers.containsInAnyOrder(mailboxId.serialize()));
+            }
         }
 
         @Nested


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

Reply via email to