in component-test/src/main/java/IdentityApiDocumentation.java [554:588]
public void documentChangeUserPassword ( ) throws InterruptedException {
final String userName = createUserWithNonexpiredPassword(AHMES_PASSWORD, ADMIN_ROLE);
final Authentication userAuthentication =
getTestSubject().login(userName, TestEnvironment.encodePassword(AHMES_PASSWORD));
try (final AutoUserContext ignored = new AutoUserContext(userName, userAuthentication.getAccessToken())) {
UserWithPassword user = new UserWithPassword("Daddy", "bearer",
TestEnvironment.encodePassword(AHMES_FRIENDS_PASSWORD));
getTestSubject().createUser(user);
Assert.assertTrue(eventRecorder.wait(EventConstants.OPERATION_POST_USER, user.getIdentifier()));
Password passw = new Password(TestEnvironment.encodePassword(AHMES_FRIENDS_PASSWORD + "Daddy"));
user.setPassword(passw.getPassword());
Gson serializer = new Gson();
try {
this.mockMvc.perform(put("/users/" + user.getIdentifier() + "/password")
.accept(MediaType.APPLICATION_JSON_VALUE)
.contentType(MediaType.APPLICATION_JSON_VALUE)
.content(serializer.toJson(passw)))
.andExpect(status().isAccepted())
.andDo(document("document-change-user-password", preprocessRequest(prettyPrint()),
requestFields(
fieldWithPath("password").description("updated password")
)
));
} catch (Exception e) {
e.printStackTrace();
}
}
}