Skip to content
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.

[RDCC-6762]Quick fix for the profile sync for caseworker users #724

Merged
merged 5 commits into from
Jun 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/owasp/suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,6 @@ file name: launchdarkly-java-server-sdk-5.10.2.jar (shaded: org.yaml:snakeyaml:1
<suppress>
<notes>Temporary suppression for Spring Boot versions please remove it once cve is fixed</notes>
<cve>CVE-2023-20883</cve>
<cve>CVE-2023-35116</cve>
</suppress>
</suppressions>
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,6 @@ void whenSearchUserAndUpServiceCallSuccessAndSyncBatchStatusShouldBeSuccess() {
.findFirstBySchedulerStatusOrderBySchedulerEndTimeDesc("success");
assertThat(syncAuditFourthRes).isNotNull();
assertThat(syncAuditFourthRes.getSchedulerStatus()).isEqualTo("success");
assertThat(syncAuditFourthRes.getSchedulerEndTime()).isNotNull();
assertThat(syncAuditFourthRes.getSchedulerStartTime()).isNotNull();
assertThat(syncAuditFourthRes.getSchedulerId()).isPositive();
assertThat(syncAuditFourthRes.getProfileSyncAuditDetails()).isNotNull();
syncAuditFourthRes.getProfileSyncAuditDetails().forEach(profileSyncAuditDetails -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,6 @@ public ProfileSyncAudit updateUserProfile(String searchQuery, String bearerToken
List<ProfileSyncAuditDetails> profileSyncAuditDetails = new ArrayList<>();
List<ProfileSyncAuditDetails> caseWorkerSyncAuditDetails = new ArrayList<>();




users.forEach(user -> {
Optional<GetUserProfileResponse> userProfile = userAcquisitionService.findUser(bearerToken, s2sToken,
user.getId());
Expand Down Expand Up @@ -87,30 +84,32 @@ public ProfileSyncAudit updateUserProfile(String searchQuery, String bearerToken
});

users.forEach(user -> {
StringBuilder sb = new StringBuilder();
sb.append(user.isActive());
sb.append(user.isPending());

CaseWorkerProfile updateCaseWorkerProfile = CaseWorkerProfile.builder()
.email(user.getEmail())
.userId(user.getId())
.firstName(user.getForename())
.lastName(user.getSurname())
.idamStatus(resolveIdamStatusForCaseWorker(sb))
.build();

try {
//to update caseworker profile details for matching user ids are collecting and storing in the list
// from syncCaseWorkerUser method.
caseWorkerSyncAuditDetails.add(syncCaseWorkerUser(bearerToken, s2sToken, user.getId(),
updateCaseWorkerProfile, syncAudit));

} catch (UserProfileSyncException e) {
syncAudit.setSchedulerStatus("fail");
log.error("{}:: User Not updated : - {}", loggingComponentName, e.getErrorMessage());
}
if (user.getRoles().contains("cwd-user")) {
StringBuilder sb = new StringBuilder();
sb.append(user.isActive());
sb.append(user.isPending());

CaseWorkerProfile updateCaseWorkerProfile = CaseWorkerProfile.builder()
.email(user.getEmail())
.userId(user.getId())
.firstName(user.getForename())
.lastName(user.getSurname())
.idamStatus(resolveIdamStatusForCaseWorker(sb))
.build();

try {
//to update caseworker profile details for matching user ids are collecting and storing in the list
// from syncCaseWorkerUser method.
caseWorkerSyncAuditDetails.add(syncCaseWorkerUser(bearerToken, s2sToken, user.getId(),
updateCaseWorkerProfile, syncAudit));

} catch (UserProfileSyncException e) {
syncAudit.setSchedulerStatus("fail");
log.error("{}:: User Not updated : - {}", loggingComponentName, e.getErrorMessage());
}


}
});

syncAudit.setProfileSyncAuditDetails(profileSyncAuditDetails);
Expand Down Expand Up @@ -150,7 +149,6 @@ private ProfileSyncAuditDetails syncCaseWorkerUser(String bearerToken, String s2
log.error("{}:: Exception occurred while updating the case worker profile: Status - {}"
+ response.status(), loggingComponentName);
message = "the case worker failed while updating the status";
syncAudit.setSchedulerStatus("fail");
}

log.info("{}:: CaseWorker Status updated in Case Worker DB::{}", loggingComponentName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ void updateUserProfileForOptionalWithStatus401() throws Exception {
profileSyncAuditMock = sut.updateUserProfile(searchQuery, bearerToken, s2sToken, users, profileSyncAuditMock);
assertThat(profileSyncAuditMock).isNotNull();

verify(profileSyncAuditMock, times(2)).setSchedulerStatus(any());
verify(profileSyncAuditMock, times(1)).setSchedulerStatus(any());
verify(userAcquisitionServiceMock, times(1)).findUser(bearerToken, s2sToken,
profile.getId());
}
Expand Down