This is an automated email from the ASF dual-hosted git repository.
sgarofalo pushed a commit to branch 3_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/3_0_X by this push:
new da9eef16f9 [SYNCOPE-1836] Propagate password changes coming from SCIM
extension (#890)
da9eef16f9 is described below
commit da9eef16f9ed0bc92cf414463703603df6162d7f
Author: Samuel Garofalo <[email protected]>
AuthorDate: Mon Nov 4 16:36:54 2024 +0100
[SYNCOPE-1836] Propagate password changes coming from SCIM extension (#890)
---
.../java/org/apache/syncope/core/logic/SCIMDataBinder.java | 2 +-
.../test/java/org/apache/syncope/fit/core/SCIMITCase.java | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git
a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
index c04c43458a..06c3c59a41 100644
---
a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
+++
b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
@@ -840,7 +840,7 @@ public class SCIMDataBinder {
case "password":
if (op.getOp() != PatchOp.remove &&
!CollectionUtils.isEmpty(op.getValue())) {
userUR.setPassword(new PasswordPatch.Builder().
- value(op.getValue().get(0).toString()).build());
+
value(op.getValue().get(0).toString()).resources(resources).build());
}
break;
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
index b8e21880eb..b35f2f18b9 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
@@ -677,6 +677,19 @@ public class SCIMITCase extends AbstractITCase {
user = response.readEntity(SCIMUser.class);
assertTrue(user.getEmails().stream().noneMatch(v ->
"home".equals(v.getType())));
+
+ // 7. update with path, update password
+ body =
+ "{"
+ +
"\"schemas\":[\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],"
+ + "\"Operations\":[{"
+ + "\"op\":\"replace\","
+ + "\"path\":\"password\","
+ + "\"value\":\"Password123!\""
+ + "}]"
+ + "}";
+ response =
webClient().path("Users").path(user.getId()).invoke(HttpMethod.PATCH, body);
+ assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
}
@Test