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 8e6bcc412a74849e924e33f471f887d969d16459
Author: Rene Cordier <[email protected]>
AuthorDate: Mon Jun 22 11:13:19 2020 +0700

    JAMES-3262 Fix issue when I-KNOW-WHAT-I-M-DOING header is missing
    
    We should return 400 with a proper error message, and not 500
---
 .../webadmin/routes/SolveMailboxInconsistenciesRequestToTask.java    | 5 +++--
 .../routes/SolveMailboxInconsistenciesRequestToTaskTest.java         | 2 --
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git 
a/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTask.java
 
b/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTask.java
index 064dca5..1f4ec46 100644
--- 
a/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTask.java
+++ 
b/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTask.java
@@ -35,8 +35,9 @@ public class SolveMailboxInconsistenciesRequestToTask extends 
TaskFromRequestReg
     public 
SolveMailboxInconsistenciesRequestToTask(SolveMailboxInconsistenciesService 
service) {
         super(REGISTRATION_KEY,
             request -> {
-                
Preconditions.checkArgument(request.headers("I-KNOW-WHAT-I-M-DOING")
-                        .equalsIgnoreCase("ALL-SERVICES-ARE-OFFLINE"),
+                String header = request.headers("I-KNOW-WHAT-I-M-DOING");
+                Preconditions.checkArgument(header != null
+                        && header.equalsIgnoreCase("ALL-SERVICES-ARE-OFFLINE"),
                     "Due to concurrency risks, a `I-KNOW-WHAT-I-M-DOING` 
header should be positioned to " +
                         "`ALL-SERVICES-ARE-OFFLINE` in order to prevent 
accidental calls. " +
                         "Check the documentation for details.");
diff --git 
a/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTaskTest.java
 
b/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTaskTest.java
index 6cf9cee..73921d1 100644
--- 
a/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTaskTest.java
+++ 
b/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/SolveMailboxInconsistenciesRequestToTaskTest.java
@@ -42,7 +42,6 @@ import org.apache.james.webadmin.utils.JsonTransformer;
 import org.eclipse.jetty.http.HttpStatus;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
@@ -148,7 +147,6 @@ public class SolveMailboxInconsistenciesRequestToTaskTest {
     }
 
     @Test
-    @Disabled("JAMES-3262 : returns 500, should fix")
     void postShouldFailWhenIKnowWhatImDoingHeaderIsMissing() {
         given()
             .queryParam("action", "SolveInconsistencies")


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to