You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2023/08/26 05:51:42 UTC

[james-project] 07/07: JAMES-3936 Fix some failing tests

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 7280c3639900d0e0ce5eb395ee7c1e7f29fa97d0
Author: Quan Tran <hq...@linagora.com>
AuthorDate: Thu Aug 24 11:25:38 2023 +0700

    JAMES-3936 Fix some failing tests
    
    Rest assured client no longer encodes now, we need to encode ourselves some special characters.
---
 .../mailets/ToRepositoryIntegrationTest.java       |  1 +
 ...rTaskSerializationIntegrationImmutableTest.java |  1 +
 ...dminServerTaskSerializationIntegrationTest.java |  1 +
 .../org/apache/james/webadmin/WebAdminUtils.java   |  3 ++-
 .../webadmin/routes/SieveScriptRoutesTest.java     |  5 ++--
 .../james/webadmin/routes/UserRoutesTest.java      | 29 +++++++++++-----------
 .../webadmin/routes/UserMailboxesRoutesTest.java   | 16 ++++++------
 7 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ToRepositoryIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ToRepositoryIntegrationTest.java
index a7653f1286..2411ef085b 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ToRepositoryIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ToRepositoryIntegrationTest.java
@@ -88,6 +88,7 @@ class ToRepositoryIntegrationTest {
         webAdminAPI = WebAdminUtils.buildRequestSpecification(
             jamesServer.getProbe(WebAdminGuiceProbe.class)
                 .getWebAdminPort())
+            .setUrlEncodingEnabled(false) // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
             .build();
     }
 
diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationImmutableTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationImmutableTest.java
index dbcdaa1f64..ad1e468e52 100644
--- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationImmutableTest.java
+++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationImmutableTest.java
@@ -95,6 +95,7 @@ class RabbitMQWebAdminServerTaskSerializationIntegrationImmutableTest {
         WebAdminGuiceProbe webAdminGuiceProbe = guiceJamesServer.getProbe(WebAdminGuiceProbe.class);
 
         RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminGuiceProbe.getWebAdminPort())
+            .setUrlEncodingEnabled(false) // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
             .build();
         RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
     }
diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java
index e54a15d3da..5bc4b26532 100644
--- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java
@@ -130,6 +130,7 @@ class RabbitMQWebAdminServerTaskSerializationIntegrationTest {
         mailboxProbe = guiceJamesServer.getProbe(MailboxProbeImpl.class);
 
         RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminGuiceProbe.getWebAdminPort())
+            .setUrlEncodingEnabled(false) // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
             .build();
         RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
     }
diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java
index b36f4ff02d..166c2e760e 100644
--- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java
+++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java
@@ -111,6 +111,7 @@ public class WebAdminUtils {
     }
 
     public static RequestSpecification spec(Port port) {
-        return given().spec(buildRequestSpecification(port).build());
+        return given().spec(buildRequestSpecification(port).build())
+            .urlEncodingEnabled(false); // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
     }
 }
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java
index f103643d0b..4ca68e9418 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java
@@ -93,6 +93,7 @@ class SieveScriptRoutesTest {
 
         RestAssured.requestSpecification = WebAdminUtils
             .buildRequestSpecification(webAdminServer)
+            .setUrlEncodingEnabled(false) // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
             .build();
     }
 
