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