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 2024/01/31 14:57:46 UTC
(james-project) branch master updated: JAMES-3909 Deleting userdata: Bypass user existence check (#1938)
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
The following commit(s) were added to refs/heads/master by this push:
new d910ab53e0 JAMES-3909 Deleting userdata: Bypass user existence check (#1938)
d910ab53e0 is described below
commit d910ab53e03727aed80595f44f72e2ea740697eb
Author: Benoit TELLIER <bt...@linagora.com>
AuthorDate: Wed Jan 31 15:57:40 2024 +0100
JAMES-3909 Deleting userdata: Bypass user existence check (#1938)
---
.../apache/james/webadmin/routes/DeleteUserDataRoutes.java | 2 +-
.../james/webadmin/routes/DeleteUserDataRoutesTest.java | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DeleteUserDataRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DeleteUserDataRoutes.java
index f581ed7127..a82d417205 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DeleteUserDataRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DeleteUserDataRoutes.java
@@ -73,7 +73,7 @@ public class DeleteUserDataRoutes implements Routes {
.register(DELETE_USER_DATA, request -> {
Username username = Username.of(request.params(USER_PATH_PARAM));
- Preconditions.checkArgument(usersRepository.contains(username), "'username' parameter should be an existing user");
+ Preconditions.checkArgument(request.queryParams("force") != null || usersRepository.contains(username), "'username' parameter should be an existing user");
Optional<StepName> fromStep = Optional.ofNullable(request.queryParams("fromStep")).map(StepName::new);
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DeleteUserDataRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DeleteUserDataRoutesTest.java
index f3939320e1..19823d8f58 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DeleteUserDataRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DeleteUserDataRoutesTest.java
@@ -184,6 +184,17 @@ class DeleteUserDataRoutesTest {
.body("message", Matchers.is("Invalid arguments supplied in the user request"))
.body("details", Matchers.is("'username' parameter should be an existing user"));
}
+
+ @Test
+ void shouldAcceptUnknownUserWhenForce() {
+ given()
+ .queryParam("action", "deleteData")
+ .queryParam("force")
+ .when()
+ .post("/users/unknown@domain.tld")
+ .then()
+ .statusCode(HttpStatus.CREATED_201);
+ }
}
@Nested
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org