Repository: syncope
Updated Branches:
  refs/heads/1_2_X 15cca152d -> 4c90ea872
  refs/heads/master 22a9e12e5 -> 4cd6f5dc6


[SYNCOPE-671] Fix provided


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/4c90ea87
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/4c90ea87
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/4c90ea87

Branch: refs/heads/1_2_X
Commit: 4c90ea872d43831e4ee593cb7b39306232b477cf
Parents: 15cca15
Author: Francesco Chicchiriccò <[email protected]>
Authored: Sun May 24 18:27:31 2015 +0200
Committer: Francesco Chicchiriccò <[email protected]>
Committed: Sun May 24 18:27:31 2015 +0200

----------------------------------------------------------------------
 .../core/rest/controller/UserController.java       | 10 +++++++++-
 .../syncope/core/rest/UserSelfTestITCase.java      | 17 ++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/4c90ea87/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
 
b/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
index f989f4d..dc5fdd2 100644
--- 
a/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
+++ 
b/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
@@ -20,6 +20,7 @@ package org.apache.syncope.core.rest.controller;
 
 import java.lang.reflect.Method;
 import java.security.AccessControlException;
+import java.util.AbstractMap;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -401,7 +402,14 @@ public class UserController extends 
AbstractSubjectController<UserTO, UserMod> {
 
         uwfAdapter.confirmPasswordReset(user.getId(), token, password);
 
-        List<PropagationTask> tasks = 
propagationManager.getUserUpdateTaskIds(user, null, null);
+        UserMod userMod = new UserMod();
+        userMod.setId(user.getId());
+        userMod.setPassword(password);
+
+        List<PropagationTask> tasks = propagationManager.getUserUpdateTaskIds(
+                new WorkflowResult<Map.Entry<UserMod, Boolean>>(
+                        new AbstractMap.SimpleEntry<UserMod, Boolean>(userMod, 
null), null, "confirmPasswordReset"),
+                true, null);
         PropagationReporter propReporter =
                 
ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class);
         try {

http://git-wip-us.apache.org/repos/asf/syncope/blob/4c90ea87/core/src/test/java/org/apache/syncope/core/rest/UserSelfTestITCase.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/syncope/core/rest/UserSelfTestITCase.java 
b/core/src/test/java/org/apache/syncope/core/rest/UserSelfTestITCase.java
index aaf5347..57a7a6e 100644
--- a/core/src/test/java/org/apache/syncope/core/rest/UserSelfTestITCase.java
+++ b/core/src/test/java/org/apache/syncope/core/rest/UserSelfTestITCase.java
@@ -20,6 +20,7 @@ package org.apache.syncope.core.rest;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -53,6 +54,7 @@ import org.junit.Assume;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runners.MethodSorters;
+import org.springframework.jdbc.core.JdbcTemplate;
 
 @FixMethodOrder(MethodSorters.JVM)
 public class UserSelfTestITCase extends AbstractTest {
@@ -93,7 +95,7 @@ public class UserSelfTestITCase extends AbstractTest {
         membership.setRoleId(3L);
         userTO.getMemberships().add(membership);
         userTO.getResources().add(RESOURCE_NAME_TESTDB);
-        
+
         SyncopeClient anonClient = clientFactory.createAnonymous();
         userTO = anonClient.getService(UserSelfService.class).
                 create(userTO, true).
@@ -256,8 +258,15 @@ public class UserSelfTestITCase extends AbstractTest {
         UserTO user = 
UserTestITCase.getUniqueSampleTO("[email protected]");
         user.setSecurityQuestion(1L);
         user.setSecurityAnswer("Rossi");
+        user.getResources().add(RESOURCE_NAME_TESTDB);
         createUser(user);
 
+        // verify propagation (including password) on external db
+        JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
+        String pwdOnResource = jdbcTemplate.queryForObject("SELECT password 
FROM test WHERE id=?", String.class,
+                user.getUsername());
+        assertTrue(StringUtils.isNotBlank(pwdOnResource));
+
         // 2. verify that new user is able to authenticate
         SyncopeClient authClient = clientFactory.create(user.getUsername(), 
"password123");
         UserTO read = authClient.getService(UserSelfService.class).read();
@@ -292,6 +301,12 @@ public class UserSelfTestITCase extends AbstractTest {
         read = authClient.getService(UserSelfService.class).read();
         assertNotNull(read);
         assertNull(read.getToken());
+
+        // 7. verify that password was changed on external resource
+        String newPwdOnResource = jdbcTemplate.queryForObject("SELECT password 
FROM test WHERE id=?", String.class,
+                user.getUsername());
+        assertTrue(StringUtils.isNotBlank(newPwdOnResource));
+        assertNotEquals(pwdOnResource, newPwdOnResource);
     }
 
     @Test

Reply via email to