V1 REST API - update person (password)

- REPO-1627 - Update password for a person with empty string
- REPO-1643 - Missing 'oldPassword' field accompanies 403 status code, but should be 400

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@133307 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2016-12-01 11:18:36 +00:00
parent 7aaf5f6841
commit 8288699b52
2 changed files with 94 additions and 46 deletions

View File

@@ -1134,11 +1134,14 @@ public class TestPeople extends EnterpriseTestApi
people.update(me.getId(), qjson("{ `oldPassword`:`password123`, `password`:`newpassword456` }"), 403);
// update with no oldPassword
people.update(me.getId(), qjson("{ `password`:`newpassword456` }"), 403);
people.update(me.getId(), qjson("{ `password`:`newpassword456` }"), 400);
people.update(me.getId(), qjson("{ `oldPassword`:``, `password`:`newpassword456` }"), 400);
people.update(me.getId(), qjson("{ `oldPassword`:null, `password`:`newpassword456` }"), 400);
// update with no password
people.update(me.getId(), qjson("{ `oldPassword`:`newpassword456`, `password`:`` }"), 400);
// update with no new password
people.update(me.getId(), qjson("{ `oldPassword`:`newpassword456` }"), 400);
people.update(me.getId(), qjson("{ `oldPassword`:`newpassword456`, `password`:`` }"), 400);
people.update(me.getId(), qjson("{ `oldPassword`:`newpassword456`, `password`:null }"), 400);
}
@Test
@@ -1168,6 +1171,30 @@ public class TestPeople extends EnterpriseTestApi
publicApiClient.setRequestContext(new RequestContext(networkId, personId, updatedPassword));
this.people.getPerson(personId);
publicApiClient.setRequestContext(new RequestContext(networkId, account3Admin, "admin"));
// update with another new password but note that oldPassword is ignored (even if sent by admin)
String updatedPassword2 = "newPassword2";
people.update(personId, qjson("{ `password`:`" + updatedPassword2 + "`, `oldPassword`:`rubbish` }"), 200);
publicApiClient.setRequestContext(new RequestContext(networkId, personId, updatedPassword));
try
{
this.people.getPerson(personId);
fail("");
}
catch (PublicApiException e)
{
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
publicApiClient.setRequestContext(new RequestContext(networkId, personId, updatedPassword2));
this.people.getPerson(personId);
// -ve: update with no new password
people.update(personId, qjson("{ `password`:`` }"), 400);
people.update(personId, qjson("{ `password`:null }"), 400);
}
@Test