@@ -123,7 +124,7 @@ class SieveScriptRoutesTest {
             "}";
         String body = given()
             .pathParam("userName", "userA")
-            .pathParam("scriptName", " ")
+            .pathParam("scriptName", "%20")
             .body(sieveContent)
         .when()
             .put("sieve/{userName}/scripts/{scriptName}")
@@ -144,7 +145,7 @@ class SieveScriptRoutesTest {
             " \"details\":null" +
             "}";
         String body = given()
-            .pathParam("userName", " ")
+            .pathParam("userName", "%20")
             .pathParam("scriptName", "scriptA")
             .body(sieveContent)
         .when()
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java
index ff66fd14db..0f5edfd3da 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java
@@ -31,6 +31,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
+import java.net.URLEncoder;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Stream;
@@ -176,6 +177,7 @@ class UserRoutesTest {
 
             RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(server)
                 .setBasePath(UserRoutes.USERS)
+                .setUrlEncodingEnabled(false) // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
                 .build();
 
             return server;
@@ -607,20 +609,19 @@ class UserRoutesTest {
 
             default Stream<Arguments> illegalCharacters() {
                 return Stream.of(
-                    Arguments.of("\""),
-                    Arguments.of("("),
-                    Arguments.of(")"),
-                    Arguments.of(","),
-                    Arguments.of(":"),
-                    Arguments.of(";"),
-                    Arguments.of("<"),
-                    Arguments.of(">"),
-                    Arguments.of("@"),
-                    Arguments.of("["),
-                    Arguments.of("\\"),
-                    Arguments.of("]"),
-                    Arguments.of(" ")
-                );
+                    Arguments.of(URLEncoder.encode("\"")),
+                    Arguments.of(URLEncoder.encode("(")),
+                    Arguments.of(URLEncoder.encode(")")),
+                    Arguments.of(URLEncoder.encode(",")),
+                    Arguments.of(URLEncoder.encode(":")),
+                    Arguments.of(URLEncoder.encode(";")),
+                    Arguments.of(URLEncoder.encode("<")),
+                    Arguments.of(URLEncoder.encode(">")),
+                    Arguments.of(URLEncoder.encode("@")),
+                    Arguments.of(URLEncoder.encode("[")),
+                    Arguments.of(URLEncoder.encode("\\")),
+                    Arguments.of(URLEncoder.encode("]")),
+                    Arguments.of("%20"));
             }
 
             @ParameterizedTest
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 bcfd26095d..6640703eb8 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
@@ -45,6 +45,7 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
@@ -182,6 +183,7 @@ class UserMailboxesRoutesTest {
 
         RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer)
             .setBasePath(USERS_BASE + SEPARATOR + USERNAME.asString() + SEPARATOR + UserMailboxesRoutes.MAILBOXES)
+            .setUrlEncodingEnabled(false) // no further automatically encoding by Rest Assured client. rf: https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3936
             .build();
     }
 
@@ -331,7 +333,7 @@ class UserMailboxesRoutesTest {
             when(usersRepository.contains(USERNAME)).thenReturn(true);
 
             Map<String, Object> errors = when()
-                .put(INVALID_MAILBOX_NAME)
+                .put(URLEncoder.encode(INVALID_MAILBOX_NAME))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)
@@ -450,7 +452,7 @@ class UserMailboxesRoutesTest {
         @Test
         void getShouldReturnUserErrorWithInvalidPercentMailboxName() throws Exception {
             Map<String, Object> errors = when()
-                .get(MAILBOX_NAME + "%")
+                .get(URLEncoder.encode(MAILBOX_NAME + "%"))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)
@@ -469,7 +471,7 @@ class UserMailboxesRoutesTest {
         @Test
         void putShouldReturnUserErrorWithInvalidPercentMailboxName() throws Exception {
             Map<String, Object> errors = when()
-                .put(MAILBOX_NAME + "%")
+                .put(URLEncoder.encode(MAILBOX_NAME + "%"))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)
@@ -487,7 +489,7 @@ class UserMailboxesRoutesTest {
         @Test
         void deleteShouldReturnUserErrorWithInvalidPercentMailboxName() throws Exception {
             Map<String, Object> errors = when()
-                .put(MAILBOX_NAME + "%")
+                .put(URLEncoder.encode(MAILBOX_NAME + "%"))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)
@@ -505,7 +507,7 @@ class UserMailboxesRoutesTest {
         @Test
         void getShouldReturnUserErrorWithInvalidSharpMailboxName() throws Exception {
             Map<String, Object> errors = when()
-                .get("#" + MAILBOX_NAME)
+                .get(URLEncoder.encode("#" + MAILBOX_NAME))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)
@@ -535,7 +537,7 @@ class UserMailboxesRoutesTest {
         @Test
         void putShouldReturnUserErrorWithInvalidSharpMailboxName() throws Exception {
             Map<String, Object> errors = when()
-                .put("#" + MAILBOX_NAME)
+                .put(URLEncoder.encode("#" + MAILBOX_NAME))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)
@@ -561,7 +563,7 @@ class UserMailboxesRoutesTest {
         @Test
         void deleteShouldReturnUserErrorWithInvalidSharpMailboxName() throws Exception {
             Map<String, Object> errors = when()
-                .put("#" + MAILBOX_NAME)
+                .put(URLEncoder.encode("#" + MAILBOX_NAME))
             .then()
                 .statusCode(BAD_REQUEST_400)
                 .contentType(JSON)


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