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

Reply via email to