public void documentChangeUserPassword()

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();
      }
    }
  }