Skip to content

Commit

Permalink
Merge pull request #79 from aservo/fix-set-application-password
Browse files Browse the repository at this point in the history
Applications: Fix setting password
  • Loading branch information
pathob authored May 29, 2024
2 parents f601a2d + ef4e9d0 commit 304ab01
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.atlassian.crowd.embedded.api.Directory;
import com.atlassian.crowd.embedded.api.OperationType;
import com.atlassian.crowd.embedded.api.PasswordCredential;
import com.atlassian.crowd.exception.*;
import com.atlassian.crowd.manager.application.ApplicationManager;
import com.atlassian.crowd.manager.application.ApplicationManagerException;
Expand Down Expand Up @@ -108,6 +109,11 @@ public ApplicationBean setApplication(
final Application existingApplication = applicationManager.findById(id);
final Application modifiedApplication = ApplicationBeanUtil.toApplication(applicationBean, existingApplication);
final Application updatedApplication = applicationManager.update(modifiedApplication);

if (applicationBean.getPassword() != null) {
applicationManager.updateCredential(updatedApplication, PasswordCredential.unencrypted(applicationBean.getPassword()));
}

persistApplicationDirectoryMappings(updatedApplication, applicationBean);
persistApplicationBeanAuthenticationGroups(updatedApplication, applicationBean);
persistApplicationBeanAutoAssignmentGroups(updatedApplication, applicationBean);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ public void testSetApplicationAllAttributes() throws ApplicationNotFoundExceptio
requestApplicationBean.setName("Changed Name");
requestApplicationBean.setDescription("Changed Description");
requestApplicationBean.setActive(false);
requestApplicationBean.setPassword("password1");
requestApplicationBean.setRemoteAddresses(Collections.singletonList("127.0.0.5"));
Application application2 = toApplication(requestApplicationBean);

Expand All @@ -143,6 +144,7 @@ public void testSetApplicationAllAttributes() throws ApplicationNotFoundExceptio
final ArgumentCaptor<Application> applicationCaptor = ArgumentCaptor.forClass(Application.class);
applicationsService.setApplication(EXAMPLE_1.getId(), requestApplicationBean);
verify(applicationManager).update(applicationCaptor.capture());
verify(applicationManager).updateCredential(any(), any());
final Application updatedApplication = applicationCaptor.getValue();

assertNotNull(updatedApplication);
Expand Down

0 comments on commit 304ab01

Please sign in to comment.