From 3e4285941914245e60b7034a3b6a07ca21692c0e Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Thu, 25 Jul 2024 13:02:45 +0200 Subject: [PATCH 01/64] CARITAS-243 - Adapt messageservice.yaml to remove feedback and forward messages --- services/messageservice.yaml | 97 ------------------------------------ 1 file changed, 97 deletions(-) diff --git a/services/messageservice.yaml b/services/messageservice.yaml index 48b095582..fd422594a 100644 --- a/services/messageservice.yaml +++ b/services/messageservice.yaml @@ -82,54 +82,6 @@ paths: - Bearer: [] x-codegen-request-body-name: Message - /messages/feedback/new: - post: - tags: - - message-controller - summary: 'Add new Rocket.Chat message to feedback chat [Authorization: authority - for feedback chat]' - operationId: createFeedbackMessage - parameters: - - name: rcToken - in: header - required: true - schema: - type: string - - name: rcUserId - in: header - required: true - schema: - type: string - - name: rcFeedbackGroupId - in: header - required: true - schema: - type: string - requestBody: - content: - 'application/json': - schema: - $ref: '#/components/schemas/MessageDTO' - required: true - responses: - 201: - description: CREATED - message was successfully created - content: - 'application/json': - schema: - $ref: '#/components/schemas/MessageResponseDTO' - 400: - description: BAD REQUEST - invalid/incomplete request or body object - 401: - description: UNAUTHORIZED - no/invalid Keycloak token - 403: - description: FORBIDDEN - no/invalid role/authorization - 500: - description: INTERNAL SERVER ERROR - server encountered unexpected condition - security: - - Bearer: [] - x-codegen-request-body-name: Message - /messages/videohint/new: post: tags: @@ -209,54 +161,6 @@ paths: security: - Bearer: [] - /messages/forward: - post: - tags: - - message-controller - summary: 'Forward a Rocket.Chat message to another group [Authorization: Role: - u25-consultant]' - operationId: forwardMessage - parameters: - - name: rcToken - in: header - required: true - schema: - type: string - - name: rcUserId - in: header - required: true - schema: - type: string - - name: rcGroupId - in: header - required: true - schema: - type: string - requestBody: - description: Body description - content: - 'application/json': - schema: - $ref: '#/components/schemas/ForwardMessageDTO' - required: true - responses: - 201: - description: CREATED - message was successfully created - content: - 'application/json': - schema: - $ref: '#/components/schemas/MessageResponseDTO' - 400: - description: BAD REQUEST - invalid/incomplete request or body object - 401: - description: UNAUTHORIZED - no/invalid Keycloak token - 403: - description: FORBIDDEN - no/invalid role/authorization - 500: - description: INTERNAL SERVER ERROR - server encountered unexpected condition - security: - - Bearer: [] - /messages/draft: post: tags: @@ -592,7 +496,6 @@ components: type: string enum: - "FINISHED_CONVERSATION" - - "FORWARD" - "FURTHER_STEPS" - "UPDATE_SESSION_DATA" - "VIDEOCALL" From 3dadd7d247fd51706ccfc4b744ba5ff3ac76e7b1 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 10:38:43 +0200 Subject: [PATCH 02/64] CARITAS-243 - Remove sendNewFeedbackMessageNotification api code --- api/userservice.yaml | 27 ------------- .../web/controller/UserController.java | 22 ----------- .../api/facade/EmailNotificationFacade.java | 38 ------------------- .../api/port/out/SessionRepository.java | 8 ---- .../api/service/session/SessionService.java | 14 ------- 5 files changed, 109 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index a6c3a9813..5dc7d8536 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -877,33 +877,6 @@ paths: description: INTERNAL SERVER ERROR - server encountered unexpected condition security: - Bearer: [ ] - /users/mails/messages/feedback/new: - post: - tags: - - user-controller - summary: 'Sends a notification e-mail that a new feedback message/answer has - been written [Authorization: Role: consultant with authority for feedback - chat]' - operationId: sendNewFeedbackMessageNotification - requestBody: - content: - 'application/json': - schema: - $ref: '#/components/schemas/NewMessageNotificationDTO' - required: true - responses: - 200: - description: successful operation - 400: - description: BAD REQUEST - invalid/incomplete request or body object - 401: - description: UNAUTHORIZED - invalid token - 409: - description: CONFLICT - no user e-mail address in db given - 500: - description: INTERNAL SERVER ERROR - server encountered unexpected condition - security: - - Bearer: [ ] /users/mails/reassignment: post: tags: diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java index 654ed81ec..99a31dd2a 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java @@ -174,8 +174,6 @@ public class UserController implements UsersApi { private final @NotNull AdminUserFacade adminUserFacade; - private final @NonNull EmailNotificationMapper emailNotificationMapper; - @Value("${feature.topics.enabled}") private boolean featureTopicsEnabled; @@ -717,26 +715,6 @@ public ResponseEntity sendNewMessageNotification( return new ResponseEntity<>(HttpStatus.OK); } - /** - * Sends email notifications to the user(s) if there has been a new feedback answer. Uses the - * provided Keycloak authorization token for user verification (user role). This means that the - * user that wrote the answer should also call this method. - * - * @param newMessageNotificationDTO (required) - * @return {@link ResponseEntity} containing {@link HttpStatus} - */ - @Override - public ResponseEntity sendNewFeedbackMessageNotification( - @RequestBody NewMessageNotificationDTO newMessageNotificationDTO) { - - emailNotificationFacade.sendNewFeedbackMessageNotification( - newMessageNotificationDTO.getRcGroupId(), - authenticatedUser.getUserId(), - TenantContext.getCurrentTenantData()); - - return new ResponseEntity<>(HttpStatus.OK); - } - /** * Sends email notification for reassign request to advice seeker if the property isConfirmed of * {@link ReassignmentNotificationDTO} is null or false. Send email confirmation notification to diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java index 592254001..fe4ed5bd6 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java @@ -27,7 +27,6 @@ import de.caritas.cob.userservice.api.service.emailsupplier.EmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewDirectEnquiryEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewEnquiryEmailSupplier; -import de.caritas.cob.userservice.api.service.emailsupplier.NewFeedbackEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewMessageEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.ReassignmentConfirmationEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.ReassignmentRequestEmailSupplier; @@ -57,16 +56,12 @@ public class EmailNotificationFacade { @Value("${app.base.url}") private String applicationBaseUrl; - @Value("${rocket.systemuser.id}") - private String rocketChatSystemUserId; - private final @NonNull MailService mailService; private final @NonNull SessionService sessionService; private final @NonNull ConsultantAgencyService consultantAgencyService; private final @NonNull ConsultantService consultantService; private final @NonNull RocketChatService messageClient; private final @NonNull ConsultingTypeManager consultingTypeManager; - private final @NonNull IdentityClient identityClient; private final @NonNull IdentityClientConfig identityClientConfig; private final @NonNull NewEnquiryEmailSupplier newEnquiryEmailSupplier; private final @NonNull NewDirectEnquiryEmailSupplier newDirectEnquiryEmailSupplier; @@ -188,39 +183,6 @@ public void sendNewMessageNotification( TenantContext.clear(); } - /** - * Sends email notifications according to the corresponding consultant(s) when a new feedback - * message was written. - * - * @param rcFeedbackGroupId group id of feedback chat - * @param userId regarding user id - */ - @Async - public void sendNewFeedbackMessageNotification( - String rcFeedbackGroupId, String userId, TenantData tenantData) { - TenantContext.setCurrentTenantData(tenantData); - try { - Session session = sessionService.getSessionByFeedbackGroupId(rcFeedbackGroupId); - EmailSupplier newFeedbackMessages = - new NewFeedbackEmailSupplier( - session, - rcFeedbackGroupId, - userId, - applicationBaseUrl, - consultantService, - messageClient, - rocketChatSystemUserId, - identityClient); - sendMailTasksToMailService(newFeedbackMessages); - } catch (Exception e) { - log.error( - "EmailNotificationFacade error: List of members for rocket chat feedback group id {} is empty.", - rcFeedbackGroupId, - e); - } - TenantContext.clear(); - } - /** * Sends an email notification to the consultant when an enquiry has been assigned to him by a * different consultant. diff --git a/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java b/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java index 2ac296740..cb0157240 100644 --- a/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java +++ b/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java @@ -108,14 +108,6 @@ List findByAgencyIdInAndConsultantNotAndStatusAndTeamSessionIsTrueOrder */ Page findByUserUserId(String userId, Pageable pageable); - /** - * Find the {@link Session} by Rocket.Chat feedback group id. - * - * @param feedbackGroupId the rocket chat feedback group id - * @return an {@link Optional} of the session - */ - Optional findByFeedbackGroupId(String feedbackGroupId); - /** * Find the {@link Session} by Rocket.Chat group id. * diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java index a5a588f74..bed08b9c4 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java @@ -588,16 +588,6 @@ private boolean isAnonymousEnquiryAndAllowedToAdviseConsultingType( return consultingTypes.contains(session.getConsultingTypeId()); } - /** - * Returns the session for the Rocket.Chat feedback group id. - * - * @param feedbackGroupId the id of the feedback group - * @return the session - */ - public Session getSessionByFeedbackGroupId(String feedbackGroupId) { - return sessionRepository.findByFeedbackGroupId(feedbackGroupId).orElse(null); - } - /** * Returns a {@link ConsultantSessionDTO} for a specific session. * @@ -776,8 +766,4 @@ public String findGroupIdByConsultantAndUser(String consultantId, String askerId return sessions.get(0).getGroupId(); } - - public List findAllSessions() { - return Lists.newArrayList(sessionRepository.findAll()); - } } From e88fabfa485170694ad9dfde6b87dc03f076d137 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 10:54:08 +0200 Subject: [PATCH 03/64] CARITAS-243 - Fix sendLiveEvent api as a result of the removal of the removal of sendNewFeedbackMessageNotification api code --- .../liveevents/RelevantUserAccountIdsBySessionProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java b/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java index b034d8300..643e3e3f7 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java @@ -31,7 +31,7 @@ public List collectUserIds(String rcGroupId) { Session session = this.sessionRepository .findByGroupId(rcGroupId) - .orElse(this.sessionRepository.findByFeedbackGroupId(rcGroupId).orElse(null)); + .orElse(null); return extractDependentUserIds(session); } From f336c571dbbe018d48ffef740bcf7b22a14eab42 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 11:16:22 +0200 Subject: [PATCH 04/64] CARITAS-243 - Remove sendNewFeedbackMessageNotification api tests and spotless:apply --- .../web/controller/UserController.java | 1 - .../api/facade/EmailNotificationFacade.java | 1 - ...levantUserAccountIdsBySessionProvider.java | 5 +- .../facade/EmailNotificationFacadeTest.java | 139 ------------------ ...ntUserAccountIdsBySessionProviderTest.java | 48 ------ 5 files changed, 1 insertion(+), 193 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java index 99a31dd2a..a33b9eb33 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java @@ -71,7 +71,6 @@ import de.caritas.cob.userservice.api.facade.userdata.AskerDataProvider; import de.caritas.cob.userservice.api.facade.userdata.ConsultantDataFacade; import de.caritas.cob.userservice.api.facade.userdata.ConsultantDataProvider; -import de.caritas.cob.userservice.api.facade.userdata.EmailNotificationMapper; import de.caritas.cob.userservice.api.facade.userdata.KeycloakUserDataProvider; import de.caritas.cob.userservice.api.helper.AuthenticatedUser; import de.caritas.cob.userservice.api.model.Chat; diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java index fe4ed5bd6..22e9d9494 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java @@ -17,7 +17,6 @@ import de.caritas.cob.userservice.api.model.NotificationsAware; import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.User; -import de.caritas.cob.userservice.api.port.out.IdentityClient; import de.caritas.cob.userservice.api.port.out.IdentityClientConfig; import de.caritas.cob.userservice.api.service.ConsultantAgencyService; import de.caritas.cob.userservice.api.service.ConsultantService; diff --git a/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java b/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java index 643e3e3f7..e5ca3dde4 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProvider.java @@ -28,10 +28,7 @@ public class RelevantUserAccountIdsBySessionProvider implements UserIdsProvider */ @Override public List collectUserIds(String rcGroupId) { - Session session = - this.sessionRepository - .findByGroupId(rcGroupId) - .orElse(null); + Session session = this.sessionRepository.findByGroupId(rcGroupId).orElse(null); return extractDependentUserIds(session); } diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java index b46af6563..767d5eeed 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java @@ -11,12 +11,10 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.APPLICATION_BASE_URL_FIELD_NAME; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_ID_2; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_ID_3; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTING_TYPE_ID_SUCHT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.IS_NO_TEAM_SESSION; import static de.caritas.cob.userservice.api.testHelper.TestConstants.IS_TEAM_SESSION; import static de.caritas.cob.userservice.api.testHelper.TestConstants.NAME; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.USERNAME; import static de.caritas.cob.userservice.api.testHelper.TestConstants.USERNAME_CONSULTANT_ENCODED; @@ -37,7 +35,6 @@ import com.google.api.client.util.Lists; import com.neovisionaries.i18n.LanguageCode; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; import de.caritas.cob.userservice.api.adapters.web.dto.NotificationsSettingsDTO; import de.caritas.cob.userservice.api.adapters.web.dto.ReassignmentNotificationDTO; @@ -53,11 +50,9 @@ import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.SessionStatus; import de.caritas.cob.userservice.api.model.User; -import de.caritas.cob.userservice.api.port.out.ConsultantAgencyRepository; import de.caritas.cob.userservice.api.port.out.IdentityClientConfig; import de.caritas.cob.userservice.api.service.ConsultantAgencyService; import de.caritas.cob.userservice.api.service.ConsultantService; -import de.caritas.cob.userservice.api.service.agency.AgencyService; import de.caritas.cob.userservice.api.service.consultingtype.ReleaseToggle; import de.caritas.cob.userservice.api.service.consultingtype.ReleaseToggleService; import de.caritas.cob.userservice.api.service.emailsupplier.AssignEnquiryEmailSupplier; @@ -65,7 +60,6 @@ import de.caritas.cob.userservice.api.service.emailsupplier.NewEnquiryEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewFeedbackEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewMessageEmailSupplier; -import de.caritas.cob.userservice.api.service.emailsupplier.TenantTemplateSupplier; import de.caritas.cob.userservice.api.service.helper.MailService; import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.tenant.TenantContext; @@ -197,39 +191,6 @@ public class EmailNotificationFacadeTest { null, false, null); - private final Consultant CONSULTANT3 = - new Consultant( - CONSULTANT_ID_3, - "XXX", - "consultant3", - "consultant3", - "consultant3", - "consultant3@domain.de", - false, - false, - null, - false, - null, - 1L, - null, - null, - null, - null, - null, - null, - true, - true, - true, - true, - null, - null, - ConsultantStatus.CREATED, - false, - LanguageCode.de, - null, - null, - false, - null); private final Consultant CONSULTANT_NO_EMAIL = new Consultant( CONSULTANT_ID, @@ -304,9 +265,6 @@ public class EmailNotificationFacadeTest { private final ConsultantAgency CONSULTANT_AGENCY_2 = new ConsultantAgency( 1L, CONSULTANT2, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); - private final ConsultantAgency ABSENT_CONSULTANT_AGENCY = - new ConsultantAgency( - 1L, ABSENT_CONSULTANT, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); private final Session SESSION = Session.builder() .id(1L) @@ -323,21 +281,6 @@ public class EmailNotificationFacadeTest { .createDate(nowInUtc()) .build(); - private final Session SESSION_WITHOUT_CONSULTANT = - Session.builder() - .id(1L) - .user(USER) - .consultingTypeId(CONSULTING_TYPE_ID_SUCHT) - .registrationType(REGISTERED) - .postcode("88045") - .agencyId(AGENCY_ID) - .status(SessionStatus.INITIAL) - .enquiryMessageDate(nowInUtc()) - .groupId(RC_GROUP_ID) - .teamSession(IS_NO_TEAM_SESSION) - .createDate(nowInUtc()) - .build(); - private final Session SESSION_IN_PROGRESS = Session.builder() .id(1L) @@ -401,7 +344,6 @@ public class EmailNotificationFacadeTest { private final String GROUP_MEMBER_2_RC_ID = "sdf33dfdsf"; private final GroupMemberDTO GROUP_MEMBER_2 = new GroupMemberDTO(GROUP_MEMBER_2_RC_ID, "status2", "username2", "name2", ""); - private final List GROUP_MEMBERS = Arrays.asList(GROUP_MEMBER_1, GROUP_MEMBER_2); private final NotificationsDTO NOTIFICATIONS_DTO_TO_ALL_TEAM_CONSULTANTS = new NotificationsDTO() .teamSessions( @@ -454,14 +396,11 @@ public class EmailNotificationFacadeTest { private NewDirectEnquiryEmailSupplier newDirectEnquiryEmailSupplier; @Spy private AssignEnquiryEmailSupplier assignEnquiryEmailSupplier; - @Mock private ConsultantAgencyRepository consultantAgencyRepository; @Mock private MailService mailService; - @Mock private AgencyService agencyService; @Mock SessionService sessionService; @Mock ConsultantAgencyService consultantAgencyService; @Mock Logger logger; @Mock ConsultantService consultantService; - @Mock RocketChatService rocketChatService; @Mock ConsultingTypeManager consultingTypeManager; @Mock IdentityClientConfig identityClientConfig; @Mock ReleaseToggleService releaseToggleService; @@ -470,8 +409,6 @@ public class EmailNotificationFacadeTest { @SuppressWarnings("unused") KeycloakService keycloakService; - @Mock TenantTemplateSupplier tenantTemplateSupplier; - @Before public void setup() throws NoSuchFieldException, SecurityException { when(identityClientConfig.getEmailDummySuffix()).thenReturn(FIELD_VALUE_EMAIL_DUMMY_SUFFIX); @@ -753,72 +690,6 @@ public void sendNewMessageNotification_Should_LogError_WhenSessionServiceFails() verify(mailService).sendEmailNotification(Mockito.any()); } - /** Method: sendNewFeedbackMessageNotification */ - @Test - public void - sendNewFeedbackMessageNotification_Should_SendEmailToAllFeedbackChatGroupMembersWithDecodedUsernames_WhenAssignedConsultantWroteAFeedbackMessage() { - when(consultantService.getConsultant(CONSULTANT_ID)).thenReturn(Optional.of(CONSULTANT)); - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)).thenReturn(SESSION); - when(rocketChatService.getChatUsers(RC_FEEDBACK_GROUP_ID)).thenReturn(GROUP_MEMBERS); - when(consultantService.getConsultantByRcUserId(GROUP_MEMBER_1_RC_ID)) - .thenReturn(Optional.of(CONSULTANT2)); - when(consultantService.getConsultantByRcUserId(GROUP_MEMBER_2_RC_ID)) - .thenReturn(Optional.of(CONSULTANT3)); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(mailService).sendEmailNotification(Mockito.any()); - } - - @Test - public void - sendNewFeedbackMessageNotification_Should_SendEmailToAssignedConsultantWithDecodedUsername_WhenOtherConsultantWrote() { - - when(consultantService.getConsultant(CONSULTANT_ID_2)).thenReturn(Optional.of(CONSULTANT2)); - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)).thenReturn(SESSION); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID_2, null); - - verify(mailService).sendEmailNotification(Mockito.any()); - } - - @Test - public void - sendNewFeedbackMessageNotification_Should_LogErrorAndSendNoMails_WhenCallingConsultantIsNotFound() { - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString()); - } - - @Test - public void - sendNewFeedbackMessageNotification_Should_LogErrorAndSendNoMails_WhenSessionIsNotFound() { - - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)).thenReturn(null); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString()); - } - - @Test - public void - sendNewFeedbackMessageNotification_Should_LogErrorAndSendNoMails_WhenNoConsultantIsAssignedToSession() { - - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)) - .thenReturn(SESSION_WITHOUT_CONSULTANT); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString()); - } - @Test public void sendAssignEnquiryEmailNotification_Should_SendEmail_WhenAllParametersAreValid() { @@ -879,16 +750,6 @@ public void sendNewMessageNotification_ShouldNot_LogError_When_SessionStatusIsNe verify(logger).error(anyString(), any(RuntimeException.class)); } - @Test - public void - sendAssignEnquiryEmailNotification_Should_LogError_When_SessionServiceThrowsRuntimeException() { - when(sessionService.getSessionByFeedbackGroupId(any())).thenThrow(new RuntimeException("")); - - emailNotificationFacade.sendNewFeedbackMessageNotification(GROUP_MEMBER_1_RC_ID, USER_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString(), any(Exception.class)); - } - @Test public void sendNewEnquiryEmailNotification_Should_notSendAnyMail_When_sessionHasAlreadyAConsultantAssigned() { diff --git a/src/test/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProviderTest.java index b5d2664a4..25ce5d265 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/liveevents/RelevantUserAccountIdsBySessionProviderTest.java @@ -73,32 +73,6 @@ public void collectUserIds_Should_returnAllUserIds_When_userIsAuthenticatedUser( assertThat(userIds.get(1), is("consultant")); } - @Test - public void - collectUserIds_Should_returnAllUserIds_When_consultantIsAuthenticatedUserAndRcIdIsFeedbackGroupId() { - when(sessionRepository.findByFeedbackGroupId(any())) - .thenReturn(buildSessionWithUserAndConsultant()); - - List userIds = this.bySessionProvider.collectUserIds("rcGroupId"); - - assertThat(userIds, hasSize(2)); - assertThat(userIds.get(0), is("user")); - assertThat(userIds.get(1), is("consultant")); - } - - @Test - public void - collectUserIds_Should_returnAllUserIds_When_userIsAuthenticatedUserAndRcIdIsFeedbackGroupId() { - when(sessionRepository.findByFeedbackGroupId(any())) - .thenReturn(buildSessionWithUserAndConsultant()); - - List userIds = this.bySessionProvider.collectUserIds("rcGroupId"); - - assertThat(userIds, hasSize(2)); - assertThat(userIds.get(0), is("user")); - assertThat(userIds.get(1), is("consultant")); - } - @Test public void collectUserIds_Should_returnAllUserIds_When_authenticatedUserIsOther() { when(sessionRepository.findByGroupId(any())).thenReturn(buildSessionWithUserAndConsultant()); @@ -109,26 +83,4 @@ public void collectUserIds_Should_returnAllUserIds_When_authenticatedUserIsOther assertThat(userIds.get(0), is("user")); assertThat(userIds.get(1), is("consultant")); } - - @Test - public void - collectUserIds_Should_returnAllUserIds_When_authenticatedUserIsOtherAndRcIdIsFeedbackGroupId() { - when(sessionRepository.findByFeedbackGroupId(any())) - .thenReturn(buildSessionWithUserAndConsultant()); - - List userIds = this.bySessionProvider.collectUserIds("rcGroupId"); - - assertThat(userIds, hasSize(2)); - assertThat(userIds.get(0), is("user")); - assertThat(userIds.get(1), is("consultant")); - } - - @Test - public void collectUserIds_Should_returnEmptyList_When_sessionHasNoConsultant() { - when(sessionRepository.findByFeedbackGroupId(any())).thenReturn(Optional.of(new Session())); - - List userIds = this.bySessionProvider.collectUserIds("rcGroupId"); - - assertThat(userIds, hasSize(0)); - } } From 1b5e3b1886a59a953a4bd3c82786f0d4fdd88234 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 11:45:51 +0200 Subject: [PATCH 05/64] CARITAS-243 - Remove NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER --- api/userservice.yaml | 1 - .../userservice/api/adapters/web/mapping/UserDtoMapper.java | 3 --- .../api/facade/userdata/ConsultantDataProvider.java | 6 +----- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index 5dc7d8536..48ae889c7 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -3090,7 +3090,6 @@ components: enum: - DAILY_ENQUIRY - NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER - - NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER securitySchemes: Bearer: diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/web/mapping/UserDtoMapper.java b/src/main/java/de/caritas/cob/userservice/api/adapters/web/mapping/UserDtoMapper.java index bc6167215..091932806 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/web/mapping/UserDtoMapper.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/web/mapping/UserDtoMapper.java @@ -152,9 +152,6 @@ private String mapEmailType(EmailToggle emailToggle) { if (name.equals(EmailType.NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER)) { return "notifyNewChatMessageFromAdviceSeeker"; } - if (name.equals(EmailType.NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER)) { - return "notifyNewFeedbackMessageFromAdviceSeeker"; - } return null; } diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/userdata/ConsultantDataProvider.java b/src/main/java/de/caritas/cob/userservice/api/facade/userdata/ConsultantDataProvider.java index 2c4c58a95..d2ca8dea1 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/userdata/ConsultantDataProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/userdata/ConsultantDataProvider.java @@ -96,11 +96,7 @@ private Set emailTogglesOf(Consultant consultant) { newChatToggle.setName(EmailType.NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER); newChatToggle.setState(consultant.getNotifyNewChatMessageFromAdviceSeeker()); - var newFeedbackToggle = new EmailToggle(); - newFeedbackToggle.setName(EmailType.NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER); - newFeedbackToggle.setState(consultant.getNotifyNewFeedbackMessageFromAdviceSeeker()); - - return Set.of(enquiryToggle, newChatToggle, newFeedbackToggle); + return Set.of(enquiryToggle, newChatToggle); } private List agencyDTOsOf(Consultant consultant) { From 40a42aea03ed3016590bfe1ef57f5233f20a3afc Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 11:57:32 +0200 Subject: [PATCH 06/64] CARITAS-243 - Fix tests as a result of the removal of NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER --- .../web/controller/UserControllerE2EIT.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java index 8856ffe82..b11bcd686 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java @@ -2083,13 +2083,8 @@ private HashMap givenAValidEmailTogglePatchDto(boolean state) { newChatMessageToggle.setName(EmailType.NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER); newChatMessageToggle.setState(state); - var newFeedbackMessageToggle = new EmailToggle(); - newFeedbackMessageToggle.setName(EmailType.NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER); - newFeedbackMessageToggle.setState(state); - var patchDtoAsMap = new HashMap(3); - patchDtoAsMap.put( - "emailToggles", Set.of(dailyEnquiryToggle, newChatMessageToggle, newFeedbackMessageToggle)); + patchDtoAsMap.put("emailToggles", Set.of(dailyEnquiryToggle, newChatMessageToggle)); if (!state) { consultantsToReset.add(consultant); @@ -2136,11 +2131,7 @@ private void givenAFullPatchDto() { newChat.setName(EmailType.NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER); newChat.setState(true); - var newFeedback = new EmailToggle(); - newFeedback.setName(EmailType.NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER); - newFeedback.setState(true); - - patchUserDTO.setEmailToggles(Set.of(dailyEnquiries, newChat, newFeedback)); + patchUserDTO.setEmailToggles(Set.of(dailyEnquiries, newChat)); patchUserDTO.setEmailNotifications(activeEmailNotifications()); } From 7bf3148f526bce0253357b4bd0a2996092bdd573 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 12:14:03 +0200 Subject: [PATCH 07/64] CARITAS-243 - Fix tests as a result of the removal of NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER --- api/userservice.yaml | 2 +- .../web/controller/UserController.java | 2 +- .../api/port/out/SessionRepository.java | 7 ++-- .../api/service/session/SessionService.java | 11 +++---- .../ConsultantSessionListService.java | 3 +- .../sessionlist/UserSessionListService.java | 3 +- .../api/service/session/SessionServiceIT.java | 4 +-- .../service/session/SessionServiceTest.java | 33 ++++++++----------- 8 files changed, 27 insertions(+), 38 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index 48ae889c7..7b2834c48 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -251,7 +251,7 @@ paths: - user-controller summary: 'Returns sessions for given RocketChat group or feedback group IDs. [Authorization: Role: user, consultant]' - operationId: getSessionsForGroupOrFeedbackGroupIds + operationId: getSessionsForGroupIds parameters: - name: RCToken in: header diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java index a33b9eb33..b911895d3 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java @@ -343,7 +343,7 @@ public ResponseEntity getSessionsForAuthenticatedUse * @return {@link ResponseEntity} of {@link UserSessionListResponseDTO} */ @Override - public ResponseEntity getSessionsForGroupOrFeedbackGroupIds( + public ResponseEntity getSessionsForGroupIds( @RequestHeader String rcToken, @RequestParam(value = "rcGroupIds") List rcGroupIds) { GroupSessionListResponseDTO groupSessionList; if (authenticatedUser.isConsultant()) { diff --git a/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java b/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java index cb0157240..87f5f30d7 100644 --- a/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java +++ b/src/main/java/de/caritas/cob/userservice/api/port/out/SessionRepository.java @@ -117,12 +117,9 @@ List findByAgencyIdInAndConsultantNotAndStatusAndTeamSessionIsTrueOrder Optional findByGroupId(String groupId); @Query( - value = - "SELECT * " - + "FROM session s " - + "WHERE s.rc_group_id IN :group_ids OR s.rc_feedback_group_id IN :group_ids", + value = "SELECT * " + "FROM session s " + "WHERE s.rc_group_id IN :group_ids", nativeQuery = true) - List findByGroupOrFeedbackGroupIds(@Param(value = "group_ids") Set groupIds); + List findByGroupIds(@Param(value = "group_ids") Set groupIds); /** * Find all {@link Session}s by an agency ID and SessionStatus where consultant is null. diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java index bed08b9c4..5b3a64e33 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java @@ -394,10 +394,10 @@ public void deleteSession(Session session) { * @param roles the roles of the given user * @return {@link UserSessionResponseDTO} */ - public List getSessionsByUserAndGroupOrFeedbackGroupIds( + public List getSessionsByUserAndGroupIds( String userId, Set rcGroupIds, Set roles) { checkForAskerRoles(roles); - var sessions = sessionRepository.findByGroupOrFeedbackGroupIds(rcGroupIds); + var sessions = sessionRepository.findByGroupIds(rcGroupIds); sessions.forEach(session -> checkAskerPermissionForSession(session, userId, roles)); List agencies = fetchAgencies(sessions); return convertToUserSessionResponseDTO(sessions, agencies); @@ -439,11 +439,10 @@ private List fetchAgencies(List sessions) { * @param roles the roles of the given consultant * @return {@link ConsultantSessionResponseDTO} */ - public List - getAllowedSessionsByConsultantAndGroupOrFeedbackGroupIds( - Consultant consultant, Set rcGroupIds, Set roles) { + public List getAllowedSessionsByConsultantAndGroupIds( + Consultant consultant, Set rcGroupIds, Set roles) { checkForUserOrConsultantRole(roles); - var sessions = sessionRepository.findByGroupOrFeedbackGroupIds(rcGroupIds); + var sessions = sessionRepository.findByGroupIds(rcGroupIds); List allowedSessions = sessions.stream() diff --git a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java index b5fabef37..5d8019b76 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java @@ -45,8 +45,7 @@ public List retrieveSessionsForConsultantAndGroupI Consultant consultant, List rcGroupIds, Set roles) { var groupIds = new HashSet<>(rcGroupIds); var sessions = - sessionService.getAllowedSessionsByConsultantAndGroupOrFeedbackGroupIds( - consultant, groupIds, roles); + sessionService.getAllowedSessionsByConsultantAndGroupIds(consultant, groupIds, roles); var chats = chatService.getChatSessionsForConsultantByGroupIds(groupIds); return mergeConsultantSessionsAndChats(consultant, sessions, chats); diff --git a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java index 5bf6494fd..3456d0220 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java @@ -62,8 +62,7 @@ public List retrieveSessionsForAuthenticatedUserAndGroup Set roles) { var groupIds = new HashSet<>(rcGroupIds); - var sessions = - sessionService.getSessionsByUserAndGroupOrFeedbackGroupIds(userId, groupIds, roles); + var sessions = sessionService.getSessionsByUserAndGroupIds(userId, groupIds, roles); var chats = chatService.getChatSessionsByGroupIds(groupIds); return mergeUserSessionsAndChats(sessions, chats, rocketChatCredentials); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java index 33cfb3de2..cb830f07c 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java @@ -92,7 +92,7 @@ void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldBeForbiddenIfUserHasNotReq assertThrows( ForbiddenException.class, () -> - sessionService.getSessionsByUserAndGroupOrFeedbackGroupIds( + sessionService.getSessionsByUserAndGroupIds( "9c4057d0-05ad-4e86-a47c-dc5bdeec03b9", Set.of("9faSTWZ5gurHLXy4R"), Collections.emptySet())); @@ -101,7 +101,7 @@ void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldBeForbiddenIfUserHasNotReq @Test void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldFetchAgencyForSession() { var sessions = - sessionService.getSessionsByUserAndGroupOrFeedbackGroupIds( + sessionService.getSessionsByUserAndGroupIds( "9c4057d0-05ad-4e86-a47c-dc5bdeec03b9", Set.of("9faSTWZ5gurHLXy4R"), Set.of("user")); assertEquals(1, sessions.size()); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java index 1c69b67ae..ea84a9705 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java @@ -210,7 +210,6 @@ class SessionServiceTest { @Mock private AgencyService agencyService; @Mock private Logger logger; @Mock private ConsultantService consultantService; - @Mock private UserService userService; @Mock private ConsultingTypeManager consultingTypeManager; private final EasyRandom easyRandom = new EasyRandom(); @@ -784,10 +783,10 @@ void initializeSession_Should_initializePeerChat_When_consultingTypeSettingsHasP @Test void - getAllowedSessionsByConsultantAndGroupOrFeedbackGroupIds_should_find_new_anonymous_enquiry_if_consultant_may_advise_consulting_type() { + getAllowedSessionsByConsultantAndGroupIds_should_find_new_anonymous_enquiry_if_consultant_may_advise_consulting_type() { Session anonymousEnquiry = createAnonymousNewEnquiryWithConsultingType(AGENCY_DTO_SUCHT.getConsultingType()); - when(sessionRepository.findByGroupOrFeedbackGroupIds(singleton("rcGroupId"))) + when(sessionRepository.findByGroupIds(singleton("rcGroupId"))) .thenReturn(singletonList(anonymousEnquiry)); when(agencyService.getAgencies(singletonList(4711L))).thenReturn(AGENCY_DTO_LIST); ConsultantAgency agency = new ConsultantAgency(); @@ -795,7 +794,7 @@ void initializeSession_Should_initializePeerChat_When_consultingTypeSettingsHasP var consultant = createConsultantWithAgencies(agency); var sessionResponse = - sessionService.getAllowedSessionsByConsultantAndGroupOrFeedbackGroupIds( + sessionService.getAllowedSessionsByConsultantAndGroupIds( consultant, singleton("rcGroupId"), singleton(UserRole.CONSULTANT.getValue())); assertEquals(1, sessionResponse.size()); @@ -803,7 +802,7 @@ void initializeSession_Should_initializePeerChat_When_consultingTypeSettingsHasP @Test void - getAllowedSessionsByConsultantAndGroupOrFeedbackGroupIds_should_only_return_the_sessions_the_consultant_can_see() { + getAllowedSessionsByConsultantAndGroupIds_should_only_return_the_sessions_the_consultant_can_see() { // given List sessions = new ArrayList<>(); ConsultantAgency agency = new ConsultantAgency(); @@ -812,11 +811,10 @@ void initializeSession_Should_initializePeerChat_When_consultingTypeSettingsHasP var allowedSession = giveAllowedSessionWithID(1L, consultant); sessions.add(giveAllowedSessionWithID(2L, null)); sessions.add(allowedSession); - when(sessionRepository.findByGroupOrFeedbackGroupIds(singleton("rcGroupId"))) - .thenReturn(sessions); + when(sessionRepository.findByGroupIds(singleton("rcGroupId"))).thenReturn(sessions); // when var sessionResponse = - sessionService.getAllowedSessionsByConsultantAndGroupOrFeedbackGroupIds( + sessionService.getAllowedSessionsByConsultantAndGroupIds( consultant, singleton("rcGroupId"), singleton(UserRole.CONSULTANT.getValue())); // then assertThat(sessionResponse).hasSize(1); @@ -845,34 +843,31 @@ void initializeSession_Should_initializePeerChat_When_consultingTypeSettingsHasP } @Test - void - getSessionsByUserAndGroupOrFeedbackGroupIds_should_find_session_for_anonymous_user_of_session() { + void getSessionsByUserAndGroupIds_should_find_session_for_anonymous_user_of_session() { Session anonymousEnquiry = createAnonymousNewEnquiryWithConsultingType(AGENCY_DTO_SUCHT.getConsultingType()); anonymousEnquiry.setUser(USER); - when(sessionRepository.findByGroupOrFeedbackGroupIds(singleton("rcGroupId"))) + when(sessionRepository.findByGroupIds(singleton("rcGroupId"))) .thenReturn(singletonList(anonymousEnquiry)); - var sessionResponse = getSessionsByUserAndGroupOrFeedbackGroupIds(USER_ID); + var sessionResponse = getSessionsByUserAndGroupIds(USER_ID); assertEquals(1, sessionResponse.size()); } @Test - void getSessionsByUserAndGroupOrFeedbackGroupIds_should_fail_if_user_is_not_owner_of_session() { + void getSessionsByUserAndGroupIds_should_fail_if_user_is_not_owner_of_session() { Session anonymousEnquiry = createAnonymousNewEnquiryWithConsultingType(AGENCY_DTO_SUCHT.getConsultingType()); anonymousEnquiry.setUser(USER); - when(sessionRepository.findByGroupOrFeedbackGroupIds(singleton("rcGroupId"))) + when(sessionRepository.findByGroupIds(singleton("rcGroupId"))) .thenReturn(singletonList(anonymousEnquiry)); - assertThrows( - ForbiddenException.class, () -> getSessionsByUserAndGroupOrFeedbackGroupIds("someOtherId")); + assertThrows(ForbiddenException.class, () -> getSessionsByUserAndGroupIds("someOtherId")); } - private List getSessionsByUserAndGroupOrFeedbackGroupIds( - String someOtherId) { - return sessionService.getSessionsByUserAndGroupOrFeedbackGroupIds( + private List getSessionsByUserAndGroupIds(String someOtherId) { + return sessionService.getSessionsByUserAndGroupIds( someOtherId, singleton("rcGroupId"), singleton(UserRole.ANONYMOUS.getValue())); } From f5a47634ad10059fc8499483597dfc6880dfa586 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 12:19:32 +0200 Subject: [PATCH 08/64] CARITAS-243 - Fix tests as a result of the removal of NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER --- api/userservice.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index 7b2834c48..fe2d9daf9 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -249,7 +249,7 @@ paths: get: tags: - user-controller - summary: 'Returns sessions for given RocketChat group or feedback group IDs. + summary: 'Returns sessions for given RocketChat group IDs. [Authorization: Role: user, consultant]' operationId: getSessionsForGroupIds parameters: From 3759edd0f15e5f4975e2285971645a49258f6a04 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 12:21:11 +0200 Subject: [PATCH 09/64] CARITAS-243 - Remove feeback related DTOs --- api/userservice.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index fe2d9daf9..1d1251e6f 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -2031,10 +2031,6 @@ components: type: string example: xGklslk2JJKK description: Rocket.Chat room ID - feedbackGroupId: - type: string - example: 8ertjlasdKJA - description: Rocket.Chat feedback room ID isPeerChat: type: boolean example: false @@ -2055,9 +2051,6 @@ components: messagesRead: type: boolean example: false - feedbackRead: - type: boolean - example: true isTeamSession: type: boolean example: false @@ -2221,10 +2214,6 @@ components: type: string example: xGklslk2JJKK description: Rocket.Chat room ID - feedbackGroupId: - type: string - example: 8ertjlasdKJA - description: Rocket.Chat feedback room ID consultantId: type: string example: 926b9777-4eef-443d-925a-4aa534797bd7 From 9d7d21c09d2f4446b3053bd040ea0399f8388a84 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 26 Jul 2024 14:03:00 +0200 Subject: [PATCH 10/64] CARITAS-243 - Fix tests related to the removal of feedback related DTOs --- .../userservice/api/UserServiceMapper.java | 7 - .../create/CreateConsultantSaga.java | 1 - .../facade/sessionlist/SessionListFacade.java | 20 --- .../cob/userservice/api/model/Consultant.java | 6 - .../NewFeedbackEmailSupplier.java | 18 -- .../api/service/session/SessionMapper.java | 2 - .../api/service/session/SessionService.java | 1 - .../ConsultantSessionEnricher.java | 24 --- .../ConsultantSessionListService.java | 15 -- .../UserControllerConsultantE2EIT.java | 8 - .../web/controller/UserControllerE2EIT.java | 13 +- .../web/controller/UserControllerIT.java | 13 -- .../UserControllerSessionE2EIT.java | 58 +------ .../admin/facade/ConsultantAdminFacadeIT.java | 4 - ...ntAgencyAdminUserServiceTenantAwareIT.java | 4 - .../CreateConsultantSagaTenantAwareIT.java | 1 - .../ConsultantUpdateServiceTenantAwareIT.java | 1 - ...SessionConversationListProviderTestIT.java | 3 - ...SessionConversationListProviderTestIT.java | 1 - .../facade/EmailNotificationFacadeTest.java | 45 ----- .../sessionlist/SessionListFacadeTest.java | 21 --- .../api/helper/SessionDataProviderTest.java | 1 - .../userservice/api/model/ConsultantTest.java | 1 - .../service/ConsultantAgencyServiceTest.java | 2 - .../NewFeedbackEmailSupplierTest.java | 4 - .../api/service/session/SessionServiceIT.java | 14 +- .../service/session/SessionServiceTest.java | 4 - .../ConsultantSessionEnricherTest.java | 85 --------- .../ConsultantSessionListServiceTest.java | 31 ---- .../api/testHelper/TestConstants.java | 161 +----------------- 30 files changed, 8 insertions(+), 561 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/UserServiceMapper.java b/src/main/java/de/caritas/cob/userservice/api/UserServiceMapper.java index 0d03e7452..3de9732d6 100644 --- a/src/main/java/de/caritas/cob/userservice/api/UserServiceMapper.java +++ b/src/main/java/de/caritas/cob/userservice/api/UserServiceMapper.java @@ -80,9 +80,6 @@ public Map mapOf(Consultant consultant, Map addi map.put( "notifyNewChatMessageFromAdviceSeeker", consultant.getNotifyNewChatMessageFromAdviceSeeker()); - map.put( - "notifyNewFeedbackMessageFromAdviceSeeker", - consultant.getNotifyNewFeedbackMessageFromAdviceSeeker()); map.put("walkThroughEnabled", consultant.getWalkThroughEnabled()); map.put("chatUserId", consultant.getRocketChatId()); map.put("preferredLanguage", consultant.getLanguageCode().toString()); @@ -380,10 +377,6 @@ public Consultant consultantOf(Consultant consultant, Map patchM var notify = (Boolean) patchMap.get("notifyNewChatMessageFromAdviceSeeker"); consultant.setNotifyNewChatMessageFromAdviceSeeker(notify); } - if (patchMap.containsKey("notifyNewFeedbackMessageFromAdviceSeeker")) { - var notify = (Boolean) patchMap.get("notifyNewFeedbackMessageFromAdviceSeeker"); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(notify); - } if (patchMap.containsKey("termsAndConditionsConfirmation") && (patchMap.get("termsAndConditionsConfirmation") instanceof Boolean)) { consultant.setTermsAndConditionsConfirmation(LocalDateTime.now()); diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSaga.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSaga.java index 06b487728..6d64d7761 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSaga.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSaga.java @@ -386,7 +386,6 @@ private Consultant buildConsultant( .encourage2fa(true) .notifyEnquiriesRepeating(true) .notifyNewChatMessageFromAdviceSeeker(true) - .notifyNewFeedbackMessageFromAdviceSeeker(true) .languageFormal(consultantCreationInput.isLanguageFormal()) .languages(Set.of()) .createDate(consultantCreationInput.getCreateDate()) diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java index cf8df1aef..87cada63f 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java @@ -1,9 +1,7 @@ package de.caritas.cob.userservice.api.facade.sessionlist; import static java.util.Comparator.comparing; -import static java.util.Objects.nonNull; import static java.util.Objects.requireNonNull; -import static org.apache.commons.lang3.BooleanUtils.isTrue; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentials; import de.caritas.cob.userservice.api.adapters.web.dto.ConsultantSessionListResponseDTO; @@ -14,7 +12,6 @@ import de.caritas.cob.userservice.api.container.SessionListQueryParameter; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session.SessionStatus; -import de.caritas.cob.userservice.api.service.session.SessionFilter; import de.caritas.cob.userservice.api.service.session.SessionMapper; import de.caritas.cob.userservice.api.service.session.SessionTopicEnrichmentService; import de.caritas.cob.userservice.api.service.sessionlist.ConsultantSessionListService; @@ -233,10 +230,6 @@ public ConsultantSessionListResponseDTO retrieveSessionsDtoForAuthenticatedConsu sortSessionsByLastMessageDateDesc(consultantSessions); } - if (isFeedbackFilter(sessionListQueryParameter)) { - removeAllChatsAndSessionsWithoutUnreadFeedback(consultantSessions); - } - List consultantSessionsSublist = new ArrayList<>(); if (areMoreConsultantSessionsAvailable( sessionListQueryParameter.getOffset(), consultantSessions)) { @@ -259,10 +252,6 @@ private void enrichWithTopicData(List consultantSe } } - private boolean isFeedbackFilter(SessionListQueryParameter sessionListQueryParameter) { - return sessionListQueryParameter.getSessionFilter().equals(SessionFilter.FEEDBACK); - } - private List retrieveConsultantSessionsSublist( SessionListQueryParameter sessionListQueryParameter, List consultantSessions) { @@ -330,15 +319,6 @@ private void sortSessionsByLastMessageDateDesc(List sessions) { - - sessions.removeIf( - consultantSessionResponseDTO -> - nonNull(consultantSessionResponseDTO.getChat()) - || isTrue(consultantSessionResponseDTO.getSession().getFeedbackRead())); - } - private boolean areMoreConsultantSessionsAvailable( int offset, List consultantSessions) { return CollectionUtils.isNotEmpty(consultantSessions) && offset < consultantSessions.size(); diff --git a/src/main/java/de/caritas/cob/userservice/api/model/Consultant.java b/src/main/java/de/caritas/cob/userservice/api/model/Consultant.java index 0e99b4da4..40fcdb2f7 100644 --- a/src/main/java/de/caritas/cob/userservice/api/model/Consultant.java +++ b/src/main/java/de/caritas/cob/userservice/api/model/Consultant.java @@ -171,12 +171,6 @@ public class Consultant implements TenantAware, NotificationsAware { columnDefinition = "bit default true") private Boolean notifyNewChatMessageFromAdviceSeeker; - @Column( - name = "notify_new_feedback_message_from_advice_seeker", - nullable = false, - columnDefinition = "bit default true") - private Boolean notifyNewFeedbackMessageFromAdviceSeeker; - @Column(name = "tenant_id") @Field private Long tenantId; diff --git a/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java b/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java index 6a8d0e928..cc456c549 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java @@ -2,7 +2,6 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyList; -import static java.util.Collections.singletonList; import static java.util.Objects.nonNull; import static org.apache.commons.collections4.CollectionUtils.isNotEmpty; import static org.apache.commons.lang3.StringUtils.isNotBlank; @@ -84,16 +83,6 @@ private List buildMailsDependingOnAuthor(Consultant sendingConsultant) if (areUsersEqual(userId, receivingConsultant)) { return buildNotificationMailsForAllOtherConsultants(sendingConsultant); } - - if (Boolean.TRUE.equals( - receivingConsultant.getNotifyNewFeedbackMessageFromAdviceSeeker() - && didAnotherConsultantWrite()) - && isLoggedOut(receivingConsultant)) { - var mail = buildMailForAssignedConsultant(sendingConsultant, receivingConsultant); - - return singletonList(mail); - } - return emptyList(); } @@ -123,7 +112,6 @@ private List buildMailsForAllDueConsultants( .filter(Objects::nonNull) .filter(this::notHimselfAndNotAbsent) .filter(this::isMainConsultantOrAssignedToSession) - .filter(Consultant::getNotifyNewFeedbackMessageFromAdviceSeeker) .filter(this::isLoggedOut) .map(consultant -> buildMailForAssignedConsultant(sendingConsultant, consultant)) .collect(Collectors.toList()); @@ -161,12 +149,6 @@ private boolean notHimselfAndNotAbsent(Consultant consultant) { && !consultant.isAbsent(); } - private boolean didAnotherConsultantWrite() { - return !areUsersEqual(userId, session.getConsultant()) - && !session.getConsultant().getEmail().isEmpty() - && !session.getConsultant().isAbsent(); - } - private boolean isLoggedOut(Consultant consultant) { return !rocketChatService.isLoggedIn(consultant.getRocketChatId()).orElse(false); } diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java index d1f54dc32..9527d9d6a 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java @@ -59,8 +59,6 @@ public SessionDTO convertToSessionDTO(Session session) { .status(session.getStatus().getValue()) .postcode(session.getPostcode()) .groupId(session.getGroupId()) - .feedbackGroupId( - nonNull(session.getFeedbackGroupId()) ? session.getFeedbackGroupId() : null) .askerRcId( nonNull(session.getUser()) && nonNull(session.getUser().getRcUserId()) ? session.getUser().getRcUserId() diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java index 5b3a64e33..bf724b1be 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java @@ -630,7 +630,6 @@ private ConsultantSessionDTO toConsultantSessionDTO(Session session) { .askerId(session.getUser().getUserId()) .askerRcId(session.getUser().getRcUserId()) .askerUserName(session.getUser().getUsername()) - .feedbackGroupId(session.getFeedbackGroupId()) .groupId(session.getGroupId()) .postcode(session.getPostcode()) .consultantId(nonNull(session.getConsultant()) ? session.getConsultant().getId() : null) diff --git a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricher.java b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricher.java index 45178c5dc..9126606e5 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricher.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricher.java @@ -5,7 +5,6 @@ import de.caritas.cob.userservice.api.container.RocketChatRoomInformation; import de.caritas.cob.userservice.api.facade.sessionlist.RocketChatRoomInformationProvider; import de.caritas.cob.userservice.api.helper.SessionListAnalyser; -import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.service.session.SessionTopicEnrichmentService; import java.util.List; @@ -22,7 +21,6 @@ public class ConsultantSessionEnricher { private final @NonNull SessionListAnalyser sessionListAnalyser; private final @NonNull RocketChatRoomInformationProvider rocketChatRoomInformationProvider; - private final @NonNull ConsultingTypeManager consultingTypeManager; @Autowired(required = false) private SessionTopicEnrichmentService sessionTopicEnrichmentService; @@ -67,18 +65,6 @@ private void enrichConsultantSession( rocketChatRoomInformation, consultant.getRocketChatId()); - // Due to a Rocket.Chat bug the read state is only set, when a message was posted - if (isFeedbackFlagAvailable(rocketChatRoomInformation, consultantSessionResponseDTO)) { - session.setFeedbackRead( - rocketChatRoomInformation.getReadMessages().get(session.getFeedbackGroupId())); - } else { - // Fallback: If map doesn't contain feedback group id set to true -> no feedback label in - // frontend application - session.setFeedbackRead( - !rocketChatRoomInformation - .getLastMessagesRoom() - .containsKey(session.getFeedbackGroupId())); - } enrichSessionWithTopic(consultantSessionResponseDTO); } @@ -88,14 +74,4 @@ private void enrichSessionWithTopic(ConsultantSessionResponseDTO consultantSessi consultantSessionResponseDTO.getSession()); } } - - private boolean isFeedbackFlagAvailable( - RocketChatRoomInformation rocketChatRoomInformation, ConsultantSessionResponseDTO session) { - return rocketChatRoomInformation - .getLastMessagesRoom() - .containsKey(session.getSession().getFeedbackGroupId()) - && rocketChatRoomInformation - .getReadMessages() - .containsKey(session.getSession().getFeedbackGroupId()); - } } diff --git a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java index 5d8019b76..eed06c000 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java @@ -1,9 +1,7 @@ package de.caritas.cob.userservice.api.service.sessionlist; import static java.util.Collections.emptyList; -import static java.util.Objects.nonNull; import static org.apache.commons.collections4.CollectionUtils.isNotEmpty; -import static org.apache.commons.lang3.BooleanUtils.isTrue; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentials; import de.caritas.cob.userservice.api.adapters.web.dto.ConsultantSessionListResponseDTO; @@ -13,7 +11,6 @@ import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session.SessionStatus; import de.caritas.cob.userservice.api.service.ChatService; -import de.caritas.cob.userservice.api.service.session.SessionFilter; import de.caritas.cob.userservice.api.service.session.SessionService; import java.util.ArrayList; import java.util.Comparator; @@ -140,10 +137,6 @@ public List retrieveTeamSessionsForAuthenticatedCo updateConsultantSessionValues(teamSessions, rcAuthToken, consultant); sortSessionsByLastMessageDateDesc(teamSessions); - if (sessionListQueryParameter.getSessionFilter().equals(SessionFilter.FEEDBACK)) { - removeAllChatsAndSessionsWithoutUnreadFeedback(teamSessions); - } - return teamSessions; } @@ -168,14 +161,6 @@ private void sortSessionsByLastMessageDateDesc(List sessions) { - sessions.removeIf( - consultantSessionResponseDTO -> - nonNull(consultantSessionResponseDTO.getChat()) - || isTrue(consultantSessionResponseDTO.getSession().getFeedbackRead())); - } - private List updateConsultantSessionValues( List sessions, String rcAuthToken, Consultant consultant) { return this.consultantSessionEnricher.updateRequiredConsultantSessionValues( diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerConsultantE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerConsultantE2EIT.java index fb2ef8c3e..f16c33835 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerConsultantE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerConsultantE2EIT.java @@ -33,8 +33,6 @@ import de.caritas.cob.userservice.api.adapters.web.dto.ConsultantSearchResultDTO; import de.caritas.cob.userservice.api.adapters.web.dto.LanguageResponseDTO; import de.caritas.cob.userservice.api.admin.facade.AdminUserFacade; -import de.caritas.cob.userservice.api.admin.service.agency.AgencyAdminService; -import de.caritas.cob.userservice.api.admin.service.tenant.TenantService; import de.caritas.cob.userservice.api.config.VideoChatConfig; import de.caritas.cob.userservice.api.config.apiclient.AgencyServiceApiControllerFactory; import de.caritas.cob.userservice.api.config.apiclient.TopicServiceApiControllerFactory; @@ -151,12 +149,8 @@ class UserControllerConsultantE2EIT { @MockBean private TopicServiceApiControllerFactory topicServiceApiControllerFactory; - @MockBean private AgencyAdminService agencyAdminService; - @MockBean private AdminUserFacade adminUserFacade; - @MockBean private TenantService tenantService; - private User user; private Consultant consultant; private Set allLanguages = @@ -193,7 +187,6 @@ void reset() { consultantToReset.setLanguages(null); consultantToReset.setNotifyEnquiriesRepeating(true); consultantToReset.setNotifyNewChatMessageFromAdviceSeeker(true); - consultantToReset.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultantRepository.save(consultantToReset); }); consultantsToReset = new HashSet<>(); @@ -911,7 +904,6 @@ void fetchSessionForConsultantShouldRespondWithConsultantSessionData() throws Ex .andExpect(jsonPath("consultingType", is(1))) .andExpect(jsonPath("status", is(1))) .andExpect(jsonPath("groupId", is("ix7E7HzXKTgGeQMyb"))) - .andExpect(jsonPath("feedbackGroupId", is("EQBcSwxn4eCAPYQ2J"))) .andExpect(jsonPath("consultantId", is("473f7c4b-f011-4fc2-847c-ceb636a5b399"))) .andExpect(jsonPath("consultantRcId", is("CztX9SWF4SJPvgknZ"))) .andExpect(jsonPath("askerId", is("06c6601f-a5b4-4812-9260-20065390b1f5"))) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java index b11bcd686..79da99b59 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java @@ -259,7 +259,6 @@ void reset() { consultantToReset.setLanguages(null); consultantToReset.setNotifyEnquiriesRepeating(true); consultantToReset.setNotifyNewChatMessageFromAdviceSeeker(true); - consultantToReset.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultantRepository.save(consultantToReset); }); consultantsToReset = new HashSet<>(); @@ -357,7 +356,7 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faByAppIsActive() .andExpect(jsonPath("available", is(false))) .andExpect(jsonPath("formalLanguage", is(consultant.isLanguageFormal()))) .andExpect(jsonPath("e2eEncryptionEnabled", is(false))) - .andExpect(jsonPath("emailToggles", hasSize(3))) + .andExpect(jsonPath("emailToggles", hasSize(2))) .andExpect( jsonPath( "emailToggles[*].name", @@ -479,7 +478,7 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faByEmailIsActive .andExpect(jsonPath("available", is(true))) .andExpect(jsonPath("formalLanguage", is(consultant.isLanguageFormal()))) .andExpect(jsonPath("e2eEncryptionEnabled", is(false))) - .andExpect(jsonPath("emailToggles", hasSize(3))) + .andExpect(jsonPath("emailToggles", hasSize(2))) .andExpect( jsonPath( "emailToggles[*].name", @@ -754,7 +753,7 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faIsNotActivated( .andExpect(jsonPath("formalLanguage", is(consultant.isLanguageFormal()))) .andExpect(jsonPath("preferredLanguage", is(consultant.getLanguageCode().toString()))) .andExpect(jsonPath("e2eEncryptionEnabled", is(false))) - .andExpect(jsonPath("emailToggles", hasSize(3))) + .andExpect(jsonPath("emailToggles", hasSize(2))) .andExpect( jsonPath( "emailToggles[*].name", @@ -857,7 +856,7 @@ void getUserDataShouldContainSetFlags() throws Exception { .header(CSRF_HEADER, CSRF_VALUE) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) - .andExpect(jsonPath("emailToggles", hasSize(3))) + .andExpect(jsonPath("emailToggles", hasSize(2))) .andExpect(jsonPath("emailToggles[?(@.name =~ /DAILY_ENQUIRY/)].state", is(List.of(false)))) .andExpect( jsonPath( @@ -888,7 +887,7 @@ void getUserDataShouldContainDisabledFollowUpEmails() throws Exception { .header(CSRF_HEADER, CSRF_VALUE) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) - .andExpect(jsonPath("emailToggles", hasSize(3))) + .andExpect(jsonPath("emailToggles", hasSize(2))) .andExpect(jsonPath("emailToggles[?(@.name =~ /DAILY_ENQUIRY/)].state", is(List.of(true)))) .andExpect( jsonPath( @@ -1201,7 +1200,6 @@ void patchUserDataShouldRespondWithNoContentOnEmailToggleAndChangeDbConsultant() var dbConsultant = consultantRepository.findById(consultant.getId()).orElseThrow(); assertFalse(dbConsultant.getNotifyEnquiriesRepeating()); assertFalse(dbConsultant.getNotifyNewChatMessageFromAdviceSeeker()); - assertFalse(dbConsultant.getNotifyNewFeedbackMessageFromAdviceSeeker()); } @Test @@ -2101,7 +2099,6 @@ private void givenConsultantIsNotToNotifyAboutNewEnquiries() { private void givenConsultantIsNotToNotifyAboutNewFollowUps() { consultant.setNotifyNewChatMessageFromAdviceSeeker(false); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(false); consultantRepository.save(consultant); consultantsToReset.add(consultant); } diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java index ce54c7bd2..f3cbc20c2 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java @@ -17,7 +17,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.neovisionaries.i18n.LanguageCode; -import de.caritas.cob.userservice.api.actions.registry.ActionsRegistry; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentials; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.web.controller.interceptor.ApiResponseEntityExceptionHandler; @@ -25,7 +24,6 @@ import de.caritas.cob.userservice.api.adapters.web.dto.validation.MandatoryFieldsProvider; import de.caritas.cob.userservice.api.adapters.web.mapping.ConsultantDtoMapper; import de.caritas.cob.userservice.api.adapters.web.mapping.UserDtoMapper; -import de.caritas.cob.userservice.api.admin.facade.AdminUserFacade; import de.caritas.cob.userservice.api.admin.service.consultant.update.ConsultantUpdateService; import de.caritas.cob.userservice.api.config.VideoChatConfig; import de.caritas.cob.userservice.api.config.auth.Authority; @@ -116,7 +114,6 @@ public class UserControllerIT { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -297,7 +294,6 @@ public class UserControllerIT { @MockBean private ConsultantDataFacade consultantDataFacade; @MockBean private SessionDataService sessionDataService; @MockBean private SessionArchiveService sessionArchiveService; - @MockBean private ActionsRegistry actionsRegistry; @MockBean @SuppressWarnings("unused") @@ -343,10 +339,6 @@ public class UserControllerIT { @SuppressWarnings("unused") private VideoChatConfig videoChatConfig; - @MockBean private AdminUserFacade adminUserFacade; - - @MockBean private EmailNotificationMapper emailNotificationMapper; - @MockBean private SessionDeleteService sessionDeleteService; @Mock private Logger logger; @@ -1687,11 +1679,6 @@ public void createChat_Should_ReturnInternalServerErrorAndLogError_When_ChatCoul .andExpect(status().is(HttpStatus.INTERNAL_SERVER_ERROR.value())); } - private String giveValidCreateChatBodyWithAgency(ConsultantAgency consultantAgency) { - return VALID_CREATE_CHAT_BODY_WITH_AGENCY_PLACEHOLDER.replace( - "${AGENCY_ID}", consultantAgency.getAgencyId().toString()); - } - private String giveValidCreateChatBodyWithAgencyId(Long agencyId) { return VALID_CREATE_CHAT_BODY_WITH_AGENCY_PLACEHOLDER.replace( "${AGENCY_ID}", agencyId.toString()); diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java index 16272c7ac..906115939 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java @@ -593,31 +593,9 @@ void getSessionsForAuthenticatedUserShouldReturnSessionsLastMessageTypeReassignC .andExpect(jsonPath("sessions[1].chat", is(nullValue()))); } - @Test - @WithMockUser(authorities = {AuthorityValue.USER_DEFAULT}) - void getSessionsForGroupOrFeedbackGroupIdsShouldFindSessionsByGroupOrFeedbackGroup() - throws Exception { - givenAUserWithSessions(); - givenNoRocketChatSubscriptionUpdates(); - givenNoRocketChatRoomUpdates(); - - mockMvc - .perform( - get("/users/sessions/room?rcGroupIds=mzAdWzQEobJ2PkoxP,9faSTWZ5gurHLXy4R") - .cookie(CSRF_COOKIE) - .header(CSRF_HEADER, CSRF_VALUE) - .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN) - .accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("sessions[0].session.feedbackGroupId", is("9faSTWZ5gurHLXy4R"))) - .andExpect(jsonPath("sessions[1].session.groupId", is("mzAdWzQEobJ2PkoxP"))) - .andExpect(jsonPath("sessions", hasSize(2))); - } - @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - void getSessionsForGroupOrFeedbackGroupIdsShouldFindSessionsByGroupOrFeedbackGroupForConsultant() - throws Exception { + void getSessionsForGroupIdsShouldFindSessionsByGroupConsultant() throws Exception { givenAConsultantWithSessions(); givenNoRocketChatSubscriptionUpdates(); givenNoRocketChatRoomUpdates(); @@ -631,7 +609,6 @@ void getSessionsForGroupOrFeedbackGroupIdsShouldFindSessionsByGroupOrFeedbackGro .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(jsonPath("sessions[0].session.groupId", is("YWKxhFX5K2HPpsFbs"))) - .andExpect(jsonPath("sessions[0].session.feedbackRead", is(true))) .andExpect(jsonPath("sessions[0].user.username", is("u25suchtler"))) .andExpect( jsonPath("sessions[0].consultant.id", is("bad14912-cf9f-4c16-9d0e-fe8ede9b60dc"))) @@ -694,24 +671,6 @@ void getSessionsForGroupOrFeedbackGroupIdsShouldContainConsultantOfUserSession() .andExpect(jsonPath("sessions", hasSize(1))); } - @Test - @WithMockUser(authorities = {AuthorityValue.USER_DEFAULT}) - void getSessionsForGroupOrFeedbackGroupIdsShouldBeForbiddenIfUserDoesNotParticipateInSession() - throws Exception { - givenAUserWithSessions(); - givenNoRocketChatSubscriptionUpdates(); - givenNoRocketChatRoomUpdates(); - - mockMvc - .perform( - get("/users/sessions/room?rcGroupIds=4SPkApB8So88c7tQ3") - .cookie(CSRF_COOKIE) - .header(CSRF_HEADER, CSRF_VALUE) - .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN) - .accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isForbidden()); - } - @ParameterizedTest @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) @ValueSource(strings = {"QBv2xym9qQ2DoAxkR", "doesNotExist", "mzAdWzQEobJ2PkoxP"}) @@ -794,7 +753,6 @@ void getSessionForIdShouldFindSessionsBySessionIdForConsultant() throws Exceptio .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(jsonPath("sessions[0].session.groupId", is("YWKxhFX5K2HPpsFbs"))) - .andExpect(jsonPath("sessions[0].session.feedbackRead", is(true))) .andExpect(jsonPath("sessions[0].user.username", is("u25suchtler"))) .andExpect( jsonPath("sessions[0].consultant.id", is("bad14912-cf9f-4c16-9d0e-fe8ede9b60dc"))) @@ -1401,20 +1359,6 @@ private void givenAUserWithSessions() { when(authenticatedUser.getRoles()).thenReturn(Set.of("user")); } - private void givenADeletedUserWithSessions() throws JsonProcessingException { - - user = userRepository.findById("9c4057d0-05ad-4e86-a47c-dc5bdeec03b9").orElseThrow(); - user.setDeleteDate(LocalDateTime.now()); - session = - user.getSessions().stream() - .filter(s -> s.getEnquiryMessageDate() != null) - .findFirst() - .orElseThrow(); - - when(authenticatedUser.getUserId()).thenReturn(user.getUserId()); - when(authenticatedUser.getRoles()).thenReturn(Set.of("user")); - } - private void givenAConsultantOfSameAgencyToAssignTo() { consultantToAssign = StreamSupport.stream(consultantRepository.findAll().spliterator(), true) diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/facade/ConsultantAdminFacadeIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/facade/ConsultantAdminFacadeIT.java index 8d52784c7..9ca7ca1fc 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/facade/ConsultantAdminFacadeIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/facade/ConsultantAdminFacadeIT.java @@ -17,7 +17,6 @@ import de.caritas.cob.userservice.api.adapters.web.dto.Sort.FieldEnum; import de.caritas.cob.userservice.api.adapters.web.dto.Sort.OrderEnum; import de.caritas.cob.userservice.api.admin.service.agency.AgencyAdminService; -import de.caritas.cob.userservice.api.config.apiclient.AgencyAdminServiceApiControllerFactory; import de.caritas.cob.userservice.api.config.apiclient.AgencyServiceApiControllerFactory; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; @@ -65,8 +64,6 @@ public class ConsultantAdminFacadeIT { @MockBean private ConsultingTypeManager consultingTypeManager; - @MockBean private AgencyAdminServiceApiControllerFactory agencyAdminServiceApiControllerFactory; - @MockBean private AgencyServiceApiControllerFactory agencyServiceApiControllerFactory; @Test @@ -230,7 +227,6 @@ private void givenConsultantWithoutAgency(String id) { newConsultant.setId(id); newConsultant.setNotifyEnquiriesRepeating(false); newConsultant.setNotifyNewChatMessageFromAdviceSeeker(false); - newConsultant.setNotifyNewFeedbackMessageFromAdviceSeeker(false); newConsultant.setLanguageCode(LanguageCode.de); consultantRepository.save(newConsultant); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/ConsultantAgencyAdminUserServiceTenantAwareIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/ConsultantAgencyAdminUserServiceTenantAwareIT.java index f3d0df767..4c840502f 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/ConsultantAgencyAdminUserServiceTenantAwareIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/ConsultantAgencyAdminUserServiceTenantAwareIT.java @@ -18,7 +18,6 @@ import com.google.api.client.util.Sets; import com.neovisionaries.i18n.LanguageCode; import de.caritas.cob.userservice.agencyadminserivce.generated.web.model.AgencyAdminResponseDTO; -import de.caritas.cob.userservice.api.Organizer; import de.caritas.cob.userservice.api.UserServiceApplication; import de.caritas.cob.userservice.api.adapters.web.dto.AgencyDTO; import de.caritas.cob.userservice.api.admin.service.consultant.create.agencyrelation.ConsultantAgencyRelationCreatorService; @@ -69,8 +68,6 @@ public class ConsultantAgencyAdminUserServiceTenantAwareIT { @MockBean private AgencyAdminService agencyAdminService; - @Autowired private Organizer organizer; - @MockBean private RemoveConsultantFromRocketChatService removeConsultantFromRocketChatService; private final EasyRandom easyRandom = new EasyRandom(); @@ -267,7 +264,6 @@ private Consultant givenAValidConsultant(String id, boolean isTeamConsultant) { consultant.setEncourage2fa(true); consultant.setNotifyEnquiriesRepeating(true); consultant.setNotifyNewChatMessageFromAdviceSeeker(true); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultant.setWalkThroughEnabled(true); consultant.setTeamConsultant(isTeamConsultant); consultant.setConsultantMobileTokens(Sets.newHashSet()); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSagaTenantAwareIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSagaTenantAwareIT.java index 6e88116b6..bb186aabd 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSagaTenantAwareIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/CreateConsultantSagaTenantAwareIT.java @@ -162,7 +162,6 @@ private void createConsultant(Long tenantId, String username) { consultant.setEncourage2fa(true); consultant.setNotifyEnquiriesRepeating(true); consultant.setNotifyNewChatMessageFromAdviceSeeker(true); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultant.setWalkThroughEnabled(true); consultant.setLanguageCode(LanguageCode.de); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/update/ConsultantUpdateServiceTenantAwareIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/update/ConsultantUpdateServiceTenantAwareIT.java index 1fdd79125..4b70455fd 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/update/ConsultantUpdateServiceTenantAwareIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/update/ConsultantUpdateServiceTenantAwareIT.java @@ -107,7 +107,6 @@ private Consultant givenAValidConsultant(String id, boolean isTeamConsultant) { consultant.setEncourage2fa(true); consultant.setNotifyEnquiriesRepeating(true); consultant.setNotifyNewChatMessageFromAdviceSeeker(true); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultant.setWalkThroughEnabled(true); consultant.setTeamConsultant(isTeamConsultant); consultant.setConsultantMobileTokens(Sets.newHashSet()); diff --git a/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedSessionConversationListProviderTestIT.java b/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedSessionConversationListProviderTestIT.java index b0370f8fb..e4c2e5f97 100644 --- a/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedSessionConversationListProviderTestIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedSessionConversationListProviderTestIT.java @@ -165,8 +165,6 @@ private void saveTestData(int amount) { this.sessionRepository.saveAll(sessions); } - private void setupConsultants() {} - private Consultant buildConsultant() { Consultant consultant = new Consultant(); consultant.setId(UUID.randomUUID().toString()); @@ -180,7 +178,6 @@ private Consultant buildConsultant() { consultant.setEncourage2fa(true); consultant.setNotifyEnquiriesRepeating(true); consultant.setNotifyNewChatMessageFromAdviceSeeker(true); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultant.setWalkThroughEnabled(true); consultant.setLanguageCode(LanguageCode.de); diff --git a/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedTeamSessionConversationListProviderTestIT.java b/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedTeamSessionConversationListProviderTestIT.java index 043fac64f..568eba755 100644 --- a/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedTeamSessionConversationListProviderTestIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/conversation/provider/ArchivedTeamSessionConversationListProviderTestIT.java @@ -180,7 +180,6 @@ private Consultant buildConsultant() { consultant.setEncourage2fa(true); consultant.setNotifyEnquiriesRepeating(true); consultant.setNotifyNewChatMessageFromAdviceSeeker(true); - consultant.setNotifyNewFeedbackMessageFromAdviceSeeker(true); consultant.setWalkThroughEnabled(true); consultant.setLanguageCode(LanguageCode.de); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java index 767d5eeed..9c88b7008 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java @@ -35,7 +35,6 @@ import com.google.api.client.util.Lists; import com.neovisionaries.i18n.LanguageCode; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; -import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; import de.caritas.cob.userservice.api.adapters.web.dto.NotificationsSettingsDTO; import de.caritas.cob.userservice.api.adapters.web.dto.ReassignmentNotificationDTO; import de.caritas.cob.userservice.api.config.auth.UserRole; @@ -115,7 +114,6 @@ public class EmailNotificationFacadeTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -148,7 +146,6 @@ public class EmailNotificationFacadeTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -181,7 +178,6 @@ public class EmailNotificationFacadeTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -214,40 +210,6 @@ public class EmailNotificationFacadeTest { true, true, true, - true, - null, - null, - ConsultantStatus.CREATED, - false, - LanguageCode.de, - null, - null, - false, - null); - private final Consultant ABSENT_CONSULTANT = - new Consultant( - "XXX", - "XXX", - "consultant", - "consultant", - "consultant", - "consultant@domain.de", - true, - false, - null, - false, - null, - 1L, - null, - null, - null, - null, - null, - null, - true, - true, - true, - true, null, null, ConsultantStatus.CREATED, @@ -337,13 +299,6 @@ public class EmailNotificationFacadeTest { private final String ERROR_MSG = "error"; private final List CONSULTANT_LIST = Arrays.asList(CONSULTANT_AGENCY, CONSULTANT_AGENCY_2); - - private final String GROUP_MEMBER_1_RC_ID = "yzx324sdg"; - private final GroupMemberDTO GROUP_MEMBER_1 = - new GroupMemberDTO(GROUP_MEMBER_1_RC_ID, "status1", "username1", "name1", ""); - private final String GROUP_MEMBER_2_RC_ID = "sdf33dfdsf"; - private final GroupMemberDTO GROUP_MEMBER_2 = - new GroupMemberDTO(GROUP_MEMBER_2_RC_ID, "status2", "username2", "name2", ""); private final NotificationsDTO NOTIFICATIONS_DTO_TO_ALL_TEAM_CONSULTANTS = new NotificationsDTO() .teamSessions( diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacadeTest.java index 173b82d69..1f50f19b7 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacadeTest.java @@ -3,7 +3,6 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_CHAT_RESPONSE_DTO_LIST; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_LIST; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_LIST_WITH_ONE_FEEDBACK; import static de.caritas.cob.userservice.api.testHelper.TestConstants.COUNT_0; import static de.caritas.cob.userservice.api.testHelper.TestConstants.COUNT_1; import static de.caritas.cob.userservice.api.testHelper.TestConstants.COUNT_10; @@ -15,7 +14,6 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.USER_SESSION_RESPONSE_SESSION_CHAT_DTO_LIST; import static java.util.Objects.nonNull; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; @@ -270,25 +268,6 @@ public void retrieveSessionsForAuthenticatedConsultant_Should_ReturnCorrectOffse assertEquals(CONSULTANT_SESSION_RESPONSE_DTO_LIST.size(), result.getSessions().size()); } - @Test - public void - retrieveSessionsForAuthenticatedConsultant_Should_ReturnFilteredSessionList_When_FeedbackFilterIsSet() { - - SessionListQueryParameter sessionListQueryParameter = - createStandardSessionListQueryParameterObject(OFFSET_0, COUNT_10, SessionFilter.FEEDBACK); - - when(consultantSessionListService.retrieveSessionsForAuthenticatedConsultant( - CONSULTANT, sessionListQueryParameter)) - .thenReturn(CONSULTANT_SESSION_RESPONSE_DTO_LIST_WITH_ONE_FEEDBACK); - - ConsultantSessionListResponseDTO result = - sessionListFacade.retrieveSessionsDtoForAuthenticatedConsultant( - CONSULTANT, sessionListQueryParameter); - - assertEquals(COUNT_1, result.getSessions().size()); - assertFalse(result.getSessions().get(0).getSession().getFeedbackRead()); - } - /** Method: retrieveTeamSessionsForAuthenticatedConsultant */ @Test public void diff --git a/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java index 95088a112..4ec9bd841 100644 --- a/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java @@ -81,7 +81,6 @@ public class SessionDataProviderTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, diff --git a/src/test/java/de/caritas/cob/userservice/api/model/ConsultantTest.java b/src/test/java/de/caritas/cob/userservice/api/model/ConsultantTest.java index dfda9cf2f..3b54f21b5 100644 --- a/src/test/java/de/caritas/cob/userservice/api/model/ConsultantTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/model/ConsultantTest.java @@ -38,7 +38,6 @@ public class ConsultantTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, diff --git a/src/test/java/de/caritas/cob/userservice/api/service/ConsultantAgencyServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/ConsultantAgencyServiceTest.java index 6acd4637b..e3e60f8ce 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/ConsultantAgencyServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/ConsultantAgencyServiceTest.java @@ -69,7 +69,6 @@ public class ConsultantAgencyServiceTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -90,7 +89,6 @@ public class ConsultantAgencyServiceTest { new ConsultantAgency(AGENCY_ID, null, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null); private final List CONSULTANT_NULL_AGENCY_LIST = Arrays.asList(CONSULTANT_NULL_AGENCY); - private final String ERROR = "error"; @InjectMocks private ConsultantAgencyService consultantAgencyService; @Mock private ConsultantAgencyRepository consultantAgencyRepository; diff --git a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java index f2f67703e..5f0b34b10 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java @@ -186,7 +186,6 @@ public void generateEmails_Should_ReturnExpectedMail_When_ConsultantsFeedbackTog when(consultant.getLanguageCode()).thenReturn(LanguageCode.de); when(consultant.isAbsent()).thenReturn(false); when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(consultant.getNotifyNewFeedbackMessageFromAdviceSeeker()).thenReturn(true); when(consultantService.getConsultantByRcUserId(anyString())) .thenReturn(Optional.of(consultant)); when(keycloakService.userHasRole(anyString(), anyString())).thenReturn(true); @@ -208,7 +207,6 @@ public void generateEmails_Should_ReturnNoMail_When_ConsultantsFeedbackToggleIsO when(consultant.getEmail()).thenReturn("a@b.com"); when(consultant.isAbsent()).thenReturn(false); when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(consultant.getNotifyNewFeedbackMessageFromAdviceSeeker()).thenReturn(false); when(consultantService.getConsultantByRcUserId(anyString())) .thenReturn(Optional.of(consultant)); when(keycloakService.userHasRole(anyString(), anyString())).thenReturn(true); @@ -232,7 +230,6 @@ public void generateEmails_Should_ReturnExpectedMail_When_ConsultantIsOffline() when(consultant.getLanguageCode()).thenReturn(LanguageCode.de); when(consultant.isAbsent()).thenReturn(false); when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(consultant.getNotifyNewFeedbackMessageFromAdviceSeeker()).thenReturn(true); when(rocketChatService.isLoggedIn(anyString())).thenReturn(Optional.of(false)); when(consultantService.getConsultantByRcUserId(anyString())) .thenReturn(Optional.of(consultant)); @@ -255,7 +252,6 @@ public void generateEmails_Should_ReturnNoMail_When_ConsultantIsOnline() when(consultant.getEmail()).thenReturn("a@b.com"); when(consultant.isAbsent()).thenReturn(false); when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(consultant.getNotifyNewFeedbackMessageFromAdviceSeeker()).thenReturn(true); when(rocketChatService.isLoggedIn(anyString())).thenReturn(Optional.of(true)); when(consultantService.getConsultantByRcUserId(anyString())) .thenReturn(Optional.of(consultant)); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java index cb830f07c..5b738641e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java @@ -64,7 +64,7 @@ class SessionServiceIT { private AgencyControllerApi agencyControllerApi; @BeforeEach - private void setUp() { + public void setUp() { when(topicServiceApiControllerFactory.createControllerApi()).thenReturn(topicControllerApi); when(agencyServiceApiControllerFactory.createControllerApi()).thenReturn(agencyControllerApi); when(agencyControllerApi.getApiClient()).thenReturn(new ApiClient()); @@ -98,17 +98,6 @@ void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldBeForbiddenIfUserHasNotReq Collections.emptySet())); } - @Test - void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldFetchAgencyForSession() { - var sessions = - sessionService.getSessionsByUserAndGroupIds( - "9c4057d0-05ad-4e86-a47c-dc5bdeec03b9", Set.of("9faSTWZ5gurHLXy4R"), Set.of("user")); - - assertEquals(1, sessions.size()); - var userSession = sessions.get(0); - assertEquals("9faSTWZ5gurHLXy4R", userSession.getSession().getFeedbackGroupId()); - } - @Test void fetchSessionForConsultant_Should_Return_ValidConsultantSessionDTO_When_ConsultantIsAssigned() { @@ -133,7 +122,6 @@ void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldFetchAgencyForSession() { assertEquals(session.getPostcode(), result.getPostcode()); assertEquals(session.getStatus().getValue(), result.getStatus().intValue()); assertEquals(session.getGroupId(), result.getGroupId()); - assertEquals(session.getFeedbackGroupId(), result.getFeedbackGroupId()); assertEquals(session.getConsultingTypeId(), result.getConsultingType().intValue()); assertEquals(session.getUserAge(), result.getAge()); assertEquals(session.getUserGender(), result.getGender()); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java index ea84a9705..c1732e34d 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java @@ -72,7 +72,6 @@ import de.caritas.cob.userservice.api.service.ConsultantService; import de.caritas.cob.userservice.api.service.LogService; import de.caritas.cob.userservice.api.service.agency.AgencyService; -import de.caritas.cob.userservice.api.service.user.UserService; import de.caritas.cob.userservice.api.testHelper.TestConstants; import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import java.util.ArrayList; @@ -122,7 +121,6 @@ class SessionServiceTest { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -593,7 +591,6 @@ void fetchSessionForConsultant_Should_Return_ValidConsultantSessionDTO() { assertEquals(session.getPostcode(), result.getPostcode()); assertEquals(session.getStatus().getValue(), result.getStatus().intValue()); assertEquals(session.getGroupId(), result.getGroupId()); - assertEquals(session.getFeedbackGroupId(), result.getFeedbackGroupId()); assertEquals(session.getConsultingTypeId(), result.getConsultingType().intValue()); assertEquals(session.getUserAge(), result.getAge()); assertEquals(session.getUserGender(), result.getGender()); @@ -942,7 +939,6 @@ Consultant createConsultantWithAgencies(ConsultantAgency... agencies) { true, true, true, - true, null, null, ConsultantStatus.CREATED, diff --git a/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricherTest.java b/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricherTest.java index 9438d98ce..32743fe7d 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricherTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionEnricherTest.java @@ -7,10 +7,8 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_2; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_2; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK_CHAT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.FILE_DTO; import static de.caritas.cob.userservice.api.testHelper.TestConstants.MESSAGES_READ_MAP_WITHOUT_UNREADS; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.MESSAGES_READ_MAP_WITH_ONE_FEEDBACK_UNREAD; import static de.caritas.cob.userservice.api.testHelper.TestConstants.MESSAGES_READ_MAP_WITH_UNREADS; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_TOKEN; @@ -35,7 +33,6 @@ import de.caritas.cob.userservice.api.facade.sessionlist.RocketChatRoomInformationProvider; import de.caritas.cob.userservice.api.helper.Helper; import de.caritas.cob.userservice.api.helper.SessionListAnalyser; -import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.service.session.SessionTopicEnrichmentService; import java.util.Date; import java.util.Map; @@ -58,8 +55,6 @@ public class ConsultantSessionEnricherTest { @Mock private RocketChatRoomInformationProvider rocketChatRoomInformationProvider; - @Mock private ConsultingTypeManager consultingTypeManager; - @Mock private SessionTopicEnrichmentService sessionTopicEnrichmentService; @After @@ -230,32 +225,6 @@ public void updateRequiredConsultantSessionValues_Should_SetCorrectMessageDate() assertTrue(result.getSession().getAttachment().getFileReceived()); } - @Test - public void - updateRequiredConsultantSessionValues_ShouldNot_SetIsFeedbackReadToFalse_WhenNoMessageWasPostedInTheFeedbackRoom() { - RocketChatRoomInformation rocketChatRoomInformation = - RocketChatRoomInformation.builder() - .readMessages(MESSAGES_READ_MAP_WITH_ONE_FEEDBACK_UNREAD) - .roomsForUpdate(ROOMS_UPDATE_DTO_LIST) - .groupIdToLastMessageFallbackDate(emptyMap()) - .lastMessagesRoom(ROOMS_LAST_MESSAGE_DTO_MAP) - .userRooms(USERS_ROOMS_LIST) - .build(); - when(rocketChatRoomInformationProvider.retrieveRocketChatInformation(Mockito.any())) - .thenReturn(rocketChatRoomInformation); - when(sessionListAnalyser.areMessagesForRocketChatGroupReadByUser( - Mockito.eq(rocketChatRoomInformation.getReadMessages()), Mockito.any())) - .thenReturn(true); - - ConsultantSessionResponseDTO result = - consultantSessionEnricher - .updateRequiredConsultantSessionValues( - singletonList(CONSULTANT_SESSION_RESPONSE_DTO), RC_TOKEN, CONSULTANT) - .get(0); - - assertFalse(result.getSession().getFeedbackRead()); - } - @Test public void updateRequiredConsultantSessionValues_Should_SendListWithMonitoringFalse_When_NoMonitoringSetInConsultingTypeSettings() { @@ -352,32 +321,6 @@ public void updateRequiredConsultantSessionValues_Should_SetCorrectMessageDate() assertFalse(result.getSession().getMessagesRead()); } - @Test - public void - updateRequiredConsultantSessionValues_Should_ReturnSessionListWithFeedbackReadTrue_WhenThereAreNoUnreadFeedbackMessages() { - RocketChatRoomInformation rocketChatRoomInformation = - RocketChatRoomInformation.builder() - .readMessages(MESSAGES_READ_MAP_WITHOUT_UNREADS) - .roomsForUpdate(ROOMS_UPDATE_DTO_LIST) - .lastMessagesRoom(ROOMS_LAST_MESSAGE_DTO_MAP) - .groupIdToLastMessageFallbackDate(emptyMap()) - .userRooms(USERS_ROOMS_LIST) - .build(); - when(rocketChatRoomInformationProvider.retrieveRocketChatInformation(Mockito.any())) - .thenReturn(rocketChatRoomInformation); - when(sessionListAnalyser.areMessagesForRocketChatGroupReadByUser( - Mockito.eq(rocketChatRoomInformation.getReadMessages()), Mockito.any())) - .thenReturn(true); - - ConsultantSessionResponseDTO result = - consultantSessionEnricher - .updateRequiredConsultantSessionValues( - singletonList(CONSULTANT_SESSION_RESPONSE_DTO), RC_TOKEN, CONSULTANT) - .get(0); - - assertTrue(result.getSession().getFeedbackRead()); - } - @Test public void updateRequiredConsultantSessionValues_Should_ReturnMessageDateAsUnixtime0_WhenNoMessages() { @@ -401,34 +344,6 @@ public void updateRequiredConsultantSessionValues_Should_SetCorrectMessageDate() assertEquals(Long.valueOf(Helper.UNIXTIME_0.getTime()), result.getSession().getMessageDate()); } - @Test - public void - updateRequiredConsultantSessionValues_Should_ReturnSessionListWithFeedbackReadTrue_WhenFeedbackGroupIdIsNull() { - RocketChatRoomInformation rocketChatRoomInformation = - RocketChatRoomInformation.builder() - .readMessages(MESSAGES_READ_MAP_WITHOUT_UNREADS) - .roomsForUpdate(ROOMS_UPDATE_DTO_LIST) - .lastMessagesRoom(ROOMS_LAST_MESSAGE_DTO_MAP) - .groupIdToLastMessageFallbackDate(emptyMap()) - .userRooms(USERS_ROOMS_LIST) - .build(); - when(rocketChatRoomInformationProvider.retrieveRocketChatInformation(Mockito.any())) - .thenReturn(rocketChatRoomInformation); - when(sessionListAnalyser.areMessagesForRocketChatGroupReadByUser( - Mockito.eq(rocketChatRoomInformation.getReadMessages()), Mockito.any())) - .thenReturn(true); - - ConsultantSessionResponseDTO result = - consultantSessionEnricher - .updateRequiredConsultantSessionValues( - singletonList(CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK_CHAT), - RC_TOKEN, - CONSULTANT) - .get(0); - - assertTrue(result.getSession().getFeedbackRead()); - } - @Test public void updateRequiredConsultantSessionValues_Should_ReturnSessionListWithChatMessagesReadFalse_WhenThereAreUnreadSessionMessages() { diff --git a/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListServiceTest.java index 2b6d416c0..275cfe283 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListServiceTest.java @@ -3,15 +3,12 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_LIST; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_LIST_WITH_ENCRYPTED_CHAT_MESSAGE; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_WITH_ENCRYPTED_CHAT_MESSAGE; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_SESSION_RESPONSE_DTO_WITH_FEEDBACK; import static de.caritas.cob.userservice.api.testHelper.TestConstants.COUNT_10; import static de.caritas.cob.userservice.api.testHelper.TestConstants.OFFSET_0; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_TOKEN; import static de.caritas.cob.userservice.api.testHelper.TestConstants.SESSION_STATUS_IN_PROGRESS; import static de.caritas.cob.userservice.api.testHelper.TestConstants.SESSION_STATUS_NEW; -import static java.util.Arrays.asList; import static java.util.Objects.nonNull; import static org.jsoup.helper.Validate.fail; import static org.junit.Assert.assertEquals; @@ -30,7 +27,6 @@ import de.caritas.cob.userservice.api.service.ChatService; import de.caritas.cob.userservice.api.service.session.SessionFilter; import de.caritas.cob.userservice.api.service.session.SessionService; -import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Test; @@ -138,33 +134,6 @@ public void retrieveSessionsForAuthenticatedConsultant_Should_MergeSessionsAndCh } } - @Test - public void - retrieveTeamSessionsForAuthenticatedConsultant_Should_ReturnFilteredSessionList_WhenFeedbackFilter() { - List responseDTOS = - new ArrayList<>( - asList( - CONSULTANT_SESSION_RESPONSE_DTO_WITH_FEEDBACK, - CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK, - CONSULTANT_SESSION_RESPONSE_DTO_WITH_ENCRYPTED_CHAT_MESSAGE)); - when(sessionService.getTeamSessionsForConsultant(CONSULTANT)).thenReturn(responseDTOS); - - SessionListQueryParameter sessionListQueryParameter = - SessionListQueryParameter.builder() - .sessionStatus(SESSION_STATUS_NEW) - .offset(OFFSET_0) - .count(COUNT_10) - .sessionFilter(SessionFilter.FEEDBACK) - .build(); - - List result = - consultantSessionListService.retrieveTeamSessionsForAuthenticatedConsultant( - CONSULTANT, RC_TOKEN, sessionListQueryParameter); - - assertEquals(1, result.size()); - assertFalse(result.get(0).getSession().getFeedbackRead()); - } - @Test public void retrieveSessionsForAuthenticatedConsultant_Should_returnEmptyList_When_SessionStatusIsInitial() { diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index 3977f798c..2b3dda9a5 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -375,7 +375,6 @@ public class TestConstants { public static final AgencyDTO EMPTY_AGENCY_DTO = new AgencyDTO(); public static final String DESCRIPTION = "description"; public static final boolean IS_TEAM_AGENCY = true; - public static final boolean IS_NO_TEAM_AGENCY = false; public static final boolean IS_NOT_OFFLINE = false; public static final AgencyDTO AGENCY_DTO_SUCHT = new AgencyDTO() @@ -417,7 +416,6 @@ public class TestConstants { public static final String USER_ID_3 = "df3322-fd33-asdf-3333-2332jk23j32j"; public static final String CONSULTANT_ID = "87ddcss-650d-42bb-8299-f8e3f6j8dk3"; public static final String CONSULTANT_ID_2 = "kd93kd-fd33-asdf-3333-2332jkkk39d"; - public static final String CONSULTANT_ID_3 = "ksf93j-3344-32gg-2344-93kd93jaf"; public static final String MAIN_CONSULTANT_ID = "asdj78wfjsdf"; public static final String RC_USER_ID_MAIN_CONSULTANT = "xxxyyy"; public static final String ENCODING_PREFIX = "enc."; @@ -464,7 +462,6 @@ public class TestConstants { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -497,7 +494,6 @@ public class TestConstants { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -530,7 +526,6 @@ public class TestConstants { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -564,7 +559,6 @@ public class TestConstants { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -797,7 +791,6 @@ public class TestConstants { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -830,7 +823,6 @@ public class TestConstants { true, true, true, - true, null, null, ConsultantStatus.CREATED, @@ -869,23 +861,6 @@ public class TestConstants { .isPeerChat(false) .build(); - public static final Session SESSION_WITH_CONSULTANT = - Session.builder() - .id(SESSION_ID) - .consultant(CONSULTANT_2) - .consultingTypeId(CONSULTING_TYPE_ID_SUCHT) - .registrationType(REGISTERED) - .agencyId(AGENCY_ID) - .enquiryMessageDate(nowInUtc()) - .groupId(RC_GROUP_ID) - .postcode(POSTCODE) - .status(IN_PROGRESS) - .createDate(nowInUtc()) - .updateDate(nowInUtc()) - .teamSession(false) - .isPeerChat(false) - .build(); - public static final Session SESSION_WITH_ASKER_AND_CONSULTANT = Session.builder() .id(SESSION_ID) @@ -1081,7 +1056,6 @@ public class TestConstants { .status(SESSION_STATUS_IN_PROGRESS) .postcode(POSTCODE) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .askerRcId(RC_USER_ID) .messageDate(MESSAGE_DATE) .isTeamSession(IS_TEAM_SESSION); @@ -1093,7 +1067,6 @@ public class TestConstants { .status(SESSION_STATUS_IN_PROGRESS) .postcode(POSTCODE) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .askerRcId(RC_USER_ID) .messageDate(MESSAGE_DATE) .isTeamSession(IS_TEAM_SESSION); @@ -1107,8 +1080,6 @@ public class TestConstants { .session(SESSION_DTO_U25) .agency(AGENCY_DTO_U25) .consultant(SESSION_CONSULTANT_FOR_USER_DTO); - public static final List USER_SESSION_RESPONSE_DTO_LIST_SUCHT = - Collections.singletonList(USER_SESSION_RESPONSE_DTO_SUCHT); public static final List USER_SESSION_RESPONSE_DTO_LIST_U25 = Collections.singletonList(USER_SESSION_RESPONSE_DTO_U25); public static final SessionDTO SESSION_DTO_1 = @@ -1118,7 +1089,6 @@ public class TestConstants { .consultingType(0) .status(0) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .askerRcId(RC_USER_ID) .messageDate(Helper.getUnixTimestampFromDate(NOW)) .isTeamSession(IS_NO_TEAM_SESSION); @@ -1129,7 +1099,6 @@ public class TestConstants { .consultingType(0) .status(0) .groupId(RC_GROUP_ID_2) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID_2) .askerRcId(RC_USER_ID_2) .messageDate(Helper.getUnixTimestampFromDate(new Date(NOW.getTime() + 86400000))) .isTeamSession(IS_NO_TEAM_SESSION); @@ -1140,34 +1109,10 @@ public class TestConstants { .consultingType(0) .status(0) .groupId(RC_GROUP_ID_3) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID_3) .askerRcId(RC_USER_ID_3) .messageDate(Helper.getUnixTimestampFromDate(new Date(NOW.getTime() + 8640000))) .isTeamSession(IS_NO_TEAM_SESSION); - public static final SessionDTO SESSION_DTO_WITH_FEEDBACK = - new SessionDTO() - .id(SESSION_ID) - .agencyId(AGENCY_ID) - .consultingType(0) - .status(0) - .groupId(RC_GROUP_ID_3) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID_3) - .askerRcId(RC_USER_ID_3) - .messageDate(Helper.getUnixTimestampFromDate(new Date(NOW.getTime() + 8640000))) - .isTeamSession(IS_NO_TEAM_SESSION) - .feedbackRead(true); - public static final SessionDTO SESSION_DTO_WITHOUT_FEEDBACK = - new SessionDTO() - .id(SESSION_ID) - .agencyId(AGENCY_ID) - .consultingType(0) - .status(0) - .groupId(RC_GROUP_ID_3) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID_3) - .askerRcId(RC_USER_ID_3) - .messageDate(Helper.getUnixTimestampFromDate(new Date(NOW.getTime() + 8640000))) - .isTeamSession(IS_NO_TEAM_SESSION) - .feedbackRead(false); + /** Chat */ public static final String CHAT_TOPIC = "Pregnancy"; @@ -1417,20 +1362,6 @@ public class TestConstants { put(RC_FEEDBACK_GROUP_ID_3, true); } }; - public static final Map MESSAGES_READ_MAP_WITH_ONE_FEEDBACK_UNREAD = - new HashMap<>() { - { - put(RC_GROUP_ID, true); - put(RC_GROUP_ID_2, true); - put(RC_GROUP_ID_3, true); - put(RC_GROUP_ID_4, true); - put(RC_GROUP_ID_5, true); - put(RC_GROUP_ID_6, true); - put(RC_FEEDBACK_GROUP_ID, false); - put(RC_FEEDBACK_GROUP_ID_2, true); - put(RC_FEEDBACK_GROUP_ID_3, true); - } - }; public static final List USER_CHAT_RESPONSE_DTO_LIST = Arrays.asList(USER_CHAT_RESPONSE_DTO, USER_CHAT_RESPONSE_DTO_2, USER_CHAT_RESPONSE_DTO_3); @@ -1726,15 +1657,6 @@ public class TestConstants { new ConsultantSessionResponseDTO() .session(SESSION_DTO_3) .latestMessage(new Date(NOW.getTime() + 8640000)); - public static final ConsultantSessionResponseDTO CONSULTANT_SESSION_RESPONSE_DTO_WITH_FEEDBACK = - new ConsultantSessionResponseDTO() - .session(SESSION_DTO_WITH_FEEDBACK) - .latestMessage(new Date(NOW.getTime() + 8640000)); - public static final ConsultantSessionResponseDTO - CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK = - new ConsultantSessionResponseDTO() - .session(SESSION_DTO_WITHOUT_FEEDBACK) - .latestMessage(new Date(NOW.getTime() + 8640000)); public static final List CONSULTANT_SESSION_RESPONSE_DTO_LIST = new ArrayList<>() { private static final long serialVersionUID = 1L; @@ -1745,16 +1667,6 @@ public class TestConstants { add(CONSULTANT_SESSION_RESPONSE_DTO_3); } }; - public static final List - CONSULTANT_SESSION_RESPONSE_DTO_LIST_WITH_ONE_FEEDBACK = - new ArrayList<>() { - private static final long serialVersionUID = 1L; - - { - add(CONSULTANT_SESSION_RESPONSE_DTO_WITH_FEEDBACK); - add(CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK); - } - }; public static final List CONSULTANT_SESSION_CHAT_RESPONSE_DTO_LIST = new ArrayList<>() { private static final long serialVersionUID = 1L; @@ -1776,11 +1688,6 @@ public class TestConstants { .askerRcId(RC_USER_ID) .messageDate(Helper.getUnixTimestampFromDate(NOW)) .isTeamSession(IS_NO_TEAM_SESSION); - public static final ConsultantSessionResponseDTO - CONSULTANT_SESSION_RESPONSE_DTO_WITHOUT_FEEDBACK_CHAT = - new ConsultantSessionResponseDTO() - .session(SESSION_DTO_WITHOUT_FEEDBACK_CHAT) - .latestMessage(NOW); /** GroupMemberDTO */ public static final GroupMemberDTO GROUP_MEMBER_DTO = @@ -2071,23 +1978,6 @@ public class TestConstants { .languageFormal(false) .roles(null) .registration(null); - public static final ExtendedConsultingTypeResponseDTO - CONSULTING_TYPE_SETTINGS_WITH_UPDATE_SESSION_DATA_MESSAGE = - new ExtendedConsultingTypeResponseDTO() - .id(CONSULTING_TYPE_ID_SUCHT) - .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(false) - .groupChat(new GroupChatDTO().isGroupChat(false)) - .consultantBoundedToConsultingType(false) - .welcomeMessage( - new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) - .sendFurtherStepsMessage(false) - .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) - .notifications(null) - .languageFormal(false) - .roles(null) - .registration(null); public static final ExtendedConsultingTypeResponseDTO CONSULTING_TYPE_SETTINGS_WITH_MANDATORY_FIELDS_NULL = new ExtendedConsultingTypeResponseDTO() @@ -2105,56 +1995,7 @@ public class TestConstants { .languageFormal(false) .roles(null) .registration(REGISTRATION_WITH_MANDATORY_FIELDS_NULL); - public static final ExtendedConsultingTypeResponseDTO CONSULTING_TYPE_SETTINGS_PREGNANCY = - new ExtendedConsultingTypeResponseDTO() - .id(CONSULTING_TYPE_ID_PREGNANCY) - .slug("schwangerschaftsberatung") - .excludeNonMainConsultantsFromTeamSessions(false) - .groupChat(new GroupChatDTO().isGroupChat(false)) - .consultantBoundedToConsultingType(false) - .welcomeMessage( - new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) - .sendFurtherStepsMessage(false) - .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) - .notifications(null) - .languageFormal(false) - .roles(null) - .registration(REGISTRATION_WITH_MANDATORY_FIELDS_FALSE); - public static final ExtendedConsultingTypeResponseDTO CONSULTING_TYPE_SETTINGS_CHILDREN = - new ExtendedConsultingTypeResponseDTO() - .id(CONSULTING_TYPE_ID_CHILDREN) - .slug("kinder-jugendliche") - .excludeNonMainConsultantsFromTeamSessions(false) - .groupChat(new GroupChatDTO().isGroupChat(false)) - .consultantBoundedToConsultingType(false) - .welcomeMessage( - new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) - .sendFurtherStepsMessage(false) - .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) - .notifications(null) - .languageFormal(false) - .roles(null) - .registration(REGISTRATION_WITH_MANDATORY_FIELDS_FALSE); - public static final ExtendedConsultingTypeResponseDTO - CONSULTING_TYPE_SETTINGS_WITHOUT_MONITORING = - new ExtendedConsultingTypeResponseDTO() - .id(CONSULTING_TYPE_ID_SUCHT) - .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(false) - .groupChat(new GroupChatDTO().isGroupChat(false)) - .consultantBoundedToConsultingType(false) - .welcomeMessage( - new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) - .sendFurtherStepsMessage(false) - .sessionDataInitializing(null) - .initializeFeedbackChat(false) - .notifications(null) - .languageFormal(false) - .roles(null) - .registration(null); public static List AGENCY_ID_LIST = Arrays.asList(1L, 2L); public static AbsenceDTO ABSENCE_DTO_WITH_HTML_AND_JS = new AbsenceDTO().absent(true).message(TestConstants.MESSAGE_WITH_HTML_AND_JS); From b9700612db91a248fabeb50e8661f67c4af82b30 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 29 Jul 2024 10:24:29 +0200 Subject: [PATCH 11/64] CARITAS-243 - Merge dev to this branch --- .../facade/EmailNotificationFacadeTest.java | 71 +------------------ 1 file changed, 1 insertion(+), 70 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java index 129ce10ac..2806bb5a6 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java @@ -368,12 +368,8 @@ class EmailNotificationFacadeTest { @SuppressWarnings("unused") KeycloakService keycloakService; - @Before - public void setup() throws NoSuchFieldException, SecurityException { - @Mock TenantTemplateSupplier tenantTemplateSupplier; - @BeforeEach - void setup() throws NoSuchFieldException, SecurityException { + void setup() throws SecurityException { when(identityClientConfig.getEmailDummySuffix()).thenReturn(FIELD_VALUE_EMAIL_DUMMY_SUFFIX); ReflectionTestUtils.setField( emailNotificationFacade, @@ -652,71 +648,6 @@ void sendNewMessageNotification_Should_LogError_WhenSessionServiceFails() { verify(mailService).sendEmailNotification(Mockito.any()); } - /** Method: sendNewFeedbackMessageNotification */ - @Test - void - sendNewFeedbackMessageNotification_Should_SendEmailToAllFeedbackChatGroupMembersWithDecodedUsernames_WhenAssignedConsultantWroteAFeedbackMessage() { - when(consultantService.getConsultant(CONSULTANT_ID)).thenReturn(Optional.of(CONSULTANT)); - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)).thenReturn(SESSION); - when(rocketChatService.getChatUsers(RC_FEEDBACK_GROUP_ID)).thenReturn(GROUP_MEMBERS); - when(consultantService.getConsultantByRcUserId(GROUP_MEMBER_1_RC_ID)) - .thenReturn(Optional.of(CONSULTANT2)); - when(consultantService.getConsultantByRcUserId(GROUP_MEMBER_2_RC_ID)) - .thenReturn(Optional.of(CONSULTANT3)); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(mailService).sendEmailNotification(Mockito.any()); - } - - @Test - void - sendNewFeedbackMessageNotification_Should_SendEmailToAssignedConsultantWithDecodedUsername_WhenOtherConsultantWrote() { - - when(consultantService.getConsultant(CONSULTANT_ID_2)).thenReturn(Optional.of(CONSULTANT2)); - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)).thenReturn(SESSION); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID_2, null); - - verify(mailService).sendEmailNotification(Mockito.any()); - } - - @Test - void - sendNewFeedbackMessageNotification_Should_LogErrorAndSendNoMails_WhenCallingConsultantIsNotFound() { - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString()); - } - - @Test - void sendNewFeedbackMessageNotification_Should_LogErrorAndSendNoMails_WhenSessionIsNotFound() { - - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)).thenReturn(null); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString()); - } - - @Test - void - sendNewFeedbackMessageNotification_Should_LogErrorAndSendNoMails_WhenNoConsultantIsAssignedToSession() { - - when(sessionService.getSessionByFeedbackGroupId(RC_FEEDBACK_GROUP_ID)) - .thenReturn(SESSION_WITHOUT_CONSULTANT); - - emailNotificationFacade.sendNewFeedbackMessageNotification( - RC_FEEDBACK_GROUP_ID, CONSULTANT_ID, null); - - verify(logger, atLeastOnce()).error(anyString(), anyString()); - } - @Test void sendAssignEnquiryEmailNotification_Should_SendEmail_WhenAllParametersAreValid() { From 6b65e3faf9b66c53e3a4e0353cabe38b322417e0 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 29 Jul 2024 10:27:13 +0200 Subject: [PATCH 12/64] CARITAS-243 - Remove canViewFeedbackSessions method --- .../de/caritas/cob/userservice/api/IdentityManager.java | 7 ------- .../java/de/caritas/cob/userservice/api/Messenger.java | 6 +----- .../cob/userservice/api/port/in/IdentityManaging.java | 2 -- 3 files changed, 1 insertion(+), 14 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java b/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java index 61ab0f469..1f625395c 100644 --- a/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java +++ b/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java @@ -15,8 +15,6 @@ public class IdentityManager implements IdentityManaging { private static final String VIEW_ALL_PEER_SESSIONS = "AUTHORIZATION_VIEW_ALL_PEER_SESSIONS"; - private static final String VIEW_ALL_FEEDBACK_SESSIONS = - "AUTHORIZATION_VIEW_ALL_FEEDBACK_SESSIONS"; private final IdentityClient identityClient; @@ -79,9 +77,4 @@ public boolean isEmailAvailableOrOwn(String username, String email) { public boolean canViewPeerSessions(String consultantId) { return identityClient.userHasAuthority(consultantId, VIEW_ALL_PEER_SESSIONS); } - - @Override - public boolean canViewFeedbackSessions(String consultantId) { - return identityClient.userHasAuthority(consultantId, VIEW_ALL_FEEDBACK_SESSIONS); - } } diff --git a/src/main/java/de/caritas/cob/userservice/api/Messenger.java b/src/main/java/de/caritas/cob/userservice/api/Messenger.java index 72d3b5bcb..6eaefc12a 100644 --- a/src/main/java/de/caritas/cob/userservice/api/Messenger.java +++ b/src/main/java/de/caritas/cob/userservice/api/Messenger.java @@ -148,7 +148,7 @@ public boolean removeUserFromSession(String chatUserId, String chatId) { } var feedbackChatId = session.getFeedbackGroupId(); - if (isInChat(feedbackChatId, chatUserId) && !isMain(consultant)) { + if (isInChat(feedbackChatId, chatUserId)) { removedOrIgnored.compareAndExchange( true, messageClient.removeUserFromSession(chatUserId, feedbackChatId)); } @@ -169,10 +169,6 @@ private boolean isPeering(Session session, Consultant consultant) { return session.hasFeedbackChat() && identityManager.canViewPeerSessions(consultant.getId()); } - private boolean isMain(Consultant consultant) { - return identityManager.canViewFeedbackSessions(consultant.getId()); - } - public boolean isInChat(String chatId, String chatUserId) { if (isNull(chatId)) { return false; diff --git a/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java b/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java index 462dc3c7a..b1b9b9249 100644 --- a/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java +++ b/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java @@ -26,6 +26,4 @@ public interface IdentityManaging { boolean isEmailAvailableOrOwn(String username, String email); boolean canViewPeerSessions(String consultantId); - - boolean canViewFeedbackSessions(String toString); } From aed17fb3ebc6246b000caa2880e88adacee60250 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 29 Jul 2024 13:28:39 +0200 Subject: [PATCH 13/64] CARITAS-243 - Remove VIEW_ALL_FEEDBACK_SESSIONS authority --- .../RocketChatOperationConditionProvider.java | 13 +-- .../api/config/auth/Authority.java | 7 +- .../UnauthorizedMembersProvider.java | 12 +-- .../api/service/AskerImportService.java | 9 +- .../AppointmentControllerAuthorizationIT.java | 4 - ...ConversationControllerAuthorizationIT.java | 47 +++++----- .../UserAdminControllerAuthorizationIT.java | 89 +++++++++---------- .../UserControllerAuthorizationIT.java | 46 ---------- .../api/config/auth/AuthorityTest.java | 21 +++-- .../UnauthorizedMembersProviderTest.java | 43 +-------- 10 files changed, 82 insertions(+), 209 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java index 50c6e8598..5c72e60a8 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java @@ -4,8 +4,6 @@ import static java.util.Objects.nonNull; import static org.apache.commons.lang3.BooleanUtils.isFalse; -import de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue; -import de.caritas.cob.userservice.api.config.auth.UserRole; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; @@ -46,14 +44,7 @@ private Boolean canAddToTeamConsultingSession() { var consultingTypeSettings = consultingTypeManager.getConsultingTypeSettings(this.session.getConsultingTypeId()); return (nonNull(consultingTypeSettings) - && isFalse(consultingTypeSettings.getExcludeNonMainConsultantsFromTeamSessions())) - || isMainConsultant(); - } - - private boolean isMainConsultant() { - return identityClient.userHasAuthority( - this.consultant.getId(), AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS) - || identityClient.userHasRole(this.consultant.getId(), UserRole.MAIN_CONSULTANT.name()); + && isFalse(consultingTypeSettings.getExcludeNonMainConsultantsFromTeamSessions())); } /** @@ -66,6 +57,6 @@ boolean canAddToRocketChatFeedbackGroup() { if (isNull(this.session.getFeedbackGroupId())) { return false; } - return isEnquiry() || isMainConsultant(); + return isEnquiry(); } } diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java index 468d935ca..f65145fb2 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java @@ -15,7 +15,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USE_FEEDBACK; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_AGENCY_CONSULTANTS; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; @@ -39,10 +38,7 @@ public enum Authority { MAIN_CONSULTANT( UserRole.MAIN_CONSULTANT, List.of( - VIEW_ALL_FEEDBACK_SESSIONS, - VIEW_ALL_PEER_SESSIONS, - ASSIGN_CONSULTANT_TO_ENQUIRY, - ASSIGN_CONSULTANT_TO_PEER_SESSION)), + VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_ENQUIRY, ASSIGN_CONSULTANT_TO_PEER_SESSION)), TECHNICAL(UserRole.TECHNICAL, singletonList(TECHNICAL_DEFAULT)), NOTIFICATIONS_TECHNICAL( UserRole.NOTIFICATIONS_TECHNICAL, singletonList(AuthorityValue.NOTIFICATIONS_TECHNICAL)), @@ -83,7 +79,6 @@ private AuthorityValue() {} public static final String USER_DEFAULT = PREFIX + "USER_DEFAULT"; public static final String CONSULTANT_DEFAULT = PREFIX + "CONSULTANT_DEFAULT"; public static final String USE_FEEDBACK = PREFIX + "USE_FEEDBACK"; - public static final String VIEW_ALL_FEEDBACK_SESSIONS = PREFIX + "VIEW_ALL_FEEDBACK_SESSIONS"; public static final String VIEW_ALL_PEER_SESSIONS = PREFIX + "VIEW_ALL_PEER_SESSIONS"; public static final String ASSIGN_CONSULTANT_TO_SESSION = PREFIX + "ASSIGN_CONSULTANT_TO_SESSION"; diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java index 448399314..894e83319 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java @@ -1,6 +1,5 @@ package de.caritas.cob.userservice.api.facade.assignsession; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static java.util.Objects.nonNull; @@ -126,14 +125,9 @@ private void addMainConsultantsIfFeedbackTeamSession( List authorizedMembers, List consultantsOfAgency) { if (isTeamSessionWithFeedbackChat(session)) { - if (rcGroupId.equalsIgnoreCase(session.getGroupId())) { + if (rcGroupId.equalsIgnoreCase(session.getGroupId())) obtainMainConsultantsOfGroup( authorizedMembers, consultantsOfAgency, this::hasAuthorityToViewPeerGroups); - } - if (rcGroupId.equalsIgnoreCase(session.getFeedbackGroupId())) { - obtainMainConsultantsOfGroup( - authorizedMembers, consultantsOfAgency, this::hasAuthorityToViewFeedbackGroups); - } } } @@ -154,8 +148,4 @@ private void obtainMainConsultantsOfGroup( private boolean hasAuthorityToViewPeerGroups(Consultant consultant) { return identityClient.userHasAuthority(consultant.getId(), VIEW_ALL_PEER_SESSIONS); } - - private boolean hasAuthorityToViewFeedbackGroups(Consultant consultant) { - return identityClient.userHasAuthority(consultant.getId(), VIEW_ALL_FEEDBACK_SESSIONS); - } } diff --git a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java index 5efe55a88..00ab9a75f 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java @@ -11,7 +11,6 @@ import de.caritas.cob.userservice.api.adapters.rocketchat.dto.login.LoginResponseDTO; import de.caritas.cob.userservice.api.adapters.web.dto.AgencyDTO; import de.caritas.cob.userservice.api.adapters.web.dto.UserDTO; -import de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue; import de.caritas.cob.userservice.api.container.CreateEnquiryExceptionInformation; import de.caritas.cob.userservice.api.exception.ImportException; import de.caritas.cob.userservice.api.exception.httpresponses.CustomValidationHttpStatusException; @@ -460,9 +459,7 @@ public void startImport() { // Add the assigned consultant and all consultants of the session's agency to the feedback // group that have the right to view all feedback sessions for (ConsultantAgency agency : agencyList) { - if (identityClient.userHasAuthority( - agency.getConsultant().getId(), AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS) - || agency.getConsultant().getId().equals(record.getConsultantId())) { + if (agency.getConsultant().getId().equals(record.getConsultantId())) { rocketChatService.addUserToGroup( agency.getConsultant().getRocketChatId(), rcFeedbackGroupId); } @@ -503,9 +500,7 @@ public void startImport() { // If feedback chat enabled add all main consultants and the assigned consultant. If // it is a "normal" team session add all consultants. if (extendedConsultingTypeResponseDTO.getInitializeFeedbackChat().booleanValue()) { - if (identityClient.userHasAuthority( - agency.getConsultant().getId(), AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS) - || agency.getConsultant().getId().equals(record.getConsultantId())) { + if (agency.getConsultant().getId().equals(record.getConsultantId())) { rocketChatService.addUserToGroup( agency.getConsultant().getRocketChatId(), rcGroupId); } diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java index f7eb7c868..df69a9d44 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java @@ -101,7 +101,6 @@ void putAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS }) void putAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { @@ -152,7 +151,6 @@ void deleteAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS }) void deleteAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { @@ -198,7 +196,6 @@ void getAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS }) void getAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { @@ -244,7 +241,6 @@ void postAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throw AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS }) void postAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java index 6a07c3788..f00cb67ef 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java @@ -17,7 +17,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USE_FEEDBACK; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_AGENCY_CONSULTANTS; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static de.caritas.cob.userservice.api.conversation.model.ConversationListType.ANONYMOUS_ENQUIRY; import static de.caritas.cob.userservice.api.conversation.model.ConversationListType.REGISTERED_ENQUIRY; @@ -54,7 +53,7 @@ @ActiveProfiles("testing") @SpringBootTest @AutoConfigureMockMvc -public class ConversationControllerAuthorizationIT { +class ConversationControllerAuthorizationIT { private final String CSRF_COOKIE = "csrfCookie"; private final String CSRF_HEADER = "csrfHeader"; @@ -77,7 +76,7 @@ public class ConversationControllerAuthorizationIT { @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - public void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() + void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() throws Exception { this.mvc .perform( @@ -95,7 +94,7 @@ public void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithCon } @Test - public void + void getAnonymousEnquiries_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAuthorization() throws Exception { this.mvc @@ -122,12 +121,11 @@ public void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithCon AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN }) - public void + void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() throws Exception { this.mvc @@ -144,7 +142,7 @@ public void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithCon @Test @WithMockUser(authorities = {USER_DEFAULT}) - public void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() + void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() throws Exception { this.mvc .perform( @@ -158,7 +156,7 @@ public void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_No @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - public void + void getRegisteredEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() throws Exception { this.mvc @@ -177,7 +175,7 @@ public void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_No } @Test - public void + void getRegisteredEnquiries_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAuthorization() throws Exception { this.mvc @@ -204,12 +202,11 @@ public void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_No AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN }) - public void + void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() throws Exception { this.mvc @@ -226,7 +223,7 @@ public void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_No @Test @WithMockUser(authorities = {USER_DEFAULT}) - public void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() + void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() throws Exception { this.mvc .perform( @@ -240,7 +237,7 @@ public void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_N @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - public void + void acceptAnonymousEnquirys_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() throws Exception { this.mvc @@ -254,7 +251,7 @@ public void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_N } @Test - public void + void acceptAnonymousEnquiry_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAuthorization() throws Exception { this.mvc @@ -279,12 +276,11 @@ public void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_N AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN }) - public void + void acceptAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() throws Exception { this.mvc @@ -299,7 +295,7 @@ public void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_N @Test @WithMockUser(authorities = {USER_DEFAULT}) - public void acceptAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() + void acceptAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() throws Exception { this.mvc .perform(MockMvcRequestBuilders.put(ConversationControllerIT.ACCEPT_ANONYMOUS_ENQUIRY_PATH)) @@ -309,7 +305,7 @@ public void acceptAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_N } @Test - public void createAnonymousEnquiry_Should_ReturnCreated_When_CsrfTokensMatch() throws Exception { + void createAnonymousEnquiry_Should_ReturnCreated_When_CsrfTokensMatch() throws Exception { this.mvc .perform( MockMvcRequestBuilders.post(ConversationControllerIT.POST_CREATE_ANONYMOUS_ENQUIRY_PATH) @@ -326,7 +322,7 @@ public void createAnonymousEnquiry_Should_ReturnCreated_When_CsrfTokensMatch() t } @Test - public void createAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() + void createAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() throws Exception { this.mvc .perform( @@ -340,7 +336,7 @@ public void createAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_N @Test @WithMockUser(authorities = {USER_DEFAULT}) - public void + void finishAnonymousConversation_Should_ReturnForbiddenAndCallNoMethods_When_NoValidAuthority() throws Exception { this.mvc @@ -353,7 +349,7 @@ public void createAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_N @Test @WithMockUser(authorities = {ANONYMOUS_DEFAULT}) - public void + void finishAnonymousConversation_Should_ReturnOk_When_CsrfTokensMatchAndAnonymousDefaultAuthority() throws Exception { this.mvc @@ -368,7 +364,7 @@ public void createAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_N } @Test - public void finishAnonymousConversation_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() + void finishAnonymousConversation_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() throws Exception { this.mvc .perform( @@ -381,7 +377,7 @@ public void finishAnonymousConversation_Should_ReturnForbiddenAndCallNoMethods_W } @Test - public void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloakAuthorization() + void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloakAuthorization() throws Exception { mvc.perform( get("/conversations/anonymous/1") @@ -398,7 +394,6 @@ public void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloak USER_DEFAULT, CONSULTANT_DEFAULT, USE_FEEDBACK, - VIEW_ALL_FEEDBACK_SESSIONS, VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_SESSION, ASSIGN_CONSULTANT_TO_ENQUIRY, @@ -414,7 +409,7 @@ public void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloak TENANT_ADMIN, RESTRICTED_AGENCY_ADMIN }) - public void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoAnonymousAuthority() + void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoAnonymousAuthority() throws Exception { mvc.perform( get("/conversations/anonymous/1") @@ -427,7 +422,7 @@ public void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoAnonymousAu @Test @WithMockUser(authorities = ANONYMOUS_DEFAULT) - public void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoCsrfToken() + void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoCsrfToken() throws Exception { mvc.perform( get("/conversations/anonymous/1") diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java index db9e018ae..0340f139a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java @@ -52,7 +52,7 @@ @SpringBootTest @AutoConfigureMockMvc @AutoConfigureTestDatabase(replace = Replace.ANY) -public class UserAdminControllerAuthorizationIT { +class UserAdminControllerAuthorizationIT { private static final String CSRF_HEADER = "csrfHeader"; private static final String CSRF_VALUE = "test"; @@ -73,7 +73,7 @@ public class UserAdminControllerAuthorizationIT { @MockBean private AskerUserAdminFacade askerUserAdminFacade; @Test - public void + void getSessions_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { @@ -97,7 +97,7 @@ public class UserAdminControllerAuthorizationIT { AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void getSessions_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void getSessions_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform(get(SESSION_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) @@ -108,7 +108,7 @@ public void getSessions_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdminAuthority() + void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdminAuthority() throws Exception { mvc.perform( @@ -123,7 +123,7 @@ public void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdmin } @Test - public void + void generateViolationReport_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { @@ -147,7 +147,7 @@ public void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdmin AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void + void generateViolationReport_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { @@ -159,7 +159,7 @@ public void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdmin @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void generateViolationReport_Should_ReturnOkAndCallViolationReportGenerator_When_userAdminAuthority() throws Exception { @@ -170,7 +170,7 @@ public void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdmin } @Test - public void + void getConsultants_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { @@ -194,7 +194,7 @@ public void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdmin AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void getConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void getConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform(get(FILTERED_CONSULTANTS_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) @@ -205,7 +205,7 @@ public void getConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdm @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void getConsultants_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() throws Exception { @@ -221,7 +221,7 @@ public void getConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdm } @Test - public void + void getConsultant_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { @@ -245,7 +245,7 @@ public void getConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdm AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform(get(CONSULTANT_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) @@ -256,7 +256,7 @@ public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdmi @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void getConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() throws Exception { @@ -270,7 +270,7 @@ public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdmi } @Test - public void + void getConsultantAgencies_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { String consultantAgencyPath = @@ -296,7 +296,7 @@ public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdmi AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void + void getConsultantAgencies_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { String consultantAgencyPath = @@ -310,7 +310,7 @@ public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdmi @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void getConsultantAgencies_Should_ReturnOkAndCallConsultantAdminFacade_When_userAdminAuthority() throws Exception { String consultantId = "1da238c6-cd46-4162-80f1-bff74eafeAAA"; @@ -324,7 +324,7 @@ public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdmi } @Test - public void + void createConsultant_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform(post(CONSULTANT_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) @@ -347,7 +347,7 @@ public void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdmi AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void createConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void createConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform(post(CONSULTANT_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) .andExpect(status().isForbidden()); @@ -357,7 +357,7 @@ public void createConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN, AuthorityValue.CONSULTANT_CREATE}) - public void + void createConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() throws Exception { CreateConsultantDTO createConsultantDTO = easyRandom.nextObject(CreateConsultantDTO.class); @@ -374,7 +374,7 @@ public void createConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA } @Test - public void + void updateConsultant_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform(put(CONSULTANT_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) @@ -397,7 +397,7 @@ public void createConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform(put(CONSULTANT_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) .andExpect(status().isForbidden()); @@ -407,7 +407,7 @@ public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void updateConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() throws Exception { UpdateAdminConsultantDTO updateConsultantDTO = @@ -425,7 +425,7 @@ public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA } @Test - public void + void createConsultantAgency_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform( @@ -451,7 +451,7 @@ public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void + void createConsultantAgency_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform( @@ -465,7 +465,7 @@ public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void createConsultantAgency_Should_ReturnCreatedAndCallConsultantAdminFilterService_When_userAdminAuthority() throws Exception { CreateConsultantAgencyDTO createConsultantAgencyDTO = @@ -483,7 +483,7 @@ public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA } @Test - public void + void setConsultantAgenciesShouldReturnUnauthorizedAndCallNoMethodsWhenNoKeycloakAuthPresent() throws Exception { mvc.perform( @@ -509,11 +509,10 @@ public void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION }) - public void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserAdmin() + void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserAdmin() throws Exception { mvc.perform( put("/useradmin/consultants/{consultantId}/agencies", UUID.randomUUID().toString()) @@ -526,7 +525,7 @@ public void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN, AuthorityValue.CONSULTANT_UPDATE}) - public void setConsultantAgenciesShouldReturnOkAndCallConsultantAdminFacade() throws Exception { + void setConsultantAgenciesShouldReturnOkAndCallConsultantAdminFacade() throws Exception { var agencies = List.of(easyRandom.nextObject(CreateConsultantAgencyDTO.class)); mvc.perform( @@ -544,7 +543,7 @@ public void setConsultantAgenciesShouldReturnOkAndCallConsultantAdminFacade() th } @Test - public void + void changeAgencyType_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform( @@ -571,7 +570,7 @@ public void setConsultantAgenciesShouldReturnOkAndCallConsultantAdminFacade() th AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void changeAgencyType_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void changeAgencyType_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform( post(AGENCY_CHANGE_TYPE_PATH) @@ -585,7 +584,7 @@ public void changeAgencyType_Should_ReturnForbiddenAndCallNoMethods_When_noUserA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminAuthority() + void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminAuthority() throws Exception { mvc.perform( post(AGENCY_CHANGE_TYPE_PATH) @@ -598,7 +597,7 @@ public void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_use } @Test - public void + void deleteConsultantAgency_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform( @@ -625,7 +624,7 @@ public void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_use AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void + void deleteConsultantAgency_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform( @@ -640,7 +639,7 @@ public void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_use @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void deleteConsultantAgency_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminAuthority() throws Exception { mvc.perform( @@ -654,7 +653,7 @@ public void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_use } @Test - public void + void deleteConsultant_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform( @@ -681,7 +680,7 @@ public void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_use AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void deleteConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void deleteConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform( delete(DELETE_CONSULTANT_PATH) @@ -695,7 +694,7 @@ public void deleteConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void + void deleteConsultant_Should_MarkConsultantForDeletionAndCallConsultantAdmin_When_userAdminAuthority() throws Exception { mvc.perform( @@ -710,7 +709,7 @@ public void deleteConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserA @Test @WithMockUser(authorities = {AuthorityValue.RESTRICTED_AGENCY_ADMIN}) - public void deleteConsultant_Should_ReturnForbidden_When_userDoesNotHaveUserAdminAuthority() + void deleteConsultant_Should_ReturnForbidden_When_userDoesNotHaveUserAdminAuthority() throws Exception { mvc.perform( delete(DELETE_CONSULTANT_PATH) @@ -723,7 +722,7 @@ public void deleteConsultant_Should_ReturnForbidden_When_userDoesNotHaveUserAdmi } @Test - public void + void deleteAsker_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform(delete(DELETE_ASKER_PATH).contentType(MediaType.APPLICATION_JSON)) @@ -746,7 +745,7 @@ public void deleteConsultant_Should_ReturnForbidden_When_userDoesNotHaveUserAdmi AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void deleteAsker_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + void deleteAsker_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform(delete(DELETE_ASKER_PATH).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isForbidden()); @@ -756,7 +755,7 @@ public void deleteAsker_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() + void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() throws Exception { mvc.perform(delete(DELETE_ASKER_PATH).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()); @@ -765,7 +764,7 @@ public void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuth } @Test - public void + void getAgencyConsultants_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() throws Exception { mvc.perform( @@ -789,7 +788,7 @@ public void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuth AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - public void + void getAgencyConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() throws Exception { mvc.perform( @@ -801,7 +800,7 @@ public void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuth @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - public void getAgencyConsultants_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() + void getAgencyConsultants_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() throws Exception { mvc.perform( get(String.format(AGENCY_CONSULTANT_PATH, "1")).contentType(MediaType.APPLICATION_JSON)) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java index b8cde7c9e..ec9b51472 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java @@ -205,7 +205,6 @@ void registerUser_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thro AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -270,7 +269,6 @@ void registerNewConsultingType_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrf AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -335,7 +333,6 @@ void getEnquiriesForAgency_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycl AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -399,7 +396,6 @@ void acceptEnquiry_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAutho AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -462,7 +458,6 @@ void createEnquiryMessage_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeyclo AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -528,7 +523,6 @@ void createEnquiryMessage_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfToken AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -592,7 +586,6 @@ void updateAbsence_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAutho AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -655,7 +648,6 @@ void updateAbsence_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thr AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -718,7 +710,6 @@ void getUserData_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthori AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -782,7 +773,6 @@ void getUserData_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() throw AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -847,7 +837,6 @@ void getUserData_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() throw AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -911,7 +900,6 @@ void importConsultants_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakA AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -974,7 +962,6 @@ void importAskers_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthor AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1037,7 +1024,6 @@ void importAskers_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thro AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1114,7 +1100,6 @@ void searchConsultantsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS }) void searchConsultantsShouldReturnForbiddenWhenNoUserAdminAuthority() throws Exception { @@ -1157,7 +1142,6 @@ void getConsultants_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1249,7 +1233,6 @@ void updatePassword_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1317,7 +1300,6 @@ void updateKey_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1380,7 +1362,6 @@ void createChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriz AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1460,7 +1441,6 @@ void startChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1544,7 +1524,6 @@ void joinChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizat AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1643,7 +1622,6 @@ void getChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizati AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1741,7 +1719,6 @@ void stopChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizat AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1823,7 +1800,6 @@ void getChatMembers_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -1926,7 +1902,6 @@ void leaveChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2020,7 +1995,6 @@ void banUserFromChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAut AuthorityValue.STOP_CHAT, AuthorityValue.START_CHAT, AuthorityValue.USER_DEFAULT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY }) @@ -2073,7 +2047,6 @@ void updateE2eInChats_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAu AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_ADMIN, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, }) void updateE2eInChats_Should_ReturnForbiddenAndCallNoMethods_WhenNoUserOrConsultantAuthority() @@ -2121,7 +2094,6 @@ void updateChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriz AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2198,7 +2170,6 @@ void updateChat_Should_ReturnOK_WhenProperlyAuthorizedWithUpdateChatAuthority() AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2259,7 +2230,6 @@ void updateEmailAddress_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloak AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2333,7 +2303,6 @@ void deleteEmailAddress_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloak AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2403,7 +2372,6 @@ void deleteEmailAddress_Should_ReturnOK_WhenProperlyAuthorizedWithUpdateChatAuth AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN, @@ -2466,7 +2434,6 @@ void updateMobileToken_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakA AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2539,7 +2506,6 @@ void updateSessionData_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloak AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2609,7 +2575,6 @@ void patchUser_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAuthoriz AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2663,7 +2628,6 @@ void updateUserData_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAut AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2779,7 +2743,6 @@ void archiveSession_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() th AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN, @@ -2832,7 +2795,6 @@ void dearchiveSession_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2890,7 +2852,6 @@ void addMobileAppToken_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -2947,7 +2908,6 @@ void deleteSessionAndInactiveUser_Should_ReturnForbiddenAndCallNoMethods_WhenNoC AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION }) void deactivateAndFlagUserAccountForDeletion_Should_ReturnForbidden_WhenNoConsultantAuthority() @@ -3003,7 +2963,6 @@ void deactivateAndFlagUserAccountForDeletion_Should_ReturnForbidden_WhenNoConsul AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -3061,7 +3020,6 @@ void startTwoFactorAuthByEmailSetup_Should_ReturnForbiddenAndCallNoMethods_When_ AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -3130,7 +3088,6 @@ void activateTwoFactorAuthByApp_Should_ReturnBadRequest_When_RequestBody_Is_Miss AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -3201,7 +3158,6 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -3258,7 +3214,6 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN @@ -3312,7 +3267,6 @@ void getSessionForId_should_return_forbidden_and_call_no_methods_when_no_csrf_to AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, - AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN diff --git a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java index 237ffa21e..5a300fa11 100644 --- a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java @@ -16,10 +16,10 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class AuthorityTest { +class AuthorityTest { @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleConsultant() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleConsultant() { List result = Authority.getAuthoritiesByUserRole(UserRole.CONSULTANT); @@ -32,7 +32,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleCo } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleUser() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleUser() { List result = Authority.getAuthoritiesByUserRole(UserRole.USER); @@ -42,7 +42,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleUs } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleAnonymous() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleAnonymous() { List result = Authority.getAuthoritiesByUserRole(UserRole.ANONYMOUS); assertNotNull(result); @@ -51,7 +51,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleAn } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRolePeerConsultant() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRolePeerConsultant() { List result = Authority.getAuthoritiesByUserRole(UserRole.PEER_CONSULTANT); @@ -61,12 +61,11 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRolePe } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsultant() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsultant() { List result = Authority.getAuthoritiesByUserRole(UserRole.MAIN_CONSULTANT); assertNotNull(result); - assertTrue(result.contains(AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS)); assertTrue(result.contains(AuthorityValue.VIEW_ALL_PEER_SESSIONS)); assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY)); assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION)); @@ -74,7 +73,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMa } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTechnical() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTechnical() { List result = Authority.getAuthoritiesByUserRole(UserRole.TECHNICAL); @@ -84,7 +83,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTe } @Test - public void + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleKreuzbundConsultant() { List result = Authority.getAuthoritiesByUserRole(UserRole.GROUP_CHAT_CONSULTANT); @@ -99,7 +98,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTe } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_When_keycloakRoleIsUserAdmin() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_When_keycloakRoleIsUserAdmin() { List result = Authority.getAuthoritiesByUserRole(UserRole.USER_ADMIN); @@ -111,7 +110,7 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_When_keycloakRole } @Test - public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_When_KeycloakRoleIsAnonymous() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_When_KeycloakRoleIsAnonymous() { List result = Authority.getAuthoritiesByUserRole(UserRole.ANONYMOUS); assertNotNull(result); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java index df5d2add1..d6bb90e3d 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java @@ -1,10 +1,8 @@ package de.caritas.cob.userservice.api.facade.assignsession; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_FEEDBACK_SESSIONS; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static de.caritas.cob.userservice.api.testHelper.FieldConstants.FIELD_NAME_ROCKET_CHAT_SYSTEM_USER_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID_2; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROCKET_CHAT_SYSTEM_USER_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.SESSION_WITH_ASKER_AND_CONSULTANT; @@ -283,46 +281,7 @@ void obtainConsultantsToRemoveShouldNotIncludeConsultantToKeep() } @Test - void - obtainConsultantsToRemove_Should_ReturnCorrectUnauthorizedMemberList_When_SessionIsFeedbackSessionForFeedbackGroup() - throws RocketChatUserNotInitializedException { - newConsultant.setTeamConsultant(true); - when(rocketChatCredentialsProvider.getTechnicalUser()).thenReturn(techUserRcCredentials); - var consultantList = - asList( - newConsultant, - normalConsultant, - teamConsultant, - teamConsultant2, - mainConsultant, - mainConsultant2, - peerConsultant, - peerConsultant2); - when(consultantService.findConsultantsByAgencyId( - FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT.getAgencyId())) - .thenReturn(consultantList); - when(keycloakService.userHasAuthority(mainConsultant.getId(), VIEW_ALL_FEEDBACK_SESSIONS)) - .thenReturn(true); - when(keycloakService.userHasAuthority(mainConsultant2.getId(), VIEW_ALL_FEEDBACK_SESSIONS)) - .thenReturn(true); - - List result = - unauthorizedMembersProvider.obtainConsultantsToRemove( - RC_FEEDBACK_GROUP_ID_2, - FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT, - newConsultant, - initialMemberList); - - assertThat(result.size(), is(5)); - assertThat( - result, - contains( - normalConsultant, teamConsultant, teamConsultant2, peerConsultant, peerConsultant2)); - } - - @Test - void obtainConsultantsToRemove_Should_ThrowInternalServerError_When_TechUserIsNotInitialized() - throws RocketChatUserNotInitializedException { + void obtainConsultantsToRemove_Should_ThrowInternalServerError_When_TechUserIsNotInitialized() { assertThrows( InternalServerErrorException.class, () -> { From 10e4a5b487c50bb1dfb772a71d5e1307ef80c8c9 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 29 Jul 2024 14:02:56 +0200 Subject: [PATCH 14/64] CARITAS-243 - Remove VIEW_ALL_FEEDBACK_SESSIONS authority and part of main consultant logic --- services/consultingtypeservice.yaml | 3 - .../RocketChatOperationConditionProvider.java | 4 +- ...ConversationControllerAuthorizationIT.java | 33 ++++----- .../UserAdminControllerAuthorizationIT.java | 73 ++++++++----------- ...sultantAgencyRelationCreatorServiceIT.java | 3 - ...ketChatOperationConditionProviderTest.java | 28 ------- .../api/config/auth/AuthorityTest.java | 5 +- .../CreateEnquiryMessageFacadeTest.java | 33 ++------- .../facade/EmailNotificationFacadeTest.java | 2 - .../api/helper/SessionDataProviderTest.java | 2 - .../api/testHelper/TestConstants.java | 29 -------- 11 files changed, 52 insertions(+), 163 deletions(-) diff --git a/services/consultingtypeservice.yaml b/services/consultingtypeservice.yaml index 6bd50f0c7..1b23546ba 100644 --- a/services/consultingtypeservice.yaml +++ b/services/consultingtypeservice.yaml @@ -204,9 +204,6 @@ components: lockedAgencies: type: boolean example: false - excludeNonMainConsultantsFromTeamSessions: - type: boolean - example: true whiteSpot: allOf: - $ref: '#/components/schemas/WhiteSpotDTO' diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java index 5c72e60a8..00ba805b1 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java @@ -2,7 +2,6 @@ import static java.util.Objects.isNull; import static java.util.Objects.nonNull; -import static org.apache.commons.lang3.BooleanUtils.isFalse; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; @@ -43,8 +42,7 @@ private boolean isTeamSessionAndMainConsultant() { private Boolean canAddToTeamConsultingSession() { var consultingTypeSettings = consultingTypeManager.getConsultingTypeSettings(this.session.getConsultingTypeId()); - return (nonNull(consultingTypeSettings) - && isFalse(consultingTypeSettings.getExcludeNonMainConsultantsFromTeamSessions())); + return nonNull(consultingTypeSettings); } /** diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java index f00cb67ef..162ed76d0 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java @@ -125,9 +125,8 @@ void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultant AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN }) - void - getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() - throws Exception { + void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() + throws Exception { this.mvc .perform( get(ConversationControllerIT.GET_ANONYMOUS_ENQUIRIES_PATH) @@ -156,9 +155,8 @@ void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfTok @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - void - getRegisteredEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() - throws Exception { + void getRegisteredEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() + throws Exception { this.mvc .perform( get(ConversationControllerIT.GET_REGISTERED_ENQUIRIES_PATH) @@ -206,9 +204,8 @@ void getAnonymousEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfTok AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN }) - void - getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() - throws Exception { + void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() + throws Exception { this.mvc .perform( get(ConversationControllerIT.GET_REGISTERED_ENQUIRIES_PATH) @@ -237,9 +234,8 @@ void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfTo @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - void - acceptAnonymousEnquirys_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() - throws Exception { + void acceptAnonymousEnquirys_Should_ReturnOK_When_ProperlyAuthorizedWithConsultantAuthority() + throws Exception { this.mvc .perform( MockMvcRequestBuilders.put(ConversationControllerIT.ACCEPT_ANONYMOUS_ENQUIRY_PATH) @@ -280,9 +276,8 @@ void getRegisteredEnquiries_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfTo AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.USER_ADMIN }) - void - acceptAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() - throws Exception { + void acceptAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoConsultantAuthority() + throws Exception { this.mvc .perform( MockMvcRequestBuilders.put(ConversationControllerIT.ACCEPT_ANONYMOUS_ENQUIRY_PATH) @@ -336,9 +331,8 @@ void createAnonymousEnquiry_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfTo @Test @WithMockUser(authorities = {USER_DEFAULT}) - void - finishAnonymousConversation_Should_ReturnForbiddenAndCallNoMethods_When_NoValidAuthority() - throws Exception { + void finishAnonymousConversation_Should_ReturnForbiddenAndCallNoMethods_When_NoValidAuthority() + throws Exception { this.mvc .perform( MockMvcRequestBuilders.put(ConversationControllerIT.FINISH_ANONYMOUS_CONVERSATION_PATH)) @@ -422,8 +416,7 @@ void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoAnonymousAuthority @Test @WithMockUser(authorities = ANONYMOUS_DEFAULT) - void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoCsrfToken() - throws Exception { + void getAnonymousEnquiryDetails_Should_ReturnForbidden_When_NoCsrfToken() throws Exception { mvc.perform( get("/conversations/anonymous/1") .contentType(MediaType.APPLICATION_JSON) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java index 0340f139a..9a5ef8ef0 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java @@ -73,9 +73,8 @@ class UserAdminControllerAuthorizationIT { @MockBean private AskerUserAdminFacade askerUserAdminFacade; @Test - void - getSessions_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() - throws Exception { + void getSessions_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() + throws Exception { mvc.perform(get(SESSION_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) .andExpect(status().isUnauthorized()); @@ -147,9 +146,8 @@ void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdminAuthori AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - void - generateViolationReport_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() - throws Exception { + void generateViolationReport_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + throws Exception { mvc.perform(get(REPORT_PATH).cookie(CSRF_COOKIE).header(CSRF_HEADER, CSRF_VALUE)) .andExpect(status().isForbidden()); @@ -205,9 +203,8 @@ void getConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAutho @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - void - getConsultants_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() - throws Exception { + void getConsultants_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() + throws Exception { mvc.perform( get(FILTERED_CONSULTANTS_PATH) @@ -256,9 +253,8 @@ void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthor @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - void - getConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() - throws Exception { + void getConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() + throws Exception { mvc.perform( get(CONSULTANT_PATH + "consultantId") @@ -296,9 +292,8 @@ void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthor AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - void - getConsultantAgencies_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() - throws Exception { + void getConsultantAgencies_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + throws Exception { String consultantAgencyPath = String.format(CONSULTANT_AGENCIES_PATH, "1da238c6-cd46-4162-80f1-bff74eafeAAA"); @@ -310,9 +305,8 @@ void getConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthor @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - void - getConsultantAgencies_Should_ReturnOkAndCallConsultantAdminFacade_When_userAdminAuthority() - throws Exception { + void getConsultantAgencies_Should_ReturnOkAndCallConsultantAdminFacade_When_userAdminAuthority() + throws Exception { String consultantId = "1da238c6-cd46-4162-80f1-bff74eafeAAA"; String consultantAgencyPath = String.format(CONSULTANT_AGENCIES_PATH, consultantId); @@ -357,9 +351,8 @@ void createConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAut @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN, AuthorityValue.CONSULTANT_CREATE}) - void - createConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() - throws Exception { + void createConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() + throws Exception { CreateConsultantDTO createConsultantDTO = easyRandom.nextObject(CreateConsultantDTO.class); mvc.perform( @@ -407,9 +400,8 @@ void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAut @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - void - updateConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() - throws Exception { + void updateConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userAdminAuthority() + throws Exception { UpdateAdminConsultantDTO updateConsultantDTO = easyRandom.nextObject(UpdateAdminConsultantDTO.class); @@ -451,9 +443,8 @@ void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAut AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - void - createConsultantAgency_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() - throws Exception { + void createConsultantAgency_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + throws Exception { mvc.perform( post(String.format(CONSULTANT_AGENCY_PATH, "consultantId")) .cookie(CSRF_COOKIE) @@ -483,9 +474,8 @@ void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAut } @Test - void - setConsultantAgenciesShouldReturnUnauthorizedAndCallNoMethodsWhenNoKeycloakAuthPresent() - throws Exception { + void setConsultantAgenciesShouldReturnUnauthorizedAndCallNoMethodsWhenNoKeycloakAuthPresent() + throws Exception { mvc.perform( put("/useradmin/consultants/{consultantId}/agencies", UUID.randomUUID().toString()) .cookie(CSRF_COOKIE) @@ -512,8 +502,7 @@ void updateConsultant_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAut AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION }) - void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserAdmin() - throws Exception { + void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserAdmin() throws Exception { mvc.perform( put("/useradmin/consultants/{consultantId}/agencies", UUID.randomUUID().toString()) .cookie(CSRF_COOKIE) @@ -624,9 +613,8 @@ void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminA AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - void - deleteConsultantAgency_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() - throws Exception { + void deleteConsultantAgency_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + throws Exception { mvc.perform( delete(String.format(DELETE_CONSULTANT_AGENCY_PATH, "1", 1L)) .cookie(CSRF_COOKIE) @@ -639,9 +627,8 @@ void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminA @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - void - deleteConsultantAgency_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminAuthority() - throws Exception { + void deleteConsultantAgency_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminAuthority() + throws Exception { mvc.perform( delete(String.format(DELETE_CONSULTANT_AGENCY_PATH, "1", 1L)) .cookie(CSRF_COOKIE) @@ -722,9 +709,8 @@ void deleteConsultant_Should_ReturnForbidden_When_userDoesNotHaveUserAdminAuthor } @Test - void - deleteAsker_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() - throws Exception { + void deleteAsker_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthorizationIsPresent() + throws Exception { mvc.perform(delete(DELETE_ASKER_PATH).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isUnauthorized()); @@ -788,9 +774,8 @@ void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT }) - void - getAgencyConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() - throws Exception { + void getAgencyConsultants_Should_ReturnForbiddenAndCallNoMethods_When_noUserAdminAuthority() + throws Exception { mvc.perform( get(String.format(AGENCY_CONSULTANT_PATH, "1")).contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isForbidden()); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java index 2c45294fc..4611d14f6 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java @@ -81,8 +81,6 @@ public class ConsultantAgencyRelationCreatorServiceIT { @MockBean private ConsultingTypeManager consultingTypeManager; - @Autowired private RocketChatAsyncHelper rocketChatAsyncHelper; - @Test public void createNewConsultantAgency_Should_addConsultantToEnquiriesRocketChatGroups_When_ParamsAreValid() { @@ -144,7 +142,6 @@ public class ConsultantAgencyRelationCreatorServiceIT { when(keycloakService.userHasRole(eq(consultant.getId()), any())).thenReturn(true); ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setExcludeNonMainConsultantsFromTeamSessions(true); AgencyDTO agencyDTO = new AgencyDTO(); agencyDTO.setId(15L); agencyDTO.setTeamAgency(true); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java index 1ea4d4164..a1f626243 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java @@ -9,7 +9,6 @@ import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; -import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.SessionStatus; import org.junit.jupiter.api.Test; @@ -27,8 +26,6 @@ public class RocketChatOperationConditionProviderTest { @Mock private Session session; - @Mock private Consultant consultant; - @Mock private ConsultingTypeManager consultingTypeManager; @Test @@ -130,31 +127,6 @@ public void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInitial() { assertThat(result, is(true)); } - @Test - public void - canAddToRocketChatFeedbackGroup_Should_returnTrue_When_sessionHasFeedbackGroupAndConsultantHasMainConsultantAuthority() { - when(this.session.getFeedbackGroupId()).thenReturn("feedbackGroup"); - when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); - when(this.keycloakService.userHasAuthority(any(), any())).thenReturn(true); - - boolean result = this.conditionProvider.canAddToRocketChatFeedbackGroup(); - - assertThat(result, is(true)); - } - - @Test - public void - canAddToRocketChatFeedbackGroup_Should_returnTrue_When_sessionHasFeedbackGroupAndConsultantHasMainConsultantRole() { - when(this.session.getFeedbackGroupId()).thenReturn("feedbackGroup"); - when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); - when(this.keycloakService.userHasAuthority(any(), any())).thenReturn(false); - when(this.keycloakService.userHasRole(any(), any())).thenReturn(true); - - boolean result = this.conditionProvider.canAddToRocketChatFeedbackGroup(); - - assertThat(result, is(true)); - } - @Test public void canAddToRocketChatFeedbackGroup_Should_returnFalse_When_sessionHasNoFeedbackGroup() { boolean result = this.conditionProvider.canAddToRocketChatFeedbackGroup(); diff --git a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java index 5a300fa11..91374b004 100644 --- a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java @@ -69,7 +69,7 @@ void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsu assertTrue(result.contains(AuthorityValue.VIEW_ALL_PEER_SESSIONS)); assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY)); assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION)); - assertEquals(4, result.size()); + assertEquals(3, result.size()); } @Test @@ -83,8 +83,7 @@ void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTechnical } @Test - void - getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleKreuzbundConsultant() { + void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleKreuzbundConsultant() { List result = Authority.getAuthoritiesByUserRole(UserRole.GROUP_CHAT_CONSULTANT); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index a7bab1c37..d5439ad5a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -76,8 +76,6 @@ import de.caritas.cob.userservice.api.model.User; import de.caritas.cob.userservice.api.service.ConsultantAgencyService; import de.caritas.cob.userservice.api.service.LogService; -import de.caritas.cob.userservice.api.service.agency.AgencyService; -import de.caritas.cob.userservice.api.service.liveevents.LiveEventNotificationService; import de.caritas.cob.userservice.api.service.message.MessageServiceProvider; import de.caritas.cob.userservice.api.service.message.RocketChatData; import de.caritas.cob.userservice.api.service.session.SessionService; @@ -168,7 +166,6 @@ class CreateEnquiryMessageFacadeTest { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -184,7 +181,6 @@ class CreateEnquiryMessageFacadeTest { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -201,7 +197,6 @@ class CreateEnquiryMessageFacadeTest { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -238,12 +233,6 @@ class CreateEnquiryMessageFacadeTest { @Mock private UserService userService; - @Mock private AgencyService agencyService; - - @Mock private LiveEventNotificationService liveEventNotificationService; - - @Mock HttpServletRequest servletRequest; - private Session session; private User user; private ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO; @@ -254,7 +243,7 @@ class CreateEnquiryMessageFacadeTest { private RocketChatCredentials rocketChatCredentials; @BeforeEach - void setUp() throws NoSuchFieldException, SecurityException { + void setUp() throws SecurityException { setField( createEnquiryMessageFacade, FIELD_NAME_ROCKET_CHAT_SYSTEM_USER_ID, @@ -471,8 +460,7 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_GetSessi @Test void - createEnquiryMessage_Should_ThrowInternalServerErrorException_When_CreationOfRocketChatGroupFailsWithAnException() - throws RocketChatCreateGroupException { + createEnquiryMessage_Should_ThrowInternalServerErrorException_When_CreationOfRocketChatGroupFailsWithAnException() { assertThrows( InternalServerErrorException.class, () -> { @@ -556,8 +544,7 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_GetSessi @Test void - createEnquiryMessage_Should_ThrowInternalServerErrorException_When_AddConsultantToRocketChatGroupFails() - throws Exception { + createEnquiryMessage_Should_ThrowInternalServerErrorException_When_AddConsultantToRocketChatGroupFails() { assertThrows( InternalServerErrorException.class, () -> { @@ -711,8 +698,7 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful @Test void - createEnquiryMessage_Should_ThrowInternalServerErrorException_When_CreatePrivateGroupWithSystemUserFails() - throws RocketChatCreateGroupException { + createEnquiryMessage_Should_ThrowInternalServerErrorException_When_CreatePrivateGroupWithSystemUserFails() { assertThrows( InternalServerErrorException.class, () -> { @@ -746,8 +732,7 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful @Test void - createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateRocketChatIdForUserFails() - throws RocketChatCreateGroupException { + createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateRocketChatIdForUserFails() { assertThrows( InternalServerErrorException.class, () -> { @@ -780,8 +765,7 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful } @Test - void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOfSessionFails() - throws RocketChatCreateGroupException { + void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOfSessionFails() { assertThrows( InternalServerErrorException.class, () -> { @@ -796,8 +780,6 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOf rocketChatCredentials.setRocketChatUserId(RC_USER_ID); rocketChatCredentials.setRocketChatUsername(RC_USERNAME); extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - InternalServerErrorException internalServerErrorException = - new InternalServerErrorException(MESSAGE); when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(session)); when(consultingTypeManager.getConsultingTypeSettings(session.getConsultingTypeId())) @@ -816,8 +798,7 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOf @Test void - createEnquiryMessage_Should_ThrowInternalServerErrorException_When_PrivateGroupWithSystemUserIsNotPresent() - throws RocketChatCreateGroupException { + createEnquiryMessage_Should_ThrowInternalServerErrorException_When_PrivateGroupWithSystemUserIsNotPresent() { assertThrows( InternalServerErrorException.class, () -> { diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java index 2806bb5a6..faa44f7ff 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java @@ -316,7 +316,6 @@ class EmailNotificationFacadeTest { new ExtendedConsultingTypeResponseDTO() .id(0) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -333,7 +332,6 @@ class EmailNotificationFacadeTest { new ExtendedConsultingTypeResponseDTO() .id(0) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( diff --git a/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java index cd659a936..efba46485 100644 --- a/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java @@ -149,7 +149,6 @@ public class SessionDataProviderTest { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug(null) - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -168,7 +167,6 @@ public class SessionDataProviderTest { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug(null) - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index 2b3dda9a5..acee9a11a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -1070,11 +1070,6 @@ public class TestConstants { .askerRcId(RC_USER_ID) .messageDate(MESSAGE_DATE) .isTeamSession(IS_TEAM_SESSION); - public static final UserSessionResponseDTO USER_SESSION_RESPONSE_DTO_SUCHT = - new UserSessionResponseDTO() - .session(SESSION_DTO_SUCHT) - .agency(AGENCY_DTO_SUCHT) - .consultant(SESSION_CONSULTANT_FOR_USER_DTO); public static final UserSessionResponseDTO USER_SESSION_RESPONSE_DTO_U25 = new UserSessionResponseDTO() .session(SESSION_DTO_U25) @@ -1678,16 +1673,6 @@ public class TestConstants { add(CONSULTANT_SESSION_RESPONSE_DTO_WITH_ENCRYPTED_CHAT_MESSAGE); } }; - public static final SessionDTO SESSION_DTO_WITHOUT_FEEDBACK_CHAT = - new SessionDTO() - .id(SESSION_ID) - .agencyId(AGENCY_ID) - .consultingType(0) - .status(0) - .groupId(RC_GROUP_ID) - .askerRcId(RC_USER_ID) - .messageDate(Helper.getUnixTimestampFromDate(NOW)) - .isTeamSession(IS_NO_TEAM_SESSION); /** GroupMemberDTO */ public static final GroupMemberDTO GROUP_MEMBER_DTO = @@ -1735,7 +1720,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_KREUZBUND) .slug("kb-sucht-selbsthilfe") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(true)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1761,7 +1745,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(true)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1778,7 +1761,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1803,7 +1785,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1820,7 +1801,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1849,7 +1829,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -1866,7 +1845,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1882,7 +1860,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -1898,7 +1875,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1915,7 +1891,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1932,7 +1907,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1949,7 +1923,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( @@ -1966,7 +1939,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_SUCHT) .slug("suchtberatung") - .excludeNonMainConsultantsFromTeamSessions(false) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(false) .welcomeMessage( @@ -1983,7 +1955,6 @@ public class TestConstants { new ExtendedConsultingTypeResponseDTO() .id(CONSULTING_TYPE_ID_U25) .slug("u25") - .excludeNonMainConsultantsFromTeamSessions(true) .groupChat(new GroupChatDTO().isGroupChat(false)) .consultantBoundedToConsultingType(true) .welcomeMessage( From 11de951487be4c1364e5103d9e7e35f64c46e1ec Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 31 Jul 2024 10:33:29 +0200 Subject: [PATCH 15/64] CARITAS-243 - Remove feedback group id --- .../cob/userservice/api/Messenger.java | 20 +---- ...etRocketChatRoomReadOnlyActionCommand.java | 1 - ...tRoomForConsultantViolationReportRule.java | 11 +-- .../rocketchat/RocketChatGroupOperation.java | 10 --- .../RocketChatOperationConditionProvider.java | 14 ---- ...etChatRemoveFromGroupOperationService.java | 28 ------- .../facade/CreateEnquiryMessageFacade.java | 1 - .../assignsession/AssignEnquiryFacade.java | 9 --- .../assignsession/AssignSessionFacade.java | 41 ---------- .../UnauthorizedMembersProvider.java | 14 +--- .../cob/userservice/api/model/Session.java | 8 -- .../api/service/AskerImportService.java | 10 --- .../archive/SessionArchiveService.java | 1 - .../api/service/session/SessionService.java | 23 ------ .../asker/DeleteRoomsAndSessionAction.java | 1 - ...cketChatRoomReadOnlyActionCommandTest.java | 4 +- .../UserControllerSessionE2EIT.java | 76 ----------------- ...mForConsultantViolationReportRuleTest.java | 68 +++------------- ...veConsultantFromRocketChatServiceTest.java | 12 +-- ...sultantAgencyRelationCreatorServiceIT.java | 33 +++----- ...cyRelationCreatorServiceTenantAwareIT.java | 8 +- ...ketChatAddToGroupOperationServiceTest.java | 17 ++-- ...ketChatOperationConditionProviderTest.java | 48 ++--------- ...atRemoveFromGroupOperationServiceTest.java | 81 +++---------------- .../CreateEnquiryMessageFacadeTest.java | 1 - .../AssignEnquiryFacadeTest.java | 28 ------- .../AssignSessionFacadeTest.java | 69 ++-------------- .../service/session/SessionServiceTest.java | 23 ------ .../api/testHelper/TestConstants.java | 18 ----- ...DeleteAskerRoomsAndSessionsActionTest.java | 26 +++--- .../DeleteSingleRoomAndSessionActionTest.java | 22 +++-- 31 files changed, 83 insertions(+), 643 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/Messenger.java b/src/main/java/de/caritas/cob/userservice/api/Messenger.java index 6eaefc12a..46502068d 100644 --- a/src/main/java/de/caritas/cob/userservice/api/Messenger.java +++ b/src/main/java/de/caritas/cob/userservice/api/Messenger.java @@ -6,7 +6,6 @@ import de.caritas.cob.userservice.api.model.Chat; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; -import de.caritas.cob.userservice.api.port.in.IdentityManaging; import de.caritas.cob.userservice.api.port.in.Messaging; import de.caritas.cob.userservice.api.port.out.ChatRepository; import de.caritas.cob.userservice.api.port.out.ConsultantRepository; @@ -37,7 +36,6 @@ public class Messenger implements Messaging { private final SessionRepository sessionRepository; private final UserServiceMapper mapper; private final StringConverter stringConverter; - private final IdentityManaging identityManager; private final AgencyService agencyService; @Override @@ -141,17 +139,9 @@ public boolean removeUserFromSession(String chatUserId, String chatId) { var removedOrIgnored = new AtomicBoolean(true); if (!session.isAdvisedBy(consultant) && !isResponsible(session, consultant)) { - if (isInChat(chatId, chatUserId) - && !isTeaming(session, consultant) - && !isPeering(session, consultant)) { + if (isInChat(chatId, chatUserId)) { removedOrIgnored.set(messageClient.removeUserFromSession(chatUserId, chatId)); } - - var feedbackChatId = session.getFeedbackGroupId(); - if (isInChat(feedbackChatId, chatUserId)) { - removedOrIgnored.compareAndExchange( - true, messageClient.removeUserFromSession(chatUserId, feedbackChatId)); - } } return removedOrIgnored.get(); @@ -161,14 +151,6 @@ private boolean isResponsible(Session session, Consultant consultant) { return session.isTeamSession() && consultant.isInAgency(session.getAgencyId()); } - private boolean isTeaming(Session session, Consultant consultant) { - return !session.hasFeedbackChat() && consultant.isTeamConsultant(); - } - - private boolean isPeering(Session session, Consultant consultant) { - return session.hasFeedbackChat() && identityManager.canViewPeerSessions(consultant.getId()); - } - public boolean isInChat(String chatId, String chatUserId) { if (isNull(chatId)) { return false; diff --git a/src/main/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommand.java b/src/main/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommand.java index 2d49a0793..4b0d0c1e4 100644 --- a/src/main/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommand.java +++ b/src/main/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommand.java @@ -28,7 +28,6 @@ public class SetRocketChatRoomReadOnlyActionCommand implements ActionCommand rocketChatRooms) { return isNotBlank(groupId) && !rocketChatRooms.contains(groupId); } - private boolean areBothRoomsMissing(Session session, List rocketChatRoomsOfUser) { - return isGroupMissing(session.getGroupId(), rocketChatRoomsOfUser) - && isGroupMissing(session.getFeedbackGroupId(), rocketChatRoomsOfUser); + private boolean isRoomMissing(Session session, List rocketChatRoomsOfUser) { + return isGroupMissing(session.getGroupId(), rocketChatRoomsOfUser); } } diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java index d07516bf4..0442a7d52 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java @@ -35,15 +35,6 @@ void addConsultantToGroupOfSession( "Consultant added to rc group %s (%s).", session.getGroupId(), resolveTypeOfSession(session))); } - - if (operationConditionProvider.canAddToRocketChatFeedbackGroup()) { - rocketChatFacade.addUserToRocketChatGroup( - consultant.getRocketChatId(), session.getFeedbackGroupId()); - logMethod.accept( - String.format( - "Consultant added to rc feedback group %s (%s).", - session.getFeedbackGroupId(), resolveTypeOfSession(session))); - } } String resolveTypeOfSession(Session session) { @@ -55,7 +46,6 @@ String resolveTypeOfSession(Session session) { void removeConsultantsFromSessionGroups(Session session, List consultants) { removeConsultantsFromRocketChatGroup(session.getGroupId(), consultants); - removeConsultantsFromRocketChatGroup(session.getFeedbackGroupId(), consultants); } void removeConsultantsFromSessionGroup(String rcGroupId, List consultants) { diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java index 00ba805b1..c90d99375 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java @@ -1,6 +1,5 @@ package de.caritas.cob.userservice.api.admin.service.rocketchat; -import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; @@ -44,17 +43,4 @@ private Boolean canAddToTeamConsultingSession() { consultingTypeManager.getConsultingTypeSettings(this.session.getConsultingTypeId()); return nonNull(consultingTypeSettings); } - - /** - * Checks if a given {@link Consultant} can be added to a Rocket.Chat feedback group. - * - * @return true if {@link Session} has feedback room and {@link Session} is an enquiry or {@link - * Consultant} is a main consultant - */ - boolean canAddToRocketChatFeedbackGroup() { - if (isNull(this.session.getFeedbackGroupId())) { - return false; - } - return isEnquiry(); - } } diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java index e91a7da6b..d26060e4e 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java @@ -87,21 +87,6 @@ public void removeFromGroupOrRollbackOnFailure() { this.consultantsToRemoveFromSessions.forEach(this::performGroupRemove); } - /** Removes the given consultant from Rocket.Chat feedback group of given session. */ - public void removeFromFeedbackGroup() { - this.consultantsToRemoveFromSessions.forEach( - ((session, consultants) -> - removeConsultantsFromSessionGroup(session.getFeedbackGroupId(), consultants))); - } - - /** - * Removes the given consultant from Rocket.Chat feedback group of given session with rollback on - * error. - */ - public void removeFromFeedbackGroupOrRollbackOnFailure() { - this.consultantsToRemoveFromSessions.forEach(this::performFeedbackGroupRemove); - } - private void performGroupRemove(Session session, List consultants) { try { removeConsultantsFromSessionGroup(session.getGroupId(), consultants); @@ -114,19 +99,6 @@ private void performGroupRemove(Session session, List consultants) { } } - private void performFeedbackGroupRemove(Session session, List consultants) { - try { - removeConsultantsFromSessionGroup(session.getFeedbackGroupId(), consultants); - } catch (Exception e) { - rollback(); - throw new InternalServerErrorException( - String.format( - FAILED_TO_REMOVE_CONSULTANTS_ERROR, session.getFeedbackGroupId(), session.getId()), - e, - LogService::logRocketChatError); - } - } - private void rollback() { this.consultantsToRemoveFromSessions.forEach( (session, consultants) -> diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java index 792ddc4b5..ce567080a 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java @@ -397,7 +397,6 @@ private void updateSession( try { session.setGroupId(rcGroupId); - session.setFeedbackGroupId(rcFeedbackGroupId); session.setStatus(SessionStatus.NEW); session.setEnquiryMessageDate(nowInUtc()); if (nonNull(language)) { diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java index 9983253bb..17de5fe6b 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java @@ -129,9 +129,6 @@ private Supplier updateRocketChatRooms( return () -> { tenantContextProvider.setCurrentTenantContextIfMissing(currentTenantId); updateRocketChatRooms(session.getGroupId(), session, consultant); - if (session.hasFeedbackChat()) { - updateRocketChatRooms(session.getFeedbackGroupId(), session, consultant); - } return null; }; } @@ -140,9 +137,6 @@ public void updateRocketChatRooms(String rcGroupId, Session session, Consultant try { var memberList = this.rocketChatFacade.retrieveRocketChatMembers(rcGroupId); removeUnauthorizedMembers(rcGroupId, session, consultant, memberList); - if (session.hasFeedbackChat()) { - this.rocketChatFacade.addUserToRocketChatGroup(consultant.getRocketChatId(), rcGroupId); - } this.rocketChatFacade.removeSystemMessagesFromRocketChatGroup(rcGroupId); } catch (Exception e) { @@ -165,9 +159,6 @@ private void removeUnauthorizedMembers( if (rcGroupId.equalsIgnoreCase(session.getGroupId())) { rocketChatRemoveFromGroupOperationService.removeFromGroup(); } - if (rcGroupId.equalsIgnoreCase(session.getFeedbackGroupId())) { - rocketChatRemoveFromGroupOperationService.removeFromFeedbackGroup(); - } } private void rollbackSessionUpdate(Session session) { diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java index d5b56aa1f..7d59bab25 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java @@ -1,33 +1,23 @@ package de.caritas.cob.userservice.api.facade.assignsession; -import static org.apache.commons.lang3.BooleanUtils.isTrue; - -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; import de.caritas.cob.userservice.api.admin.service.rocketchat.RocketChatRemoveFromGroupOperationService; -import de.caritas.cob.userservice.api.exception.CreateEnquiryException; -import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; -import de.caritas.cob.userservice.api.facade.CreateEnquiryMessageFacade; import de.caritas.cob.userservice.api.facade.EmailNotificationFacade; import de.caritas.cob.userservice.api.facade.RocketChatFacade; import de.caritas.cob.userservice.api.helper.AuthenticatedUser; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; -import de.caritas.cob.userservice.api.model.ConsultantAgency; import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.SessionStatus; import de.caritas.cob.userservice.api.port.out.IdentityClient; -import de.caritas.cob.userservice.api.service.ConsultantAgencyService; import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.service.statistics.StatisticsService; import de.caritas.cob.userservice.api.service.statistics.event.AssignSessionStatisticsEvent; import de.caritas.cob.userservice.api.tenant.TenantContext; -import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import de.caritas.cob.userservice.statisticsservice.generated.web.model.UserRole; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; -import javax.validation.constraints.NotNull; import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -52,10 +42,6 @@ public class AssignSessionFacade { private final @NonNull ConsultingTypeManager consultingTypeManager; private final @NonNull UnauthorizedMembersProvider unauthorizedMembersProvider; private final @NonNull StatisticsService statisticsService; - private final @NotNull RocketChatService rocketChatService; - private final @NotNull CreateEnquiryMessageFacade createEnquiryMessageFacade; - private final @NonNull ConsultantAgencyService consultantAgencyService; - private final @NonNull AssignEnquiryFacade assignEnquiryFacade; private final @NonNull HttpServletRequest httpServletRequest; /** @@ -75,7 +61,6 @@ public void assignSession( updateSessionInDatabase(session, consultantToAssign); addConsultantToRocketChatGroup(session.getGroupId(), consultantToAssign); removeUnauthorizedMembersFromGroups(session, consultantToAssign, authConsultant); - createNewFeedbackGroup(session, consultantToAssign); if (!authenticatedUser.isAdviceSeeker()) { sendEmailForConsultantChange(session, consultantToAssign); } @@ -89,32 +74,6 @@ public void assignSession( statisticsService.fireEvent(event); } - private void createNewFeedbackGroup(Session session, Consultant consultantToAssign) { - try { - if (session.hasFeedbackChat()) { - rocketChatService.deleteGroupAsSystemUser(session.getFeedbackGroupId()); - session.setFeedbackGroupId(null); - sessionService.saveSession(session); - } - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = - consultingTypeManager.getConsultingTypeSettings(session.getConsultingTypeId()); - - if (isTrue(extendedConsultingTypeResponseDTO.getInitializeFeedbackChat())) { - List allAgencyConsultants = - consultantAgencyService.findConsultantsByAgencyId(session.getAgencyId()); - String rcFeedbackGroupId = - createEnquiryMessageFacade.createRcFeedbackGroup( - session, session.getGroupId(), allAgencyConsultants); - session.setFeedbackGroupId(rcFeedbackGroupId); - sessionService.saveSession(session); - assignEnquiryFacade.updateRocketChatRooms(rcFeedbackGroupId, session, consultantToAssign); - } - } catch (CreateEnquiryException exception) { - log.error("CreateEnquiryMessageFacade error: ", exception); - throw new InternalServerErrorException(exception.getMessage(), exception); - } - } - private void updateSessionInDatabase(Session session, Consultant consultant) { var initialStatus = session.getStatus(); sessionService.updateConsultantAndStatusForSession( diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java index 894e83319..0914357a1 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java @@ -108,7 +108,7 @@ private void addTeamConsultantsIfNecessary( private void addTeamConsultantsIfTeamSession( Session session, List authorizedMembers, List consultantsOfAgency) { - if (session.isTeamSession() && !session.hasFeedbackChat()) { + if (session.isTeamSession()) { consultantsOfAgency.stream() .filter(Consultant::isTeamConsultant) .map(Consultant::getRocketChatId) @@ -124,15 +124,9 @@ private void addMainConsultantsIfFeedbackTeamSession( Session session, List authorizedMembers, List consultantsOfAgency) { - if (isTeamSessionWithFeedbackChat(session)) { - if (rcGroupId.equalsIgnoreCase(session.getGroupId())) - obtainMainConsultantsOfGroup( - authorizedMembers, consultantsOfAgency, this::hasAuthorityToViewPeerGroups); - } - } - - private boolean isTeamSessionWithFeedbackChat(Session session) { - return session.isTeamSession() && session.hasFeedbackChat(); + if (rcGroupId.equalsIgnoreCase(session.getGroupId())) + obtainMainConsultantsOfGroup( + authorizedMembers, consultantsOfAgency, this::hasAuthorityToViewPeerGroups); } private void obtainMainConsultantsOfGroup( diff --git a/src/main/java/de/caritas/cob/userservice/api/model/Session.java b/src/main/java/de/caritas/cob/userservice/api/model/Session.java index d85c5e3bd..e61f613e7 100644 --- a/src/main/java/de/caritas/cob/userservice/api/model/Session.java +++ b/src/main/java/de/caritas/cob/userservice/api/model/Session.java @@ -1,7 +1,6 @@ package de.caritas.cob.userservice.api.model; import static java.util.Objects.nonNull; -import static org.apache.commons.lang3.StringUtils.isNotBlank; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -154,9 +153,6 @@ public Session( @Column(name = "rc_group_id") private String groupId; - @Column(name = "rc_feedback_group_id") - private String feedbackGroupId; - @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "session") @Exclude private List sessionData; @@ -170,10 +166,6 @@ public Session( @Column(nullable = false, columnDefinition = "bit default false") private Boolean isConsultantDirectlySet; - public boolean hasFeedbackChat() { - return isNotBlank(feedbackGroupId); - } - @Column(name = "create_date", columnDefinition = "datetime") private LocalDateTime createDate; diff --git a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java index 00ab9a75f..00d9dfe4d 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java @@ -79,14 +79,7 @@ public class AskerImportService { @Value("${rocket.systemuser.password}") private String ROCKET_CHAT_SYSTEM_USER_PASSWORD; - @Value("${asker.import.welcome.message.filename}") - private String welcomeMsgFilename; - - @Value("${asker.import.welcome.message.filename.replace.value}") - private String welcomeMsgFilenameReplaceValue; - private final String NEWLINE_CHAR = "\r\n"; - private final String IMPORT_CHARSET = "UTF-8"; private final String IMPORT_LOG_CHARSET = "UTF-8"; private final String DUMMY_POSTCODE = "00000"; private final @NonNull IdentityClient identityClient; @@ -475,9 +468,6 @@ public void startImport() { "Could not remove system messages from feedback group id %s for user %s", rcFeedbackGroupId, record.getUsername())); } - - // Update the session's feedback group id - sessionService.updateFeedbackGroupId(session, rcFeedbackGroupId); } // Update session data by Rocket.Chat group id and consultant id diff --git a/src/main/java/de/caritas/cob/userservice/api/service/archive/SessionArchiveService.java b/src/main/java/de/caritas/cob/userservice/api/service/archive/SessionArchiveService.java index b767279f5..a7ed3eb24 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/archive/SessionArchiveService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/archive/SessionArchiveService.java @@ -113,7 +113,6 @@ private void executeArchiving( Session session) { try { setRocketChatRoomState(session.getGroupId(), rcUpdateRoomStateMethod); - setRocketChatRoomState(session.getFeedbackGroupId(), rcUpdateRoomStateMethod); session.setStatus(sessionStatusTo); sessionRepository.save(session); } catch (InternalServerErrorException | RocketChatUserNotInitializedException ex) { diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java index bf724b1be..74eee20d5 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java @@ -17,9 +17,7 @@ import de.caritas.cob.userservice.api.adapters.web.dto.UserDTO; import de.caritas.cob.userservice.api.adapters.web.dto.UserSessionResponseDTO; import de.caritas.cob.userservice.api.config.auth.UserRole; -import de.caritas.cob.userservice.api.exception.UpdateFeedbackGroupIdException; import de.caritas.cob.userservice.api.exception.httpresponses.ForbiddenException; -import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; import de.caritas.cob.userservice.api.exception.httpresponses.NotFoundException; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; @@ -113,27 +111,6 @@ public void updateConsultantAndStatusForSession( saveSession(session); } - /** - * Updates the feedback group id of the given {@link Session}. - * - * @param session an optional session - * @param feedbackGroupId the ID of the feedback group - */ - public void updateFeedbackGroupId(Session session, String feedbackGroupId) - throws UpdateFeedbackGroupIdException { - try { - session.setFeedbackGroupId(feedbackGroupId); - saveSession(session); - - } catch (InternalServerErrorException serviceException) { - throw new UpdateFeedbackGroupIdException( - String.format( - "Could not update feedback group id %s for session %s", - feedbackGroupId, session.getId()), - serviceException); - } - } - /** * Returns a list of current sessions (no matter if an enquiry message has been written or not) * for the provided user ID. diff --git a/src/main/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteRoomsAndSessionAction.java b/src/main/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteRoomsAndSessionAction.java index 0aa2df8d3..c11cdc3c7 100644 --- a/src/main/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteRoomsAndSessionAction.java +++ b/src/main/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteRoomsAndSessionAction.java @@ -78,7 +78,6 @@ protected void deleteSession(Session session, List workfl void performSessionDeletion(Session session, List workflowErrors) { deleteRocketChatGroup(session.getGroupId(), workflowErrors); - deleteRocketChatGroup(session.getFeedbackGroupId(), workflowErrors); deleteSessionData(session, workflowErrors); deleteSession(session, workflowErrors); } diff --git a/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java b/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java index a9d5db088..c5af06550 100644 --- a/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java @@ -49,11 +49,9 @@ private static List sessionsWithoutInteractionsExpected() { } @Test - void execute_Should_useRocketChatServiceTwice_When_sessionHasGroupIdAndFeedbackGroupId() - throws Exception { + void execute_Should_useRocketChatServiceTwice_When_sessionHasGroupId() throws Exception { Session session = new Session(); session.setGroupId("group id"); - session.setFeedbackGroupId("feedback group id"); this.actionCommand.execute(session); diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java index 4e025248d..af56c3148 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java @@ -33,7 +33,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoClient; @@ -84,7 +83,6 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; -import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -103,7 +101,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; -import org.keycloak.adapters.KeycloakConfigResolver; import org.keycloak.admin.client.Keycloak; import org.keycloak.admin.client.resource.RealmResource; import org.keycloak.admin.client.resource.RoleMappingResource; @@ -182,8 +179,6 @@ class UserControllerSessionE2EIT { @MockBean private RocketChatCredentialsProvider rocketChatCredentialsProvider; - @MockBean private KeycloakConfigResolver keycloakConfigResolver; - @TestConfiguration static class TestConfig { @Bean(name = "initializeFeedbackChat") @@ -896,11 +891,6 @@ void removeFromSessionShouldReturnNoContentAndIgnoreRemovalIfNotInChat(CapturedO verifyRocketChatUserRemovedFromGroup( logOutput, session.getGroupId(), session.getConsultant().getRocketChatId(), 0); verifyRocketChatTechUserLeftGroup(logOutput, session.getGroupId(), 0); - - verifyRocketChatTechUserAddedToGroup(logOutput, session.getFeedbackGroupId(), 0); - verifyRocketChatUserRemovedFromGroup( - logOutput, session.getFeedbackGroupId(), consultant.getRocketChatId(), 0); - verifyRocketChatTechUserLeftGroup(logOutput, session.getFeedbackGroupId(), 0); } @Test @@ -929,45 +919,6 @@ void removeFromSessionShouldReturnNoContentAndIgnoreRemovalIfNotTeaming(Captured verifyRocketChatUserRemovedFromGroup( logOutput, session.getGroupId(), session.getConsultant().getRocketChatId(), 0); verifyRocketChatTechUserLeftGroup(logOutput, session.getGroupId(), 0); - - verifyRocketChatTechUserAddedToGroup(logOutput, session.getFeedbackGroupId(), 0); - verifyRocketChatUserRemovedFromGroup( - logOutput, session.getFeedbackGroupId(), consultant.getRocketChatId(), 0); - verifyRocketChatTechUserLeftGroup(logOutput, session.getFeedbackGroupId(), 0); - } - - @Test - @WithMockUser(authorities = AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION) - void removeFromSessionShouldReturnNoContentAndRemoveConsultantFromSessionNotFromFeedbackChat( - CapturedOutput logOutput) throws Exception { - givenAValidConsultant(true); - givenAValidRocketChatSystemUser(); - givenAValidRocketChatInfoUserResponse(); - givenAValidSession(); - var doc = givenSubscription(consultant.getRocketChatId(), "c", null); - givenMongoResponseWith(doc); - givenKeycloakUserRoles(consultant.getId(), "consultant"); - - mockMvc - .perform( - delete( - "/users/sessions/{sessionId}/consultant/{consultantId}", - session.getId(), - consultant.getId()) - .cookie(CSRF_COOKIE) - .header(CSRF_HEADER, CSRF_VALUE) - .accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isNoContent()); - - verifyRocketChatTechUserAddedToGroup(logOutput, session.getGroupId(), 1); - verifyRocketChatUserRemovedFromGroup( - logOutput, session.getGroupId(), consultant.getRocketChatId(), 1); - verifyRocketChatTechUserLeftGroup(logOutput, session.getGroupId(), 1); - - verifyRocketChatTechUserAddedToGroup(logOutput, session.getFeedbackGroupId(), 0); - verifyRocketChatUserRemovedFromGroup( - logOutput, session.getFeedbackGroupId(), consultant.getRocketChatId(), 0); - verifyRocketChatTechUserLeftGroup(logOutput, session.getFeedbackGroupId(), 0); } @Test @@ -995,11 +946,6 @@ void removeFromSessionShouldReturnNoContentAndIgnoreRemovalIfAssigned(CapturedOu verifyRocketChatUserRemovedFromGroup( logOutput, session.getGroupId(), session.getConsultant().getRocketChatId(), 0); verifyRocketChatTechUserLeftGroup(logOutput, session.getGroupId(), 0); - - verifyRocketChatTechUserAddedToGroup(logOutput, session.getFeedbackGroupId(), 0); - verifyRocketChatUserRemovedFromGroup( - logOutput, session.getFeedbackGroupId(), consultant.getRocketChatId(), 0); - verifyRocketChatTechUserLeftGroup(logOutput, session.getFeedbackGroupId(), 0); } @Test @@ -1142,28 +1088,6 @@ private void givenMongoResponseWith(Document doc, Document... docs) { when(mongoDatabase.getCollection("rocketchat_subscription")).thenReturn(mongoCollection); } - @SuppressWarnings("SameParameterValue") - private Document givenSubscription(String chatUserId, String username, String name) - throws JsonProcessingException { - var doc = new LinkedHashMap(); - doc.put("_id", RandomStringUtils.randomAlphanumeric(17)); - doc.put("rid", RandomStringUtils.randomAlphanumeric(17)); - doc.put("name", RandomStringUtils.randomAlphanumeric(17)); - - var user = new LinkedHashMap<>(); - user.put("_id", chatUserId); - user.put("username", username); - if (nonNull(name)) { - user.put("name", name); - } - - doc.put("u", user); - - var json = objectMapper.writeValueAsString(doc); - - return Document.parse(json); - } - private void givenAnEmptyRocketChatGetSubscriptionsResponse() { subscriptionsGetResponse = new SubscriptionsGetDTO(); subscriptionsGetResponse.setSuccess(true); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java index ec46a85c9..1ec54680e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java @@ -1,7 +1,6 @@ package de.caritas.cob.userservice.api.admin.report.rule; import static de.caritas.cob.userservice.api.adapters.web.dto.ViolationDTO.ViolationTypeEnum.CONSULTANT; -import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.Collections.singleton; import static java.util.Collections.singletonList; @@ -30,7 +29,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class MissingRocketChatRoomForConsultantViolationReportRuleTest { +class MissingRocketChatRoomForConsultantViolationReportRuleTest { @InjectMocks private MissingRocketChatRoomForConsultantViolationReportRule reportRule; @@ -41,14 +40,14 @@ public class MissingRocketChatRoomForConsultantViolationReportRuleTest { @Mock private RocketChatService rocketChatService; @Test - public void generateViolations_Should_returnEmptyList_When_noViolationExists() { + void generateViolations_Should_returnEmptyList_When_noViolationExists() { List violations = this.reportRule.generateViolations(); assertThat(violations, hasSize(0)); } @Test - public void generateViolations_Should_returnExpectedViolation_When_oneViolatedSessionExists() { + void generateViolations_Should_returnExpectedViolation_When_oneViolatedSessionExists() { Consultant violatedConsultant = new EasyRandom().nextObject(Consultant.class); violatedConsultant.setSessions(null); Session violatedSession = new EasyRandom().nextObject(Session.class); @@ -68,48 +67,11 @@ public void generateViolations_Should_returnExpectedViolation_When_oneViolatedSe assertThat(resultViolation.getIdentifier(), is(violatedSession.getConsultant().getId())); assertThat(resultViolation.getViolationType(), is(CONSULTANT)); assertThat( - resultViolation.getReason(), - is( - "Missing room with id " - + violatedSession.getGroupId() - + " in rocket chat and Missing feedback room with id " - + violatedSession.getFeedbackGroupId() - + " in rocket chat")); + resultViolation.getReason(), is("Missing room with id " + violatedSession.getGroupId())); } @Test - public void - generateViolations_Should_returnViolationMessageOfFeedbackRoom_When_oneViolatedFeedbackSessionExists() { - Consultant violatedConsultant = new EasyRandom().nextObject(Consultant.class); - Session violatedSession = new EasyRandom().nextObject(Session.class); - violatedConsultant.setSessions(singleton(violatedSession)); - UserInfoResponseDTO userInfoResponseDTO = - new EasyRandom().nextObject(UserInfoResponseDTO.class); - userInfoResponseDTO - .getUser() - .setRooms(singletonList(new UserRoomDTO(violatedSession.getGroupId()))); - - when(this.consultantRepository.findAll()).thenReturn(singletonList(violatedConsultant)); - when(this.sessionRepository.findByConsultantAndStatus(any(), any())) - .thenReturn(singletonList(violatedSession)); - when(this.rocketChatService.getUserInfo(any())).thenReturn(userInfoResponseDTO); - - List violations = this.reportRule.generateViolations(); - - assertThat(violations, hasSize(1)); - ViolationDTO resultViolation = violations.iterator().next(); - assertThat(resultViolation.getIdentifier(), is(violatedSession.getConsultant().getId())); - assertThat(resultViolation.getViolationType(), is(CONSULTANT)); - assertThat( - resultViolation.getReason(), - is( - "Missing feedback room with id " - + violatedSession.getFeedbackGroupId() - + " in rocket chat")); - } - - @Test - public void + void generateViolations_Should_returnViolationMessageOfRoom_When_oneViolatedStandardSessionExists() { Consultant violatedConsultant = new EasyRandom().nextObject(Consultant.class); Session violatedSession = new EasyRandom().nextObject(Session.class); @@ -118,7 +80,7 @@ public void generateViolations_Should_returnExpectedViolation_When_oneViolatedSe new EasyRandom().nextObject(UserInfoResponseDTO.class); userInfoResponseDTO .getUser() - .setRooms(singletonList(new UserRoomDTO(violatedSession.getFeedbackGroupId()))); + .setRooms(singletonList(new UserRoomDTO(violatedSession.getGroupId()))); when(this.consultantRepository.findAll()).thenReturn(singletonList(violatedConsultant)); when(this.sessionRepository.findByConsultantAndStatus(any(), any())) @@ -137,18 +99,13 @@ public void generateViolations_Should_returnExpectedViolation_When_oneViolatedSe } @Test - public void generateViolations_Should_returnNoViolation_When_allRoomsExist() { + void generateViolations_Should_returnNoViolation_When_allRoomsExist() { Consultant violatedConsultant = new EasyRandom().nextObject(Consultant.class); Session violatedSession = new EasyRandom().nextObject(Session.class); violatedConsultant.setSessions(singleton(violatedSession)); UserInfoResponseDTO userInfoResponseDTO = new EasyRandom().nextObject(UserInfoResponseDTO.class); - userInfoResponseDTO - .getUser() - .setRooms( - asList( - new UserRoomDTO(violatedSession.getGroupId()), - new UserRoomDTO(violatedSession.getFeedbackGroupId()))); + userInfoResponseDTO.getUser().setRooms(List.of(new UserRoomDTO(violatedSession.getGroupId()))); when(this.consultantRepository.findAll()).thenReturn(singletonList(violatedConsultant)); when(this.sessionRepository.findByConsultantAndStatus(any(), any())) @@ -161,18 +118,13 @@ public void generateViolations_Should_returnNoViolation_When_allRoomsExist() { } @Test - public void generateViolations_Should_returnViolation_When_userDoesNotExistInRocketChat() { + void generateViolations_Should_returnViolation_When_userDoesNotExistInRocketChat() { Consultant violatedConsultant = new EasyRandom().nextObject(Consultant.class); Session violatedSession = new EasyRandom().nextObject(Session.class); violatedConsultant.setSessions(singleton(violatedSession)); UserInfoResponseDTO userInfoResponseDTO = new EasyRandom().nextObject(UserInfoResponseDTO.class); - userInfoResponseDTO - .getUser() - .setRooms( - asList( - new UserRoomDTO(violatedSession.getGroupId()), - new UserRoomDTO(violatedSession.getFeedbackGroupId()))); + userInfoResponseDTO.getUser().setRooms(List.of(new UserRoomDTO(violatedSession.getGroupId()))); when(this.consultantRepository.findAll()).thenReturn(singletonList(violatedConsultant)); when(this.sessionRepository.findByConsultantAndStatus(any(), any())) diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java index d2c1b7472..d77d49962 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java @@ -6,10 +6,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; import de.caritas.cob.userservice.api.facade.RocketChatFacade; -import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.port.out.ConsultantRepository; @@ -22,7 +20,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class RemoveConsultantFromRocketChatServiceTest { +class RemoveConsultantFromRocketChatServiceTest { @InjectMocks private RemoveConsultantFromRocketChatService removeConsultantFromRocketChatService; @@ -30,12 +28,8 @@ public class RemoveConsultantFromRocketChatServiceTest { @Mock private ConsultantRepository consultantRepository; - @Mock private KeycloakService keycloakService; - - @Mock private ConsultingTypeManager consultingTypeManager; - @Test - public void + void removeConsultantFromSessions_Should_removeConsultant_When_consultantIsNotUserAndNotDirectlyAssigned() { Session session = new EasyRandom().nextObject(Session.class); session.getConsultant().setRocketChatId("consultant"); @@ -56,7 +50,5 @@ public class RemoveConsultantFromRocketChatServiceTest { verify(this.rocketChatFacade, times(1)) .removeUserFromGroup(consultant.getRocketChatId(), session.getGroupId()); - verify(this.rocketChatFacade, times(1)) - .removeUserFromGroup(consultant.getRocketChatId(), session.getFeedbackGroupId()); } } diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java index 4611d14f6..a570f9515 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java @@ -57,7 +57,7 @@ @TestPropertySource(properties = "spring.profiles.active=testing") @AutoConfigureTestDatabase(replace = Replace.ANY) @DirtiesContext(classMode = ClassMode.BEFORE_EACH_TEST_METHOD) -public class ConsultantAgencyRelationCreatorServiceIT { +class ConsultantAgencyRelationCreatorServiceIT { private final EasyRandom easyRandom = new EasyRandom(); @@ -82,7 +82,7 @@ public class ConsultantAgencyRelationCreatorServiceIT { @MockBean private ConsultingTypeManager consultingTypeManager; @Test - public void + void createNewConsultantAgency_Should_addConsultantToEnquiriesRocketChatGroups_When_ParamsAreValid() { Consultant consultant = createConsultantWithoutAgencyAndSession(); @@ -115,13 +115,6 @@ public class ConsultantAgencyRelationCreatorServiceIT { .addUserToRocketChatGroup( consultant.getRocketChatId(), enquirySessionWithoutConsultant.getGroupId())); - verifyAsync( - (a) -> - verify(rocketChatFacade, times(1)) - .addUserToRocketChatGroup( - consultant.getRocketChatId(), - enquirySessionWithoutConsultant.getFeedbackGroupId())); - List result = this.consultantAgencyRepository.findByConsultantIdAndDeleteDateIsNull(consultant.getId()); @@ -130,7 +123,7 @@ public class ConsultantAgencyRelationCreatorServiceIT { } @Test - public void + void createNewConsultantAgency_Should_addConsultantToTeamSessionRocketChatGroups_When_ParamsAreValid() { Consultant consultant = createConsultantWithoutAgencyAndSession(); @@ -160,10 +153,6 @@ public class ConsultantAgencyRelationCreatorServiceIT { .addUserToRocketChatGroup( consultant.getRocketChatId(), enquirySessionWithoutConsultant.getGroupId()); - verify(rocketChatFacade, timeout(10000)) - .addUserToRocketChatGroup( - consultant.getRocketChatId(), enquirySessionWithoutConsultant.getFeedbackGroupId()); - List result = this.consultantAgencyRepository.findByConsultantIdAndDeleteDateIsNull(consultant.getId()); @@ -178,7 +167,7 @@ public class ConsultantAgencyRelationCreatorServiceIT { } @Test - public void createNewConsultantAgency_Should_updateKeycloakRoles_When_ParamsAreValid() { + void createNewConsultantAgency_Should_updateKeycloakRoles_When_ParamsAreValid() { var roleSetName = "peer"; var createConsultantAgencyDTO = new CreateConsultantAgencyDTO(); createConsultantAgencyDTO.setAgencyId(15L); @@ -270,7 +259,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createConsultantAgencyRelations_Should_throwBadRequestException_When_consultantDoesNotExist() { assertThrows( BadRequestException.class, @@ -281,7 +270,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createNewConsultantAgency_Should_throwBadRequestException_When_consultantHasNotExpectedRole() { assertThrows( BadRequestException.class, @@ -297,7 +286,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createNewConsultantAgency_Should_throwBadRequestException_When_agencyServiceReturnesNullForAgency() { assertThrows( BadRequestException.class, @@ -315,7 +304,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createNewConsultantAgency_Should_throwInternalServerErrorException_When_agencyServiceThrowsAgencyServiceHelperException() { assertThrows( InternalServerErrorException.class, @@ -334,7 +323,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createNewConsultantAgency_Should_throwBadRequestException_When_agencyTypeIsU25AndConsultantHasAnotherConsultingTypeAssigned() { assertThrows( BadRequestException.class, @@ -358,7 +347,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createNewConsultantAgency_Should_throwBadRequestException_When_agencyTypeIsKreuzbundAndConsultantHasAnotherConsultingTypeAssigned() { assertThrows( BadRequestException.class, @@ -381,7 +370,7 @@ private Session createSessionWithoutConsultant(Long agencyId, SessionStatus sess } @Test - public void + void createConsultantAgencyRelations_Should_throwBadRequestException_When_ConsultantHasNotRequestedRole() { final var consultant = createConsultantWithoutAgencyAndSession(); try { diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceTenantAwareIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceTenantAwareIT.java index a30681171..5aa079879 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceTenantAwareIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceTenantAwareIT.java @@ -57,7 +57,7 @@ @DirtiesContext(classMode = ClassMode.BEFORE_EACH_TEST_METHOD) @TestPropertySource(properties = "multitenancy.enabled=true") @Transactional(propagation = Propagation.NEVER) -public class ConsultantAgencyRelationCreatorServiceTenantAwareIT { +class ConsultantAgencyRelationCreatorServiceTenantAwareIT { private final EasyRandom easyRandom = new EasyRandom(); @@ -92,7 +92,7 @@ public void afterTests() { } @Test - public void + void createNewConsultantAgency_Should_addConsultantToEnquiriesRocketChatGroups_When_ParamsAreValidAndMultitenancyEnabled() { Consultant consultant = createConsultantWithoutAgencyAndSession(); @@ -123,10 +123,6 @@ public void afterTests() { .addUserToRocketChatGroup( consultant.getRocketChatId(), enquirySessionWithoutConsultant.getGroupId()); - verify(rocketChatFacade, timeout(10000)) - .addUserToRocketChatGroup( - consultant.getRocketChatId(), enquirySessionWithoutConsultant.getFeedbackGroupId()); - List result = this.consultantAgencyRepository.findByConsultantIdAndDeleteDateIsNull(consultant.getId()); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java index 94ff9248f..e3d2d3eac 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java @@ -29,7 +29,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class RocketChatAddToGroupOperationServiceTest { +class RocketChatAddToGroupOperationServiceTest { private final EasyRandom easyRandom = new EasyRandom(); @@ -42,8 +42,7 @@ public class RocketChatAddToGroupOperationServiceTest { @Mock private ConsultingTypeManager consultingTypeManager; @Test - public void - addToGroupsOrRollbackOnFailure_Should_performRocketChatGroupActions_When_paramsAreValid() { + void addToGroupsOrRollbackOnFailure_Should_performRocketChatGroupActions_When_paramsAreValid() { Session session = easyRandom.nextObject(Session.class); session.setStatus(SessionStatus.NEW); @@ -57,14 +56,11 @@ public class RocketChatAddToGroupOperationServiceTest { verify(this.rocketChatFacade, times(1)) .addUserToRocketChatGroup(eq(consultant.getRocketChatId()), eq(session.getGroupId())); - verify(this.rocketChatFacade, times(1)) - .addUserToRocketChatGroup( - eq(consultant.getRocketChatId()), eq(session.getFeedbackGroupId())); verify(logMethod, times(2)).accept(anyString()); } @Test - public void + void addToGroupsOrRollbackOnFailure_Should_throwInternalErrorAndPerformRollback_When_addUserToRocketChatGroupFails() { Session session = easyRandom.nextObject(Session.class); @@ -88,14 +84,11 @@ public class RocketChatAddToGroupOperationServiceTest { } catch (InternalServerErrorException e) { verify(this.rocketChatFacade, times(1)) .removeUserFromGroup(eq(consultant.getRocketChatId()), eq(session.getGroupId())); - verify(this.rocketChatFacade, times(1)) - .removeUserFromGroup(eq(consultant.getRocketChatId()), eq(session.getFeedbackGroupId())); } } @Test - public void - addToGroupsOrRollbackOnFailure_Should_logErrorMessage_When_removeOfTechnicalUserFailes() { + void addToGroupsOrRollbackOnFailure_Should_logErrorMessage_When_removeOfTechnicalUserFailes() { assertThrows( InternalServerErrorException.class, () -> { @@ -117,7 +110,7 @@ public class RocketChatAddToGroupOperationServiceTest { } @Test - public void addToGroupsOrRollbackOnFailure_Should_throwInternalError_When_rollbackFails() { + void addToGroupsOrRollbackOnFailure_Should_throwInternalError_When_rollbackFails() { Session session = easyRandom.nextObject(Session.class); session.setStatus(SessionStatus.NEW); diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java index a1f626243..41f794ff8 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java @@ -18,7 +18,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class RocketChatOperationConditionProviderTest { +class RocketChatOperationConditionProviderTest { @InjectMocks private RocketChatOperationConditionProvider conditionProvider; @@ -29,7 +29,7 @@ public class RocketChatOperationConditionProviderTest { @Mock private ConsultingTypeManager consultingTypeManager; @Test - public void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsAnEnquiry() { + void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsAnEnquiry() { when(this.session.getStatus()).thenReturn(SessionStatus.NEW); boolean result = this.conditionProvider.canAddToRocketChatGroup(); @@ -38,7 +38,7 @@ public void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsAnEnquiry() } @Test - public void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSession() { + void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSession() { when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); when(this.session.isTeamSession()).thenReturn(true); when(this.session.getConsultingTypeId()).thenReturn(15); @@ -51,7 +51,7 @@ public void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSession } @Test - public void + void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSessionAndConsultingTypeIsU25AndConsultantHasAuthority() { when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); when(this.session.isTeamSession()).thenReturn(true); @@ -65,7 +65,7 @@ public void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSession } @Test - public void + void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSessionAndConsultingTypeIsU25AndConsultantHasRole() { when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); when(this.session.isTeamSession()).thenReturn(true); @@ -81,7 +81,7 @@ public void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSession } @Test - public void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInitial() { + void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInitial() { when(this.session.getStatus()).thenReturn(SessionStatus.INITIAL); boolean result = this.conditionProvider.canAddToRocketChatGroup(); @@ -90,8 +90,7 @@ public void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInitial() { } @Test - public void - canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInProgressButNoTeamSession() { + void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInProgressButNoTeamSession() { when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); when(this.session.isTeamSession()).thenReturn(false); @@ -101,7 +100,7 @@ public void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInitial() { } @Test - public void + void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsATeamSessionAndConsultingTypeIsU25AndConsultantHasNoAuthorityAndNoRole() { when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); when(this.session.isTeamSession()).thenReturn(true); @@ -115,35 +114,4 @@ public void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInitial() { assertThat(result, is(false)); } - - @Test - public void - canAddToRocketChatFeedbackGroup_Should_returnTrue_When_sessionHasFeedbackGroupAndIsEnquiry() { - when(this.session.getFeedbackGroupId()).thenReturn("feedbackGroup"); - when(this.session.getStatus()).thenReturn(SessionStatus.NEW); - - boolean result = this.conditionProvider.canAddToRocketChatFeedbackGroup(); - - assertThat(result, is(true)); - } - - @Test - public void canAddToRocketChatFeedbackGroup_Should_returnFalse_When_sessionHasNoFeedbackGroup() { - boolean result = this.conditionProvider.canAddToRocketChatFeedbackGroup(); - - assertThat(result, is(false)); - } - - @Test - public void - canAddToRocketChatFeedbackGroup_Should_returnFalse_When_sessionHasFeedbackGroupAndConsultantHasNoRoleAndNoAuthority() { - when(this.session.getFeedbackGroupId()).thenReturn("feedbackGroup"); - when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); - when(this.keycloakService.userHasAuthority(any(), any())).thenReturn(false); - when(this.keycloakService.userHasRole(any(), any())).thenReturn(false); - - boolean result = this.conditionProvider.canAddToRocketChatFeedbackGroup(); - - assertThat(result, is(false)); - } } diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java index 07526d5f7..5de2f12c2 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java @@ -30,7 +30,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class RocketChatRemoveFromGroupOperationServiceTest { +class RocketChatRemoveFromGroupOperationServiceTest { private RocketChatRemoveFromGroupOperationService removeService; @@ -45,7 +45,7 @@ public class RocketChatRemoveFromGroupOperationServiceTest { @Mock private ConsultingTypeManager consultingTypeManager; @BeforeEach - public void setup() { + void setup() { Map> sessionConsultants = new HashMap<>(); sessionConsultants.put(session, singletonList(consultant)); this.removeService = @@ -55,16 +55,15 @@ public void setup() { } @Test - public void removeFromGroupsOrRollbackOnFailure_Should_notCollectMembers_When_rcUserIdIsEmpty() { + void removeFromGroupsOrRollbackOnFailure_Should_notCollectMembers_When_rcUserIdIsEmpty() { this.removeService.removeFromGroupsOrRollbackOnFailure(); verify(this.rocketChatFacade, times(0)).getStandardMembersOfGroup(any()); } @Test - public void removeFromGroupsOrRollbackOnFailure_Should_executeRemove_When_rcUserIdIsGiven() { + void removeFromGroupsOrRollbackOnFailure_Should_executeRemove_When_rcUserIdIsGiven() { when(this.session.getGroupId()).thenReturn("group"); - when(this.session.getFeedbackGroupId()).thenReturn("feedback"); when(this.consultant.getRocketChatId()).thenReturn("rcId"); GroupMemberDTO groupMemberDTO = new GroupMemberDTO(); groupMemberDTO.set_id(this.consultant.getRocketChatId()); @@ -78,8 +77,7 @@ public void removeFromGroupsOrRollbackOnFailure_Should_executeRemove_When_rcUser } @Test - public void - removeFromGroupsOrRollbackOnFailure_Should_throwInternalServerError_When_rollbackFails() { + void removeFromGroupsOrRollbackOnFailure_Should_throwInternalServerError_When_rollbackFails() { when(this.session.getGroupId()).thenReturn("group"); when(this.session.getStatus()).thenReturn(SessionStatus.NEW); when(this.consultant.getRocketChatId()).thenReturn("rcId"); @@ -103,7 +101,7 @@ public void removeFromGroupsOrRollbackOnFailure_Should_executeRemove_When_rcUser } @Test - public void + void removeFromGroupsOrRollbackOnFailure_Should_throwInternalServerErrorAndPerformRollback_When_error() { when(this.session.getGroupId()).thenReturn("group"); when(this.session.getStatus()).thenReturn(SessionStatus.NEW); @@ -123,7 +121,7 @@ public void removeFromGroupsOrRollbackOnFailure_Should_executeRemove_When_rcUser } @Test - public void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChatGroup() { + void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChatGroup() { when(this.session.getGroupId()).thenReturn("group"); when(this.consultant.getRocketChatId()).thenReturn("rcId"); GroupMemberDTO groupMemberDTO = new GroupMemberDTO(); @@ -138,8 +136,7 @@ public void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChat } @Test - public void - removeFromGroupOrRollbackOnFailure_Should_throwInternalServerError_When_rollbackFails() { + void removeFromGroupOrRollbackOnFailure_Should_throwInternalServerError_When_rollbackFails() { when(this.session.getGroupId()).thenReturn("group"); when(this.session.getStatus()).thenReturn(SessionStatus.NEW); when(this.consultant.getRocketChatId()).thenReturn("rcId"); @@ -163,7 +160,7 @@ public void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChat } @Test - public void + void removeFromGroupOrRollbackOnFailure_Should_throwInternalServerErrorAndPerformRollback_When_error() { when(this.session.getGroupId()).thenReturn("group"); when(this.session.getStatus()).thenReturn(SessionStatus.NEW); @@ -181,64 +178,4 @@ public void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChat verify(this.rocketChatFacade, times(1)).addUserToRocketChatGroup("rcId", "group"); } } - - @Test - public void removeFromFeedbackGroupOrRollbackOnFailure_Should_executeRemoveForRocketChatGroup() { - when(this.session.getFeedbackGroupId()).thenReturn("feedback"); - when(this.consultant.getRocketChatId()).thenReturn("rcId"); - GroupMemberDTO groupMemberDTO = new GroupMemberDTO(); - groupMemberDTO.set_id(this.consultant.getRocketChatId()); - when(this.rocketChatFacade.retrieveRocketChatMembers(any())) - .thenReturn(singletonList(groupMemberDTO)); - - this.removeService.removeFromFeedbackGroupOrRollbackOnFailure(); - - verify(this.rocketChatFacade, times(1)).removeUserFromGroup("rcId", "feedback"); - verify(this.rocketChatFacade, never()).removeUserFromGroup("rcId", "group"); - } - - @Test - public void - removeFromFeedbackGroupOrRollbackOnFailure_Should_throwInternalServerError_When_rollbackFails() { - when(this.session.getFeedbackGroupId()).thenReturn("feedback"); - when(this.session.getStatus()).thenReturn(SessionStatus.NEW); - when(this.consultant.getRocketChatId()).thenReturn("rcId"); - GroupMemberDTO groupMemberDTO = new GroupMemberDTO(); - groupMemberDTO.set_id(this.consultant.getRocketChatId()); - when(this.rocketChatFacade.retrieveRocketChatMembers(anyString())) - .thenReturn(singletonList(groupMemberDTO)); - doThrow(new RuntimeException("")) - .when(this.rocketChatFacade) - .removeUserFromGroup(anyString(), anyString()); - doThrow(new RuntimeException("")) - .when(this.rocketChatFacade) - .addUserToRocketChatGroup(anyString(), anyString()); - - try { - this.removeService.removeFromFeedbackGroupOrRollbackOnFailure(); - fail("No Exception thrown"); - } catch (InternalServerErrorException e) { - assertThat(e.getMessage(), containsString("ERROR: Failed to rollback")); - } - } - - @Test - public void - removeFromFeedbackGroupOrRollbackOnFailure_Should_throwInternalServerErrorAndPerformRollback_When_error() { - when(this.session.getFeedbackGroupId()).thenReturn("feedback"); - when(this.session.getStatus()).thenReturn(SessionStatus.NEW); - when(this.consultant.getRocketChatId()).thenReturn("rcId"); - GroupMemberDTO groupMemberDTO = new GroupMemberDTO(); - groupMemberDTO.set_id(this.consultant.getRocketChatId()); - when(this.rocketChatFacade.retrieveRocketChatMembers(any())) - .thenReturn(singletonList(groupMemberDTO)); - doThrow(new RuntimeException("")).when(this.rocketChatFacade).removeUserFromGroup(any(), any()); - - try { - this.removeService.removeFromFeedbackGroupOrRollbackOnFailure(); - fail("No Exception thrown"); - } catch (InternalServerErrorException e) { - verify(this.rocketChatFacade, times(1)).addUserToRocketChatGroup("rcId", "feedback"); - } - } } diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index d5439ad5a..26475048e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -689,7 +689,6 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful new EnquiryData(user, SESSION_ID, MESSAGE, null, rocketChatCredentials)); verify(spySession, times(1)).setGroupId(groupResponseDTO.getGroup().getId()); - verify(spySession, times(1)).setFeedbackGroupId(groupResponseDTO.getGroup().getId()); assertNotNull(spySession.getEnquiryMessageDate()); verify(spySession, times(1)).setStatus(SessionStatus.NEW); verify(sessionService, times(1)).saveSession(spySession); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java index a64d58dea..c0b732c99 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java @@ -338,20 +338,6 @@ void assignEnquiry_Should_LogError_When_RemoveSystemMessagesFromFeedbackChatFail U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY, IN_PROGRESS); } - @Test - void assignEnquiry_Should_AddPeerConsultantToFeedbackGroup_WhenSessionHasFeedbackIsTrue() { - assignEnquiryFacade.assignRegisteredEnquiry( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - verifyConsultantAndSessionHaveBeenChecked( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - verifyAsync( - (a) -> - verify(rocketChatFacade, times(1)) - .addUserToRocketChatGroup( - ROCKETCHAT_ID, U25_SESSION_WITHOUT_CONSULTANT.getFeedbackGroupId())); - } - @Test void assignEnquiry_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSession() { Session session = new EasyRandom().nextObject(Session.class); @@ -384,11 +370,6 @@ void assignEnquiry_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSes (a) -> verify(this.rocketChatFacade, times(1)) .removeUserFromGroup(consultantToRemove.getRocketChatId(), session.getGroupId())); - verifyAsync( - (a) -> - verify(this.rocketChatFacade, times(1)) - .removeUserFromGroup( - consultantToRemove.getRocketChatId(), session.getFeedbackGroupId())); } @Test @@ -425,21 +406,12 @@ void assignEnquiry_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { (a) -> verify(this.rocketChatFacade, atLeastOnce()) .removeUserFromGroup(consultantToRemove.getRocketChatId(), session.getGroupId())); - verifyAsync( - (a) -> - verify(this.rocketChatFacade, atLeastOnce()) - .removeUserFromGroup( - consultantToRemove.getRocketChatId(), session.getFeedbackGroupId())); verifyAsync( (a) -> verify(this.rocketChatFacade, never()) .removeUserFromGroup("teamConsultantRcId", session.getGroupId())); - verify(this.rocketChatFacade, never()) - .removeUserFromGroup("teamConsultantRcId", session.getFeedbackGroupId()); verify(this.rocketChatFacade, never()) .removeUserFromGroup("teamConsultantRcId2", session.getGroupId()); - verify(this.rocketChatFacade, never()) - .removeUserFromGroup("teamConsultantRcId2", session.getFeedbackGroupId()); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index afc02c6a0..ef3edc198 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -26,7 +26,6 @@ import static org.springframework.test.util.ReflectionTestUtils.getField; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatRollbackService; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; import de.caritas.cob.userservice.api.exception.CreateEnquiryException; @@ -41,15 +40,11 @@ import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.RegistrationType; import de.caritas.cob.userservice.api.model.Session.SessionStatus; -import de.caritas.cob.userservice.api.service.ConsultantAgencyService; -import de.caritas.cob.userservice.api.service.ConsultantService; import de.caritas.cob.userservice.api.service.LogService; -import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.service.statistics.StatisticsService; import de.caritas.cob.userservice.api.service.statistics.event.AssignSessionStatisticsEvent; import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import de.caritas.cob.userservice.statisticsservice.generated.web.model.UserRole; -import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.RandomStringUtils; @@ -62,20 +57,15 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class AssignSessionFacadeTest { +class AssignSessionFacadeTest { private static final EasyRandom easyRandom = new EasyRandom(); @InjectMocks AssignSessionFacade assignSessionFacade; @Mock RocketChatFacade rocketChatFacade; @Mock ConsultingTypeManager consultingTypeManager; - @Mock ConsultantService consultantService; - @Mock RocketChatRollbackService rocketChatRollbackService; - @Mock SessionService sessionService; - @Mock AssignEnquiryFacade assignEnquiryFacade; @Mock RocketChatService rocketChatService; @Mock CreateEnquiryMessageFacade createEnquiryMessageFacade; - @Mock ConsultantAgencyService consultantAgencyService; @Mock @SuppressWarnings("unused") @@ -90,7 +80,7 @@ public class AssignSessionFacadeTest { @Mock HttpServletRequest httpServletRequest; @Test - public void + void assignSession_Should_ReturnInternalServerErrorAndLogErrorAndDoARollback_WhenAddConsultantToRcGroupFails_WhenSessionIsNoEnquiry() { var exception = new InternalServerErrorException(RandomStringUtils.random(16)); doThrow(exception) @@ -117,7 +107,7 @@ public class AssignSessionFacadeTest { } @Test - public void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSession() { + void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSession() { Session session = easyRandom.nextObject(Session.class); session.setTeamSession(false); session.setStatus(SessionStatus.NEW); @@ -169,8 +159,7 @@ public void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotA } @Test - public void assignSession_Should_DeleteOldFeedbackChat_When_ItExists() - throws CreateEnquiryException { + void assignSession_Should_DeleteOldFeedbackChat_When_ItExists() throws CreateEnquiryException { Session session = easyRandom.nextObject(Session.class); session.setTeamSession(false); session.setStatus(SessionStatus.NEW); @@ -178,7 +167,6 @@ public void assignSession_Should_DeleteOldFeedbackChat_When_ItExists() session.getUser().setRcUserId("userRcId"); session.setRegistrationType(RegistrationType.REGISTERED); session.setAgencyId(1L); - session.setFeedbackGroupId("oldFeedbackGroupId"); ConsultantAgency consultantAgency = easyRandom.nextObject(ConsultantAgency.class); consultantAgency.setAgencyId(1L); Consultant consultant = easyRandom.nextObject(Consultant.class); @@ -202,42 +190,7 @@ public void assignSession_Should_DeleteOldFeedbackChat_When_ItExists() } @Test - public void assignSession_Should_CreateNewFeedbackChat_When_ConsultingTypeHasFeedback() - throws CreateEnquiryException { - Session session = easyRandom.nextObject(Session.class); - session.setTeamSession(false); - session.setStatus(SessionStatus.NEW); - session.setConsultant(null); - session.getUser().setRcUserId("userRcId"); - session.setRegistrationType(RegistrationType.REGISTERED); - session.setAgencyId(1L); - session.setFeedbackGroupId("oldFeedbackGroupId"); - ConsultantAgency consultantAgency = easyRandom.nextObject(ConsultantAgency.class); - consultantAgency.setAgencyId(1L); - Consultant consultant = easyRandom.nextObject(Consultant.class); - consultant.setConsultantAgencies(asSet(consultantAgency)); - consultant.setRocketChatId("newConsultantRcId"); - Consultant consultantToRemove = easyRandom.nextObject(Consultant.class); - consultantToRemove.setRocketChatId("otherRcId"); - when(this.authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = - new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - when(consultingTypeManager.getConsultingTypeSettings(anyInt())) - .thenReturn(extendedConsultingTypeResponseDTO); - when(createEnquiryMessageFacade.createRcFeedbackGroup( - eq(session), eq(session.getGroupId()), any())) - .thenReturn("newFeedbackGroupId"); - when(rocketChatFacade.retrieveRocketChatMembers(any())).thenReturn(new ArrayList<>()); - - this.assignSessionFacade.assignSession(session, consultant, CONSULTANT); - - assertThat(session.getFeedbackGroupId(), is("newFeedbackGroupId")); - verify(sessionService, times(2)).saveSession(session); - } - - @Test - public void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { + void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { Session session = easyRandom.nextObject(Session.class); session.setTeamSession(false); session.setStatus(SessionStatus.NEW); @@ -286,18 +239,10 @@ public void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession( a -> verify(this.rocketChatFacade, never()) .removeUserFromGroup("teamConsultantRcId", session.getGroupId())); - verifyAsync( - a -> - verify(this.rocketChatFacade, never()) - .removeUserFromGroup("teamConsultantRcId", session.getFeedbackGroupId())); verifyAsync( a -> verify(this.rocketChatFacade, never()) .removeUserFromGroup("teamConsultantRcId2", session.getGroupId())); - verifyAsync( - a -> - verify(this.rocketChatFacade, never()) - .removeUserFromGroup("teamConsultantRcId2", session.getFeedbackGroupId())); verifyAsync( a -> verify(this.emailNotificationFacade, times(1)) @@ -305,7 +250,7 @@ public void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession( } @Test - public void assignSession_Should_FireAssignSessionStatisticsEvent() { + void assignSession_Should_FireAssignSessionStatisticsEvent() { Session session = new EasyRandom().nextObject(Session.class); session.setTeamSession(false); session.setStatus(SessionStatus.NEW); @@ -351,7 +296,7 @@ public void assignSession_Should_FireAssignSessionStatisticsEvent() { } @Test - public void assignSession_Should_FireAssignSessionStatisticsEventWithoutOptionalArgs() { + void assignSession_Should_FireAssignSessionStatisticsEventWithoutOptionalArgs() { var session = easyRandom.nextObject(Session.class); session.setTeamSession(false); session.setStatus(SessionStatus.NEW); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java index c1732e34d..afd0d1c9e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java @@ -57,7 +57,6 @@ import de.caritas.cob.userservice.api.adapters.web.dto.UserDTO; import de.caritas.cob.userservice.api.adapters.web.dto.UserSessionResponseDTO; import de.caritas.cob.userservice.api.config.auth.UserRole; -import de.caritas.cob.userservice.api.exception.UpdateFeedbackGroupIdException; import de.caritas.cob.userservice.api.exception.httpresponses.ForbiddenException; import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; import de.caritas.cob.userservice.api.exception.httpresponses.NotFoundException; @@ -181,7 +180,6 @@ class SessionServiceTest { new ConsultantAgency(1L, CONSULTANT, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null); private final Set CONSULTANT_AGENCY_SET = new HashSet<>(); private final List SESSION_LIST_WITH_CONSULTANT = singletonList(SESSION_WITH_CONSULTANT); - private final String ERROR_MSG = "error"; private final UserDTO USER_DTO = new UserDTO( USERNAME, @@ -539,27 +537,6 @@ void getSessionByGroupIdAndUser_Should_ThrowForbiddenException_When_NotAskerOrCo && sessionDTO.getLastName() != null); } - @Test - void updateFeedbackGroupId_Should_ThrowUpdateFeedbackGroupIdException_WhenSaveSessionFails() { - - InternalServerErrorException ex = new InternalServerErrorException(ERROR_MSG) {}; - when(sessionService.saveSession(any())).thenThrow(ex); - - try { - sessionService.updateFeedbackGroupId(SESSION, RC_GROUP_ID); - fail("Expected exception: UpdateFeedbackGroupIdException"); - } catch (UpdateFeedbackGroupIdException updateFeedbackGroupIdException) { - // As expected - } - } - - @Test - void updateFeedbackGroupId_Should_SaveSession() throws UpdateFeedbackGroupIdException { - - sessionService.updateFeedbackGroupId(SESSION, RC_GROUP_ID); - verify(sessionRepository, times(1)).save(SESSION); - } - @Test void fetchSessionForConsultant_Should_ThrowNotFoundException_When_SessionIsNotFound() { diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index acee9a11a..f47c77554 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -907,7 +907,6 @@ public class TestConstants { .agencyId(AGENCY_ID) .enquiryMessageDate(nowInUtc()) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID_2) .postcode(POSTCODE) .status(IN_PROGRESS) .createDate(nowInUtc()) @@ -924,7 +923,6 @@ public class TestConstants { .agencyId(AGENCY_ID) .enquiryMessageDate(nowInUtc()) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID_2) .postcode(POSTCODE) .status(NEW) .createDate(nowInUtc()) @@ -959,7 +957,6 @@ public class TestConstants { .agencyId(AGENCY_ID) .enquiryMessageDate(nowInUtc()) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .postcode(POSTCODE) .status(NEW) .createDate(nowInUtc()) @@ -977,7 +974,6 @@ public class TestConstants { .agencyId(AGENCY_ID) .enquiryMessageDate(nowInUtc()) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .postcode(POSTCODE) .status(NEW) .createDate(nowInUtc()) @@ -995,7 +991,6 @@ public class TestConstants { .agencyId(AGENCY_ID) .enquiryMessageDate(nowInUtc()) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .postcode(POSTCODE) .status(NEW) .createDate(nowInUtc()) @@ -1013,7 +1008,6 @@ public class TestConstants { .agencyId(AGENCY_ID) .enquiryMessageDate(nowInUtc()) .groupId(RC_GROUP_ID) - .feedbackGroupId(RC_FEEDBACK_GROUP_ID) .postcode(POSTCODE) .status(NEW) .createDate(nowInUtc()) @@ -1047,18 +1041,6 @@ public class TestConstants { null, false, null); - - public static final SessionDTO SESSION_DTO_SUCHT = - new SessionDTO() - .id(SESSION_ID) - .agencyId(AGENCY_ID) - .consultingType(CONSULTING_TYPE_ID_SUCHT) - .status(SESSION_STATUS_IN_PROGRESS) - .postcode(POSTCODE) - .groupId(RC_GROUP_ID) - .askerRcId(RC_USER_ID) - .messageDate(MESSAGE_DATE) - .isTeamSession(IS_TEAM_SESSION); public static final SessionDTO SESSION_DTO_U25 = new SessionDTO() .id(SESSION_ID) diff --git a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java index 6d1a6b570..290e7d689 100644 --- a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java @@ -39,7 +39,7 @@ import org.slf4j.Logger; @ExtendWith(MockitoExtension.class) -public class DeleteAskerRoomsAndSessionsActionTest { +class DeleteAskerRoomsAndSessionsActionTest { @InjectMocks private DeleteAskerRoomsAndSessionsAction deleteAskerRoomsAndSessionsAction; @@ -52,12 +52,12 @@ public class DeleteAskerRoomsAndSessionsActionTest { @Mock private Logger logger; @BeforeEach - public void setup() { + void setup() { setInternalState(DeleteAskerRoomsAndSessionsAction.class, "log", logger); } @Test - public void execute_Should_returnEmptyListAndPerformNoDeletions_When_userHasNoSession() { + void execute_Should_returnEmptyListAndPerformNoDeletions_When_userHasNoSession() { AskerDeletionWorkflowDTO workflowDTO = new AskerDeletionWorkflowDTO(new User(), emptyList()); this.deleteAskerRoomsAndSessionsAction.execute(workflowDTO); @@ -68,9 +68,8 @@ public void execute_Should_returnEmptyListAndPerformNoDeletions_When_userHasNoSe } @Test - public void - execute_Should_returnEmptyListAndPerformAllDeletions_When_userSessionIsDeletedSuccessful() - throws Exception { + void execute_Should_returnEmptyListAndPerformAllDeletions_When_userSessionIsDeletedSuccessful() + throws Exception { Session session = new EasyRandom().nextObject(Session.class); when(this.sessionRepository.findByUser(any())).thenReturn(singletonList(session)); AskerDeletionWorkflowDTO workflowDTO = new AskerDeletionWorkflowDTO(new User(), emptyList()); @@ -87,9 +86,8 @@ public void execute_Should_returnEmptyListAndPerformNoDeletions_When_userHasNoSe } @Test - public void - execute_Should_returnExpectedWorkflowErrors_When_noUserSessionDeletedStepIsSuccessful() - throws Exception { + void execute_Should_returnExpectedWorkflowErrors_When_noUserSessionDeletedStepIsSuccessful() + throws Exception { Session session = new EasyRandom().nextObject(Session.class); when(this.sessionRepository.findByUser(any())).thenReturn(singletonList(session)); doThrow(new RocketChatDeleteGroupException(new RuntimeException())) @@ -108,7 +106,7 @@ public void execute_Should_returnEmptyListAndPerformNoDeletions_When_userHasNoSe } @Test - public void execute_Should_returnExpectedAmountOfWorkflowErrors_When_manySessionDeletionsFailed() + void execute_Should_returnExpectedAmountOfWorkflowErrors_When_manySessionDeletionsFailed() throws Exception { List sessions = new EasyRandom().objects(Session.class, 3).collect(Collectors.toList()); @@ -129,8 +127,7 @@ public void execute_Should_returnExpectedAmountOfWorkflowErrors_When_manySession } @Test - public void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionFails() - throws Exception { + void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionFails() throws Exception { Session session = new EasyRandom().nextObject(Session.class); when(this.sessionRepository.findByUser(any())).thenReturn(singletonList(session)); doThrow(new RocketChatDeleteGroupException(new RuntimeException())) @@ -151,13 +148,12 @@ public void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionF assertThat(workflowErrors.get(0).getTimestamp(), notNullValue()); assertThat(workflowErrors.get(1).getDeletionSourceType(), is(ASKER)); assertThat(workflowErrors.get(1).getDeletionTargetType(), is(ROCKET_CHAT)); - assertThat(workflowErrors.get(1).getIdentifier(), is(session.getFeedbackGroupId())); assertThat(workflowErrors.get(1).getReason(), is("Deletion of Rocket.Chat group failed")); assertThat(workflowErrors.get(1).getTimestamp(), notNullValue()); } @Test - public void execute_Should_returnExpectedWorkflowError_When_sessionDataDeletionFails() { + void execute_Should_returnExpectedWorkflowError_When_sessionDataDeletionFails() { Session session = new EasyRandom().nextObject(Session.class); when(this.sessionRepository.findByUser(any())).thenReturn(singletonList(session)); doThrow(new RuntimeException()).when(this.sessionDataRepository).deleteAll(any()); @@ -177,7 +173,7 @@ public void execute_Should_returnExpectedWorkflowError_When_sessionDataDeletionF } @Test - public void execute_Should_returnExpectedWorkflowError_When_sessionDeletionFails() { + void execute_Should_returnExpectedWorkflowError_When_sessionDeletionFails() { Session session = new EasyRandom().nextObject(Session.class); when(this.sessionRepository.findByUser(any())).thenReturn(singletonList(session)); doThrow(new RuntimeException()).when(this.sessionRepository).delete(any()); diff --git a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java index 2a5199e88..2a5f55c91 100644 --- a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java @@ -35,7 +35,7 @@ import org.slf4j.Logger; @ExtendWith(MockitoExtension.class) -public class DeleteSingleRoomAndSessionActionTest { +class DeleteSingleRoomAndSessionActionTest { @InjectMocks private DeleteSingleRoomAndSessionAction deleteSingleRoomAndSessionAction; @@ -48,14 +48,13 @@ public class DeleteSingleRoomAndSessionActionTest { @Mock private Logger logger; @BeforeEach - public void setup() { + void setup() { setInternalState(DeleteSingleRoomAndSessionAction.class, "log", logger); } @Test - public void - execute_Should_returnEmptyListAndPerformAllDeletions_When_userSessionIsDeletedSuccessful() - throws Exception { + void execute_Should_returnEmptyListAndPerformAllDeletions_When_userSessionIsDeletedSuccessful() + throws Exception { Session session = new EasyRandom().nextObject(Session.class); SessionDeletionWorkflowDTO workflowDTO = new SessionDeletionWorkflowDTO(session, emptyList()); @@ -71,9 +70,8 @@ public void setup() { } @Test - public void - execute_Should_returnExpectedWorkflowErrors_When_noUserSessionDeletedStepIsSuccessful() - throws Exception { + void execute_Should_returnExpectedWorkflowErrors_When_noUserSessionDeletedStepIsSuccessful() + throws Exception { Session session = new EasyRandom().nextObject(Session.class); doThrow(new RocketChatDeleteGroupException(new RuntimeException())) .when(this.rocketChatService) @@ -91,8 +89,7 @@ public void setup() { } @Test - public void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionFails() - throws Exception { + void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionFails() throws Exception { Session session = new EasyRandom().nextObject(Session.class); doThrow(new RocketChatDeleteGroupException(new RuntimeException())) .when(this.rocketChatService) @@ -112,13 +109,12 @@ public void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionF assertThat(workflowErrors.get(0).getTimestamp(), notNullValue()); assertThat(workflowErrors.get(1).getDeletionSourceType(), is(ASKER)); assertThat(workflowErrors.get(1).getDeletionTargetType(), is(ROCKET_CHAT)); - assertThat(workflowErrors.get(1).getIdentifier(), is(session.getFeedbackGroupId())); assertThat(workflowErrors.get(1).getReason(), is("Deletion of Rocket.Chat group failed")); assertThat(workflowErrors.get(1).getTimestamp(), notNullValue()); } @Test - public void execute_Should_returnExpectedWorkflowError_When_sessionDataDeletionFails() { + void execute_Should_returnExpectedWorkflowError_When_sessionDataDeletionFails() { Session session = new EasyRandom().nextObject(Session.class); doThrow(new RuntimeException()).when(this.sessionDataRepository).deleteAll(any()); SessionDeletionWorkflowDTO workflowDTO = @@ -137,7 +133,7 @@ public void execute_Should_returnExpectedWorkflowError_When_sessionDataDeletionF } @Test - public void execute_Should_returnExpectedWorkflowError_When_sessionDeletionFails() { + void execute_Should_returnExpectedWorkflowError_When_sessionDeletionFails() { Session session = new EasyRandom().nextObject(Session.class); doThrow(new RuntimeException()).when(this.sessionRepository).delete(any()); SessionDeletionWorkflowDTO workflowDTO = From d296e97af4524069be97bdf7be8b99a4492b0a36 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 31 Jul 2024 10:51:44 +0200 Subject: [PATCH 16/64] CARITAS-243 - Remove FEEDBACK_GROUP_SUFFIX from RocketChatRoomNameGenerator and remove rcFeedbackGroupId from CreateEnquiryExceptionInformation --- .../CreateEnquiryExceptionInformation.java | 1 - .../facade/CreateEnquiryMessageFacade.java | 108 +----------------- .../helper/RocketChatRoomNameGenerator.java | 12 -- .../api/service/AskerImportService.java | 37 ------ .../CreateEnquiryMessageFacadeTest.java | 2 - .../AssignSessionFacadeTest.java | 37 ------ .../RocketChatRoomNameGeneratorTest.java | 18 +-- .../api/testHelper/ExceptionConstants.java | 7 -- 8 files changed, 7 insertions(+), 215 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/container/CreateEnquiryExceptionInformation.java b/src/main/java/de/caritas/cob/userservice/api/container/CreateEnquiryExceptionInformation.java index a8d06dcc3..f815c85c2 100644 --- a/src/main/java/de/caritas/cob/userservice/api/container/CreateEnquiryExceptionInformation.java +++ b/src/main/java/de/caritas/cob/userservice/api/container/CreateEnquiryExceptionInformation.java @@ -12,5 +12,4 @@ public class CreateEnquiryExceptionInformation { private Session session; private String rcGroupId; - private String rcFeedbackGroupId; } diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java index ce567080a..589484018 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacade.java @@ -3,7 +3,6 @@ import static de.caritas.cob.userservice.api.helper.CustomLocalDateTime.nowInUtc; import static de.caritas.cob.userservice.api.model.Session.RegistrationType.ANONYMOUS; import static java.util.Objects.nonNull; -import static org.apache.commons.lang3.BooleanUtils.isFalse; import com.neovisionaries.i18n.LanguageCode; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentials; @@ -36,10 +35,8 @@ import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.service.user.UserService; import de.caritas.cob.userservice.api.tenant.TenantContext; -import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import de.caritas.cob.userservice.messageservice.generated.web.model.MessageResponseDTO; import java.util.List; -import java.util.Objects; import java.util.Optional; import lombok.NonNull; import lombok.RequiredArgsConstructor; @@ -92,16 +89,9 @@ public CreateEnquiryMessageResponseDTO createEnquiryMessage(EnquiryData enquiryD String rcGroupId = createRocketChatRoomAndAddUsers( session, agencyList, enquiryData.getRocketChatCredentials()); - String rcFeedbackGroupId = - retrieveRcFeedbackGroupIdIfConsultingTypeHasFeedbackChat( - session, rcGroupId, agencyList, extendedConsultingTypeResponseDTO); var createEnquiryExceptionInformation = - CreateEnquiryExceptionInformation.builder() - .session(session) - .rcGroupId(rcGroupId) - .rcFeedbackGroupId(rcFeedbackGroupId) - .build(); + CreateEnquiryExceptionInformation.builder().session(session).rcGroupId(rcGroupId).build(); saveRocketChatIdForUser( enquiryData.getUser(), @@ -134,11 +124,7 @@ public CreateEnquiryMessageResponseDTO createEnquiryMessage(EnquiryData enquiryD rcGroupId, extendedConsultingTypeResponseDTO, createEnquiryExceptionInformation); updateSession( - session, - enquiryData.getLanguage(), - rcGroupId, - rcFeedbackGroupId, - createEnquiryExceptionInformation); + session, enquiryData.getLanguage(), rcGroupId, createEnquiryExceptionInformation); if (session.getIsConsultantDirectlySet()) { emailNotificationFacade.sendNewDirectEnquiryEmailNotification( @@ -299,78 +285,6 @@ private void addConsultantsToGroup(String rcGroupId, List agen } } - private String retrieveRcFeedbackGroupIdIfConsultingTypeHasFeedbackChat( - Session session, - String rcGroupId, - List agencyList, - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO) - throws CreateEnquiryException { - - if (isFalse(extendedConsultingTypeResponseDTO.getInitializeFeedbackChat())) { - return null; - } - - return createRcFeedbackGroup(session, rcGroupId, agencyList); - } - - public String createRcFeedbackGroup( - Session session, String rcGroupId, List agencyList) - throws CreateEnquiryException { - - String rcFeedbackGroupId = null; - var createEnquiryExceptionInformation = - CreateEnquiryExceptionInformation.builder().session(session).rcGroupId(rcGroupId).build(); - - try { - - rcFeedbackGroupId = - createFeedbackGroupAsSystemUser(session, createEnquiryExceptionInformation); - addSystemUserToGroup(rcFeedbackGroupId); - addConsultantsToFeedbackChatGroup(agencyList, rcFeedbackGroupId); - rocketChatService.removeSystemMessages( - rcFeedbackGroupId, nowInUtc().minusHours(Helper.ONE_DAY_IN_HOURS), nowInUtc()); - - } catch (RocketChatAddSystemUserException - | RocketChatCreateGroupException - | RocketChatAddUserToGroupException - | RocketChatRemoveSystemMessagesException - | RocketChatUserNotInitializedException exception) { - createEnquiryExceptionInformation.setRcFeedbackGroupId(rcFeedbackGroupId); - throw new CreateEnquiryException( - String.format("Could not initialize feedback chat for session %s", session.getId()), - exception, - createEnquiryExceptionInformation); - } - - return rcFeedbackGroupId; - } - - private String createFeedbackGroupAsSystemUser( - Session session, CreateEnquiryExceptionInformation createEnquiryExceptionInformation) - throws RocketChatCreateGroupException, CreateEnquiryException { - - Optional rcFeedbackGroupDTO = - rocketChatService.createPrivateGroupWithSystemUser( - rocketChatRoomNameGenerator.generateFeedbackGroupName(session)); - - if (rcFeedbackGroupDTO.isEmpty() - || Objects.isNull(rcFeedbackGroupDTO.get().getGroup().getId())) { - throw new CreateEnquiryException( - String.format("Could not create rc feedback group for session %s", session.getId()), - createEnquiryExceptionInformation); - } - return rcFeedbackGroupDTO.get().getGroup().getId(); - } - - private void addConsultantsToFeedbackChatGroup( - List agencyList, String rcFeedbackGroupId) - throws RocketChatAddUserToGroupException { - - for (ConsultantAgency agency : agencyList) { - rocketChatService.addUserToGroup(agency.getConsultant().getRocketChatId(), rcFeedbackGroupId); - } - } - private void saveRocketChatIdForUser( User user, RocketChatCredentials rocketChatCredentials, @@ -391,7 +305,6 @@ private void updateSession( Session session, String language, String rcGroupId, - String rcFeedbackGroupId, CreateEnquiryExceptionInformation createEnquiryExceptionInformation) throws CreateEnquiryException { @@ -406,9 +319,7 @@ private void updateSession( sessionService.saveSession(session); } catch (InternalServerErrorException exception) { throw new CreateEnquiryException( - String.format( - "Could not update session %s with groupId %s and feedbackGroupId %s", - session.getId(), rcGroupId, rcFeedbackGroupId), + String.format("Could not update session %s with groupId %s", session.getId(), rcGroupId), exception, createEnquiryExceptionInformation); } @@ -425,7 +336,6 @@ private void doRollback( RocketChatCredentials rocketChatCredentials) { if (nonNull(createEnquiryExceptionInformation)) { rollbackCreateGroup(createEnquiryExceptionInformation.getRcGroupId(), rocketChatCredentials); - rollbackCreateGroupAsSystemUser(createEnquiryExceptionInformation.getRcFeedbackGroupId()); } } @@ -439,16 +349,4 @@ && nonNull(rocketChatCredentials) rcGroupId); } } - - private void rollbackCreateGroupAsSystemUser(String rcGroupId) { - if (Objects.isNull(rcGroupId)) { - return; - } - if (!rocketChatService.deleteGroupAsSystemUser(rcGroupId)) { - log.error( - "Internal Server Error: Error during rollback of feedback group while saving " - + "enquiry message. Group with id {} could not be deleted.", - rcGroupId); - } - } } diff --git a/src/main/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGenerator.java b/src/main/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGenerator.java index e0111936b..9ff73c172 100644 --- a/src/main/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGenerator.java +++ b/src/main/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGenerator.java @@ -7,7 +7,6 @@ public class RocketChatRoomNameGenerator { - private static final String FEEDBACK_GROUP_SUFFIX = "feedback"; private static final String GROUP_CHAT_SUFFIX = "group_chat"; /** @@ -21,17 +20,6 @@ public String generateGroupName(Session session) { return generateName(session.getId(), null); } - /** - * Generates a unique name for the private Rocket.Chat group consisting of the session id, the - * feedback identifier and the current time stamp. - * - * @param session the session - * @return the group name - */ - public String generateFeedbackGroupName(Session session) { - return generateName(session.getId(), FEEDBACK_GROUP_SUFFIX); - } - /** * Generates a unique name for the private Rocket.Chat group consisting of the chat id and the * current time stamp. diff --git a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java index 00d9dfe4d..bcf3bba3b 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java @@ -433,43 +433,6 @@ public void startImport() { List agencyList = consultantAgencyService.findConsultantsByAgencyId(record.getAgencyId()); - // Create feedback group and add consultants if enabled for this agency/consulting type - if (extendedConsultingTypeResponseDTO.getInitializeFeedbackChat().booleanValue()) { - String rcFeedbackGroupId = - rocketChatService - .createPrivateGroupWithSystemUser( - rocketChatRoomNameGenerator.generateFeedbackGroupName(session)) - .get() - .getGroup() - .getId(); - if (rcFeedbackGroupId == null || rcFeedbackGroupId.equals(StringUtils.EMPTY)) { - throw new ImportException( - String.format( - "Could not create Rocket.Chat feedback group for user %s", - record.getUsername())); - } - - // Add the assigned consultant and all consultants of the session's agency to the feedback - // group that have the right to view all feedback sessions - for (ConsultantAgency agency : agencyList) { - if (agency.getConsultant().getId().equals(record.getConsultantId())) { - rocketChatService.addUserToGroup( - agency.getConsultant().getRocketChatId(), rcFeedbackGroupId); - } - } - - // Remove all system messages from feedback group - try { - rocketChatService.removeSystemMessages( - rcFeedbackGroupId, nowInUtc().minusHours(Helper.ONE_DAY_IN_HOURS), nowInUtc()); - } catch (RocketChatRemoveSystemMessagesException e) { - throw new ImportException( - String.format( - "Could not remove system messages from feedback group id %s for user %s", - rcFeedbackGroupId, record.getUsername())); - } - } - // Update session data by Rocket.Chat group id and consultant id session.setConsultant(consultant.get()); session.setGroupId(rcGroupId); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index 26475048e..08fb422b9 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -1045,7 +1045,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_UpdateOfSession CreateEnquiryExceptionInformation createEnquiryExceptionInformation = CreateEnquiryExceptionInformation.builder() .rcGroupId(GROUP_RESPONSE_DTO.getGroup().getId()) - .rcFeedbackGroupId(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()) .session(SESSION_WITHOUT_CONSULTANT) .build(); RocketChatPostWelcomeMessageException rocketChatPostWelcomeMessageException = @@ -1089,7 +1088,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_PostMessageFail CreateEnquiryExceptionInformation createEnquiryExceptionInformation = CreateEnquiryExceptionInformation.builder() .rcGroupId(GROUP_RESPONSE_DTO.getGroup().getId()) - .rcFeedbackGroupId(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()) .session(SESSION_WITHOUT_CONSULTANT) .build(); RocketChatPostMessageException rocketChatPostMessageException = diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index ef3edc198..8f502df6b 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -16,7 +16,6 @@ import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.never; @@ -28,7 +27,6 @@ import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; -import de.caritas.cob.userservice.api.exception.CreateEnquiryException; import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; import de.caritas.cob.userservice.api.facade.CreateEnquiryMessageFacade; import de.caritas.cob.userservice.api.facade.EmailNotificationFacade; @@ -64,14 +62,10 @@ class AssignSessionFacadeTest { @InjectMocks AssignSessionFacade assignSessionFacade; @Mock RocketChatFacade rocketChatFacade; @Mock ConsultingTypeManager consultingTypeManager; - @Mock RocketChatService rocketChatService; - @Mock CreateEnquiryMessageFacade createEnquiryMessageFacade; @Mock @SuppressWarnings("unused") KeycloakService keycloakService; - - @Mock LogService logService; @Mock EmailNotificationFacade emailNotificationFacade; @Mock AuthenticatedUser authenticatedUser; @Mock SessionToConsultantVerifier sessionToConsultantVerifier; @@ -158,37 +152,6 @@ void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSes .sendAssignEnquiryEmailNotification(any(), any(), any(), any()); } - @Test - void assignSession_Should_DeleteOldFeedbackChat_When_ItExists() throws CreateEnquiryException { - Session session = easyRandom.nextObject(Session.class); - session.setTeamSession(false); - session.setStatus(SessionStatus.NEW); - session.setConsultant(null); - session.getUser().setRcUserId("userRcId"); - session.setRegistrationType(RegistrationType.REGISTERED); - session.setAgencyId(1L); - ConsultantAgency consultantAgency = easyRandom.nextObject(ConsultantAgency.class); - consultantAgency.setAgencyId(1L); - Consultant consultant = easyRandom.nextObject(Consultant.class); - consultant.setConsultantAgencies(asSet(consultantAgency)); - consultant.setRocketChatId("newConsultantRcId"); - Consultant consultantToRemove = easyRandom.nextObject(Consultant.class); - consultantToRemove.setRocketChatId("otherRcId"); - when(this.authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = - new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - when(consultingTypeManager.getConsultingTypeSettings(anyInt())) - .thenReturn(extendedConsultingTypeResponseDTO); - when(createEnquiryMessageFacade.createRcFeedbackGroup( - eq(session), eq(session.getGroupId()), any())) - .thenReturn("newFeedbackGroupId"); - - this.assignSessionFacade.assignSession(session, consultant, CONSULTANT); - - verify(rocketChatService, times(1)).deleteGroupAsSystemUser("oldFeedbackGroupId"); - } - @Test void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { Session session = easyRandom.nextObject(Session.class); diff --git a/src/test/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGeneratorTest.java b/src/test/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGeneratorTest.java index eaac86de7..3f4aef554 100644 --- a/src/test/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGeneratorTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/helper/RocketChatRoomNameGeneratorTest.java @@ -12,17 +12,17 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class RocketChatRoomNameGeneratorTest { +class RocketChatRoomNameGeneratorTest { private RocketChatRoomNameGenerator rocketChatRoomNameGenerator; @BeforeEach - public void setup() { + void setup() { this.rocketChatRoomNameGenerator = new RocketChatRoomNameGenerator(); } @Test - public void generateGroupName_Should_ReturnGroupNameContainingSessionIdAndTimestamp() { + void generateGroupName_Should_ReturnGroupNameContainingSessionIdAndTimestamp() { String groupName = rocketChatRoomNameGenerator.generateGroupName(SESSION); @@ -31,17 +31,7 @@ public void generateGroupName_Should_ReturnGroupNameContainingSessionIdAndTimest } @Test - public void - generateFeedbackGroupName_Should_ReturnGroupNameContainingSessionIdAndTimestampAndFeedbackIdentifier() { - - String groupName = rocketChatRoomNameGenerator.generateFeedbackGroupName(SESSION); - - assertThat(groupName, startsWith(String.valueOf(SESSION.getId()))); - assertTrue(groupName.matches("^[0-9]+_feedback_[0-9]+")); - } - - @Test - public void + void generateGroupChatName_Should_ReturnGroupNameContainingSessionIdAndTimestampAndGroupChatIdentifier() { String groupName = rocketChatRoomNameGenerator.generateGroupChatName(ACTIVE_CHAT); diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java index b3b9cd96c..fb1b6895a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java @@ -20,16 +20,9 @@ public class ExceptionConstants { public static final CreateEnquiryExceptionInformation CREATE_ENQUIRY_EXCEPTION_PARAMETER = CreateEnquiryExceptionInformation.builder() .rcGroupId(TestConstants.RC_GROUP_ID) - .rcFeedbackGroupId(TestConstants.RC_FEEDBACK_GROUP_ID) .session(TestConstants.SESSION) .build(); - /* - * Rocket.Chat exceptions - * - */ - public static final RocketChatCreateGroupException RC_CREATE_GROUP_EXCEPTION = - new RocketChatCreateGroupException(new Exception()); public static final RocketChatPostMessageException RC_POST_MESSAGE_EXCEPTION = new RocketChatPostMessageException(TestConstants.MESSAGE, CREATE_ENQUIRY_EXCEPTION_PARAMETER); public static final RocketChatRemoveSystemMessagesException From d0c538303dfde63bf6a765c35967aa4fa276529a Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 31 Jul 2024 12:42:02 +0200 Subject: [PATCH 17/64] CARITAS-243 - Remove RC_FEEDBACK_GROUP_ID --- .../0002_changeSet.xml | 12 +- .../feedbackChatColumn-rollback.sql | 2 - .../feedbackChatColumn.sql | 2 - ...cketChatRoomReadOnlyActionCommandTest.java | 1 - .../CreateEnquiryMessageFacadeTest.java | 151 +-------- .../AssignEnquiryFacadeTest.java | 166 --------- .../AssignSessionFacadeTest.java | 36 +- .../UnauthorizedMembersProviderTest.java | 67 +--- ...RocketChatRoomInformationProviderTest.java | 25 +- .../api/testHelper/ExceptionConstants.java | 4 - .../api/testHelper/TestConstants.java | 204 ----------- .../database/UserServiceDatabase.sql | 320 +++++++++--------- 12 files changed, 176 insertions(+), 814 deletions(-) delete mode 100644 src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql delete mode 100644 src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml index 9b8945112..018e0add9 100644 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml @@ -11,14 +11,4 @@ stripComments="true"/> - - - - - - - \ No newline at end of file + diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql deleted file mode 100644 index e0cd2c1ae..000000000 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `userservice`.`session` -DROP `rc_feedback_group_id`; \ No newline at end of file diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql deleted file mode 100644 index 4ef75659f..000000000 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `userservice`.`session` -ADD `rc_feedback_group_id` varchar(255) COLLATE 'utf8_unicode_ci' NULL AFTER `rc_group_id`; \ No newline at end of file diff --git a/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java b/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java index c5af06550..5c1acad6c 100644 --- a/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java @@ -56,7 +56,6 @@ void execute_Should_useRocketChatServiceTwice_When_sessionHasGroupId() throws Ex this.actionCommand.execute(session); verify(this.rocketChatService, times(1)).setRoomReadOnly("group id"); - verify(this.rocketChatService, times(1)).setRoomReadOnly("feedback group id"); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index 08fb422b9..8bee7a090 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -4,7 +4,6 @@ import static de.caritas.cob.userservice.api.model.Session.RegistrationType.ANONYMOUS; import static de.caritas.cob.userservice.api.model.Session.RegistrationType.REGISTERED; import static de.caritas.cob.userservice.api.testHelper.ExceptionConstants.INTERNAL_SERVER_ERROR_EXCEPTION; -import static de.caritas.cob.userservice.api.testHelper.ExceptionConstants.RC_ADD_USER_TO_GROUP_EXCEPTION; import static de.caritas.cob.userservice.api.testHelper.ExceptionConstants.RC_CHAT_REMOVE_SYSTEM_MESSAGES_EXCEPTION; import static de.caritas.cob.userservice.api.testHelper.ExceptionConstants.RC_POST_MESSAGE_EXCEPTION; import static de.caritas.cob.userservice.api.testHelper.TestConstants.AGENCY_ID; @@ -17,7 +16,6 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.IS_LANGUAGE_FORMAL; import static de.caritas.cob.userservice.api.testHelper.TestConstants.MESSAGE; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_CREDENTIALS; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_USERNAME; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_USER_ID; @@ -111,21 +109,6 @@ class CreateEnquiryMessageFacadeTest { RC_GROUP_ID, USERNAME, null, null, 0, 0, ROCKET_CHAT_USER_DTO, null, true, false, null); private final GroupResponseDTO GROUP_RESPONSE_DTO = new GroupResponseDTO(GROUP_DTO, true, null, null); - private final GroupDTO FEEDBACK_GROUP_DTO_2 = - new GroupDTO( - RC_FEEDBACK_GROUP_ID, - USERNAME, - null, - null, - 0, - 0, - ROCKET_CHAT_USER_DTO, - null, - true, - false, - null); - private final GroupResponseDTO FEEDBACK_GROUP_RESPONSE_DTO_2 = - new GroupResponseDTO(FEEDBACK_GROUP_DTO_2, true, null, null); private final Session SESSION_WITHOUT_ENQUIRY_MESSAGE = Session.builder() .id(1L) @@ -886,114 +869,7 @@ void createEnquiryMessage_Should_DeleteRcGroup_WhenRemoveSystemMessagesFails() } @Test - void - createEnquiryMessage_Should_DeleteRcGroupAndFeedbackGroup_WhenAddSystemUserToFeedbackGroupFails() { - - when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); - when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); - when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); - when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) - .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); - - try { - createEnquiryMessageFacade.createEnquiryMessage( - new EnquiryData(USER, SESSION_ID, MESSAGE, null, RC_CREDENTIALS)); - } catch (Exception e) { - assertThat(e, instanceOf(InternalServerErrorException.class)); - } - - verify(rocketChatService, atMost(1)) - .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, atMost(1)) - .rollbackGroup(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId(), RC_CREDENTIALS); - resetRequestAttributes(); - } - - @Test - void - createEnquiryMessage_Should_DeleteRcGroupAndFeedbackGroup_When_WhenRemoveSystemMessagesFailsForFeedbackGroup() - throws Exception { - - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); - when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); - when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); - when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) - .thenReturn(Optional.of(GROUP_RESPONSE_DTO)); - when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) - .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); - when(consultantAgencyService.findConsultantsByAgencyId(AGENCY_ID)) - .thenReturn(CONSULTANT_AGENCY_LIST); - when(rocketChatService.createPrivateGroupWithSystemUser(Mockito.any())) - .thenReturn(Optional.of(FEEDBACK_GROUP_RESPONSE_DTO_2)); - doThrow(RC_CHAT_REMOVE_SYSTEM_MESSAGES_EXCEPTION) - .when(rocketChatService) - .removeSystemMessages( - Mockito.eq(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()), - Mockito.any(), - Mockito.any()); - - try { - createEnquiryMessageFacade.createEnquiryMessage( - new EnquiryData(USER, SESSION_ID, MESSAGE, null, RC_CREDENTIALS)); - } catch (Exception e) { - assertThat(e, instanceOf(InternalServerErrorException.class)); - } - - verify(rocketChatService, atMost(1)) - .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, atMost(1)) - .rollbackGroup(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId(), RC_CREDENTIALS); - resetRequestAttributes(); - } - - @Test - void - createEnquiryMessage_Should_DeleteRcGroupAndFeedbackGroup_When_AddConsultantToRocketChatFeedbackGroupFails() - throws RocketChatCreateGroupException, RocketChatAddUserToGroupException { - - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); - when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); - when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); - when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) - .thenReturn(Optional.of(GROUP_RESPONSE_DTO)); - when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) - .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); - when(consultantAgencyService.findConsultantsByAgencyId(AGENCY_ID)) - .thenReturn(CONSULTANT_AGENCY_LIST); - when(rocketChatService.createPrivateGroupWithSystemUser(Mockito.any())) - .thenReturn(Optional.of(FEEDBACK_GROUP_RESPONSE_DTO_2)); - Mockito.doThrow(RC_ADD_USER_TO_GROUP_EXCEPTION) - .when(rocketChatService) - .addUserToGroup( - CONSULTANT_AGENCY_LIST.get(0).getConsultant().getRocketChatId(), - FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()); - - try { - createEnquiryMessageFacade.createEnquiryMessage( - new EnquiryData(USER, SESSION_ID, MESSAGE, null, RC_CREDENTIALS)); - } catch (Exception e) { - assertThat(e, instanceOf(InternalServerErrorException.class)); - } - - verify(rocketChatService, times(1)) - .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, times(1)) - .deleteGroupAsSystemUser(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()); - resetRequestAttributes(); - } - - @Test - void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_UpdateOfSessionFails() - throws Exception { + void createEnquiryMessage_Should_DeleteRcGroup_When_UpdateOfSessionFails() throws Exception { Session spySession = Mockito.spy(SESSION_WITHOUT_CONSULTANT); @@ -1007,8 +883,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_UpdateOfSession .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) .thenReturn(Optional.of(GROUP_RESPONSE_DTO)); - when(rocketChatService.createPrivateGroupWithSystemUser(Mockito.any())) - .thenReturn(Optional.of(FEEDBACK_GROUP_RESPONSE_DTO_2)); when(sessionService.saveSession(spySession)).thenThrow(INTERNAL_SERVER_ERROR_EXCEPTION); try { @@ -1020,15 +894,12 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_UpdateOfSession verify(rocketChatService, times(1)) .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, times(1)) - .deleteGroupAsSystemUser(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()); resetRequestAttributes(); } @Test - void - createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_PostWelcomeMessageFailsWithAnException() - throws Exception { + void createEnquiryMessage_Should_DeleteRcGroup_When_PostWelcomeMessageFailsWithAnException() + throws Exception { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); when(consultingTypeManager.getConsultingTypeSettings( @@ -1038,8 +909,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_UpdateOfSession when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) .thenReturn(Optional.of(GROUP_RESPONSE_DTO)); - when(rocketChatService.createPrivateGroupWithSystemUser(Mockito.any())) - .thenReturn(Optional.of(FEEDBACK_GROUP_RESPONSE_DTO_2)); when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); CreateEnquiryExceptionInformation createEnquiryExceptionInformation = @@ -1064,13 +933,11 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_UpdateOfSession verify(rocketChatService, times(1)) .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, times(1)) - .deleteGroupAsSystemUser(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()); resetRequestAttributes(); } @Test - void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_PostMessageFailsWithAnException() + void createEnquiryMessage_Should_DeleteRcGroup_When_PostMessageFailsWithAnException() throws Exception { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); @@ -1081,8 +948,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_PostMessageFail when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) .thenReturn(Optional.of(GROUP_RESPONSE_DTO)); - when(rocketChatService.createPrivateGroupWithSystemUser(Mockito.any())) - .thenReturn(Optional.of(FEEDBACK_GROUP_RESPONSE_DTO_2)); when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); CreateEnquiryExceptionInformation createEnquiryExceptionInformation = @@ -1106,13 +971,11 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedbackGroup_When_PostMessageFail verify(rocketChatService, times(1)) .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, times(1)) - .deleteGroupAsSystemUser(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()); resetRequestAttributes(); } @Test - void createEnquiryMessage_Should_DeleteRcGroupFeedback_When_UpdateOfUserFailsWithAnException() + void createEnquiryMessage_Should_DeleteRcGroup_When_UpdateOfUserFailsWithAnException() throws Exception { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); @@ -1123,8 +986,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedback_When_UpdateOfUserFailsWit when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) .thenReturn(Optional.of(GROUP_RESPONSE_DTO)); - when(rocketChatService.createPrivateGroupWithSystemUser(Mockito.any())) - .thenReturn(Optional.of(FEEDBACK_GROUP_RESPONSE_DTO_2)); when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) .thenReturn(SESSION_WITHOUT_ENQUIRY_MESSAGE.getId().toString()); doThrow(new IllegalArgumentException()) @@ -1140,8 +1001,6 @@ void createEnquiryMessage_Should_DeleteRcGroupFeedback_When_UpdateOfUserFailsWit verify(rocketChatService, times(1)) .rollbackGroup(GROUP_RESPONSE_DTO.getGroup().getId(), RC_CREDENTIALS); - verify(rocketChatService, times(1)) - .deleteGroupAsSystemUser(FEEDBACK_GROUP_RESPONSE_DTO_2.getGroup().getId()); resetRequestAttributes(); } diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java index c0b732c99..fdd22aad0 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java @@ -5,21 +5,14 @@ import static de.caritas.cob.userservice.api.testHelper.AsyncVerification.verifyAsync; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ANONYMOUS_ENQUIRY_WITHOUT_CONSULTANT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_WITH_AGENCY; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.FEEDBACKSESSION_WITHOUT_CONSULTANT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.LIST_GROUP_MEMBER_DTO; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROCKETCHAT_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROCKET_CHAT_SYSTEM_USER_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.SESSION_WITHOUT_CONSULTANT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.U25_SESSION_WITHOUT_CONSULTANT; import static java.util.Arrays.asList; -import static java.util.Objects.requireNonNull; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; import static org.hibernate.validator.internal.util.CollectionHelper.asSet; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; @@ -27,12 +20,10 @@ import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.never; -import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.powermock.reflect.Whitebox.setInternalState; -import static org.springframework.test.util.ReflectionTestUtils.getField; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; @@ -46,20 +37,14 @@ import de.caritas.cob.userservice.api.model.Session.SessionStatus; import de.caritas.cob.userservice.api.service.LogService; import de.caritas.cob.userservice.api.service.session.SessionService; -import de.caritas.cob.userservice.api.service.statistics.StatisticsService; -import de.caritas.cob.userservice.api.service.statistics.event.AssignSessionStatisticsEvent; import de.caritas.cob.userservice.api.tenant.TenantContext; import de.caritas.cob.userservice.api.tenant.TenantContextProvider; -import de.caritas.cob.userservice.statisticsservice.generated.web.model.UserRole; import java.util.List; -import javax.servlet.http.HttpServletRequest; -import org.apache.commons.lang3.RandomStringUtils; import org.jeasy.random.EasyRandom; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; @@ -85,9 +70,7 @@ class AssignEnquiryFacadeTest { @Mock SessionToConsultantVerifier sessionToConsultantVerifier; @Mock Logger logger; @Mock UnauthorizedMembersProvider unauthorizedMembersProvider; - @Mock StatisticsService statisticsService; @Mock TenantContextProvider tenantContextProvider; - @Mock HttpServletRequest httpServletRequest; @BeforeEach public void setup() { @@ -99,75 +82,6 @@ public void tearDown() { TenantContext.clear(); } - @Test - void assignEnquiry_Should_ReturnOKAndNotRemoveSystemUser() { - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - verifyConsultantAndSessionHaveBeenChecked( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - verify(rocketChatFacade, times(0)).removeUserFromGroup(ROCKET_CHAT_SYSTEM_USER_ID, RC_GROUP_ID); - } - - @Test - void - assignRegisteredEnquiry_Should_ReturnOKAndNotRemoveSystemUser_AndSkipInProgressValidationIfSkipInProgressCheckIsRequired() { - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY, true); - - verifyConsultantAndSessionHaveBeenCheckedButInProgressValidationSkipped( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - verify(rocketChatFacade, times(0)).removeUserFromGroup(ROCKET_CHAT_SYSTEM_USER_ID, RC_GROUP_ID); - } - - @Test - void assignEnquiry_Should_FireAssignSessionStatisticsEvent() { - when(httpServletRequest.getRequestURI()).thenReturn(RandomStringUtils.randomAlphanumeric(32)); - when(httpServletRequest.getHeader("Referer")) - .thenReturn(RandomStringUtils.randomAlphanumeric(32)); - - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - verify(statisticsService, timeout(5000)).fireEvent(any(AssignSessionStatisticsEvent.class)); - - var captor = ArgumentCaptor.forClass(AssignSessionStatisticsEvent.class); - verify(statisticsService).fireEvent(captor.capture()); - var event = captor.getValue(); - - var userId = requireNonNull(getField(event, "userId")).toString(); - assertThat(userId, is(CONSULTANT_WITH_AGENCY.getId())); - var userRole = requireNonNull(getField(event, "userRole")).toString(); - assertThat(userRole, is(UserRole.CONSULTANT.toString())); - var sessionId = Long.valueOf(requireNonNull(getField(event, "sessionId")).toString()); - assertThat(sessionId, is(FEEDBACKSESSION_WITHOUT_CONSULTANT.getId())); - assertEquals(httpServletRequest.getRequestURI(), event.getRequestUri()); - assertEquals(httpServletRequest.getHeader("Referer"), event.getRequestReferer()); - assertEquals(CONSULTANT_WITH_AGENCY.getId(), event.getRequestUserId()); - } - - @Test - void assignEnquiry_Should_FireAssignSessionStatisticsEventWithoutOptionalArgs() { - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - verify(statisticsService, timeout(5000)).fireEvent(any(AssignSessionStatisticsEvent.class)); - - var captor = ArgumentCaptor.forClass(AssignSessionStatisticsEvent.class); - verify(statisticsService).fireEvent(captor.capture()); - var event = captor.getValue(); - - var userId = requireNonNull(getField(event, "userId")).toString(); - assertThat(userId, is(CONSULTANT_WITH_AGENCY.getId())); - var userRole = requireNonNull(getField(event, "userRole")).toString(); - assertThat(userRole, is(UserRole.CONSULTANT.toString())); - var sessionId = Long.valueOf(requireNonNull(getField(event, "sessionId")).toString()); - assertThat(sessionId, is(FEEDBACKSESSION_WITHOUT_CONSULTANT.getId())); - assertNull(event.getRequestUri()); - assertNull(event.getRequestReferer()); - assertEquals(CONSULTANT_WITH_AGENCY.getId(), event.getRequestUserId()); - } - private void verifyConsultantAndSessionHaveBeenChecked(Session session, Consultant consultant) { verify(sessionToConsultantVerifier, times(1)) .verifySessionIsNotInProgress( @@ -184,17 +98,6 @@ private void verifyConsultantAndSessionHaveBeenChecked(Session session, Consulta Mockito.eq(false)); } - private void verifyConsultantAndSessionHaveBeenCheckedButInProgressValidationSkipped( - Session session, Consultant consultant) { - verify(sessionToConsultantVerifier, times(1)) - .verifyPreconditionsForAssignment( - argThat( - consultantSessionDTO -> - consultantSessionDTO.getConsultant().equals(consultant) - && consultantSessionDTO.getSession().equals(session)), - Mockito.eq(true)); - } - @Test void assignEnquiry_Should_ReturnOKAndRemoveSystemMessagesFromGroup() { // given @@ -215,43 +118,6 @@ void assignEnquiry_Should_ReturnOKAndRemoveSystemMessagesFromGroup() { (a) -> verify(tenantContextProvider).setCurrentTenantContextIfMissing(CURRENT_TENANT_ID)); } - @Test - void - assignEnquiry_Should_ReturnOKAndRemoveSystemMessagesFromFeedbackGroup_WhenSessionIsFeedbackSession() { - // given - TenantContext.setCurrentTenant(CURRENT_TENANT_ID); - // when - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - // then - verifyAsync( - (a) -> - verify(rocketChatFacade, times(0)) - .removeUserFromGroup(ROCKET_CHAT_SYSTEM_USER_ID, RC_GROUP_ID)); - verifyAsync( - (a) -> verify(rocketChatFacade, atLeastOnce()).retrieveRocketChatMembers(Mockito.any())); - verifyAsync( - (a) -> verify(tenantContextProvider).setCurrentTenantContextIfMissing(CURRENT_TENANT_ID)); - } - - @Test - void assignEnquiry_Should_ReturnInternalServerError_WhenUpdateSessionFails() { - doThrow(new InternalServerErrorException("")) - .when(sessionService) - .updateConsultantAndStatusForSession(Mockito.any(), Mockito.any(), Mockito.any()); - - assertThrows( - InternalServerErrorException.class, - () -> { - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - }); - - verifyConsultantAndSessionHaveBeenChecked( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - } - @Test void assignEnquiry_Should_LogError_When_RCRemoveGroupMembersFails() { doThrow(new InternalServerErrorException("")) @@ -270,38 +136,6 @@ void assignEnquiry_Should_LogError_When_RCRemoveGroupMembersFails() { (a) -> verify(logger, times(1)).error(anyString(), anyString(), anyString(), anyString())); } - @Test - void assignEnquiry_Should_ReturnInternalServerError_WhenSessionRollbackFails() { - doThrow(new InternalServerErrorException("")) - .when(sessionService) - .updateConsultantAndStatusForSession(any(), any(), any()); - - assertThrows( - InternalServerErrorException.class, - () -> { - assignEnquiryFacade.assignRegisteredEnquiry( - FEEDBACKSESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - }); - } - - @Test - void assignEnquiry_Should_LogError_WhenAddPeerConsultantToFeedbackGroupFails() { - doThrow(new InternalServerErrorException("")) - .when(rocketChatFacade) - .addUserToRocketChatGroup(ROCKETCHAT_ID, RC_FEEDBACK_GROUP_ID); - - assignEnquiryFacade.assignRegisteredEnquiry( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - verifyConsultantAndSessionHaveBeenChecked( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - verifyAsync( - (a) -> verify(logger, times(1)).error(anyString(), anyString(), anyString(), anyString())); - verify(sessionService, times(1)) - .updateConsultantAndStatusForSession( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY, IN_PROGRESS); - } - @Test void assignEnquiry_Should_LogError_WhenRemoveSystemMessagesFromGroupFails() { doThrow(new InternalServerErrorException("error")) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index 8f502df6b..de2d0c4fe 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -2,8 +2,6 @@ import static de.caritas.cob.userservice.api.testHelper.AsyncVerification.verifyAsync; import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_WITH_AGENCY; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.FEEDBACKSESSION_WITH_CONSULTANT; import static java.util.Arrays.asList; import static java.util.Objects.requireNonNull; import static org.hamcrest.MatcherAssert.assertThat; @@ -11,13 +9,11 @@ import static org.hibernate.validator.internal.util.CollectionHelper.asSet; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -25,10 +21,7 @@ import static org.springframework.test.util.ReflectionTestUtils.getField; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; -import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; -import de.caritas.cob.userservice.api.facade.CreateEnquiryMessageFacade; import de.caritas.cob.userservice.api.facade.EmailNotificationFacade; import de.caritas.cob.userservice.api.facade.RocketChatFacade; import de.caritas.cob.userservice.api.helper.AuthenticatedUser; @@ -38,7 +31,6 @@ import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.RegistrationType; import de.caritas.cob.userservice.api.model.Session.SessionStatus; -import de.caritas.cob.userservice.api.service.LogService; import de.caritas.cob.userservice.api.service.statistics.StatisticsService; import de.caritas.cob.userservice.api.service.statistics.event.AssignSessionStatisticsEvent; import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; @@ -66,6 +58,7 @@ class AssignSessionFacadeTest { @Mock @SuppressWarnings("unused") KeycloakService keycloakService; + @Mock EmailNotificationFacade emailNotificationFacade; @Mock AuthenticatedUser authenticatedUser; @Mock SessionToConsultantVerifier sessionToConsultantVerifier; @@ -73,33 +66,6 @@ class AssignSessionFacadeTest { @Mock StatisticsService statisticsService; @Mock HttpServletRequest httpServletRequest; - @Test - void - assignSession_Should_ReturnInternalServerErrorAndLogErrorAndDoARollback_WhenAddConsultantToRcGroupFails_WhenSessionIsNoEnquiry() { - var exception = new InternalServerErrorException(RandomStringUtils.random(16)); - doThrow(exception) - .when(rocketChatFacade) - .addUserToRocketChatGroup( - CONSULTANT_WITH_AGENCY.getRocketChatId(), FEEDBACKSESSION_WITH_CONSULTANT.getGroupId()); - - var thrown = - assertThrows( - InternalServerErrorException.class, - () -> - assignSessionFacade.assignSession( - FEEDBACKSESSION_WITH_CONSULTANT, CONSULTANT_WITH_AGENCY, CONSULTANT)); - - assertEquals(exception.getMessage(), thrown.getMessage()); - verify(sessionToConsultantVerifier, times(1)) - .verifyPreconditionsForAssignment( - argThat( - consultantSessionDTO -> - consultantSessionDTO.getConsultant().equals(CONSULTANT_WITH_AGENCY) - && consultantSessionDTO - .getSession() - .equals(FEEDBACKSESSION_WITH_CONSULTANT))); - } - @Test void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSession() { Session session = easyRandom.nextObject(Session.class); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java index d6bb90e3d..a096ebfac 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java @@ -1,8 +1,6 @@ package de.caritas.cob.userservice.api.facade.assignsession; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static de.caritas.cob.userservice.api.testHelper.FieldConstants.FIELD_NAME_ROCKET_CHAT_SYSTEM_USER_ID; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROCKET_CHAT_SYSTEM_USER_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.SESSION_WITH_ASKER_AND_CONSULTANT; @@ -12,15 +10,12 @@ import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.when; import static org.springframework.test.util.ReflectionTestUtils.setField; -import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentials; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentialsProvider; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; -import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatUserNotInitializedException; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.service.ConsultantService; @@ -47,8 +42,6 @@ class UnauthorizedMembersProviderTest { @Mock RocketChatCredentialsProvider rocketChatCredentialsProvider; - @Mock KeycloakService keycloakService; - EasyRandom easyRandom = new EasyRandom(); Consultant newConsultant = easyRandom.nextObject(Consultant.class); Consultant normalConsultant = easyRandom.nextObject(Consultant.class); @@ -62,7 +55,7 @@ class UnauthorizedMembersProviderTest { List initialMemberList; @BeforeEach - void setup() throws NoSuchFieldException, SecurityException { + void setup() throws SecurityException { setField( unauthorizedMembersProvider, FIELD_NAME_ROCKET_CHAT_SYSTEM_USER_ID, @@ -237,62 +230,4 @@ void obtainConsultantsToRemoveShouldNotIncludeConsultantToKeep() assertThat(result.size(), is(1)); assertThat(result, contains(normalConsultant)); } - - @Test - void - obtainConsultantsToRemove_Should_ReturnCorrectUnauthorizedMemberList_When_SessionIsFeedbackSessionForNormalGroup() - throws RocketChatUserNotInitializedException { - newConsultant.setTeamConsultant(true); - when(rocketChatCredentialsProvider.getTechnicalUser()).thenReturn(techUserRcCredentials); - var consultantList = - asList( - newConsultant, - normalConsultant, - teamConsultant, - teamConsultant2, - mainConsultant, - mainConsultant2, - peerConsultant, - peerConsultant2); - when(consultantService.findConsultantsByAgencyId( - FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT.getAgencyId())) - .thenReturn(consultantList); - consultantList.forEach( - consultant -> - when(consultantService.getConsultantByRcUserId(consultant.getRocketChatId())) - .thenReturn(Optional.of(consultant))); - when(keycloakService.userHasAuthority(mainConsultant.getId(), VIEW_ALL_PEER_SESSIONS)) - .thenReturn(true); - when(keycloakService.userHasAuthority(mainConsultant2.getId(), VIEW_ALL_PEER_SESSIONS)) - .thenReturn(true); - - List result = - unauthorizedMembersProvider.obtainConsultantsToRemove( - RC_GROUP_ID, - FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT, - newConsultant, - initialMemberList); - - assertThat(result.size(), is(5)); - assertThat( - result, - contains( - normalConsultant, teamConsultant, teamConsultant2, peerConsultant, peerConsultant2)); - } - - @Test - void obtainConsultantsToRemove_Should_ThrowInternalServerError_When_TechUserIsNotInitialized() { - assertThrows( - InternalServerErrorException.class, - () -> { - when(rocketChatCredentialsProvider.getTechnicalUser()) - .thenThrow(new RocketChatUserNotInitializedException("")); - - unauthorizedMembersProvider.obtainConsultantsToRemove( - RC_GROUP_ID, - FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT, - newConsultant, - initialMemberList); - }); - } } diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java index 4c1ab78d5..bd5766380 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java @@ -2,15 +2,11 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_CREDENTIALS; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_CREDENTIALS_WITH_EMPTY_USER_VALUES; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID_2; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_FEEDBACK_GROUP_ID_3; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID_2; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID_3; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROOMS_LAST_MESSAGE_DTO_MAP; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROOMS_UPDATE_DTO_LIST; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.SUBSCRIPTIONS_UPDATE_LIST_DTO_WITH_ONE_FEEDBACK_UNREAD; import static de.caritas.cob.userservice.api.testHelper.TestConstants.USERS_ROOMS_LIST; import static de.caritas.cob.userservice.api.testHelper.TestConstants.USER_DTO_3; import static org.junit.jupiter.api.Assertions.*; @@ -30,30 +26,25 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class RocketChatRoomInformationProviderTest { +class RocketChatRoomInformationProviderTest { @InjectMocks private RocketChatRoomInformationProvider rocketChatRoomInformationProvider; @Mock private RocketChatService rocketChatService; @Test - public void retrieveRocketChatInformation_Should_Return_CorrectMessagesReadMap() { + void retrieveRocketChatInformation_Should_Return_CorrectMessagesReadMap() { - when(rocketChatService.getSubscriptionsOfUser(RC_CREDENTIALS)) - .thenReturn(SUBSCRIPTIONS_UPDATE_LIST_DTO_WITH_ONE_FEEDBACK_UNREAD); RocketChatRoomInformation rocketChatRoomInformation = rocketChatRoomInformationProvider.retrieveRocketChatInformation(RC_CREDENTIALS); assertTrue(rocketChatRoomInformation.getReadMessages().get(RC_GROUP_ID)); assertTrue(rocketChatRoomInformation.getReadMessages().get(RC_GROUP_ID_2)); assertTrue(rocketChatRoomInformation.getReadMessages().get(RC_GROUP_ID_3)); - assertFalse(rocketChatRoomInformation.getReadMessages().get(RC_FEEDBACK_GROUP_ID)); - assertTrue(rocketChatRoomInformation.getReadMessages().get(RC_FEEDBACK_GROUP_ID_2)); - assertTrue(rocketChatRoomInformation.getReadMessages().get(RC_FEEDBACK_GROUP_ID_3)); } @Test - public void retrieveRocketChatInformation_Should_Return_RocketChatRoomsUpdateList() { + void retrieveRocketChatInformation_Should_Return_RocketChatRoomsUpdateList() { when(rocketChatService.getRoomsOfUser(RC_CREDENTIALS)).thenReturn(ROOMS_UPDATE_DTO_LIST); RocketChatRoomInformation rocketChatRoomInformation = @@ -62,7 +53,7 @@ public void retrieveRocketChatInformation_Should_Return_RocketChatRoomsUpdateLis } @Test - public void retrieveRocketChatInformation_Should_Return_CorrectRocketChatUserRoomList() { + void retrieveRocketChatInformation_Should_Return_CorrectRocketChatUserRoomList() { when(rocketChatService.getRoomsOfUser(RC_CREDENTIALS)).thenReturn(ROOMS_UPDATE_DTO_LIST); RocketChatRoomInformation rocketChatRoomInformation = @@ -71,7 +62,7 @@ public void retrieveRocketChatInformation_Should_Return_CorrectRocketChatUserRoo } @Test - public void retrieveRocketChatInformation_Should_Return_CorrectRocketChatLastMessageRoom() { + void retrieveRocketChatInformation_Should_Return_CorrectRocketChatLastMessageRoom() { when(rocketChatService.getRoomsOfUser(RC_CREDENTIALS)).thenReturn(ROOMS_UPDATE_DTO_LIST); RocketChatRoomInformation rocketChatRoomInformation = @@ -80,7 +71,7 @@ public void retrieveRocketChatInformation_Should_Return_CorrectRocketChatLastMes } @Test - public void retrieveRocketChatInformation_Should_Return_EmptyObject_When_RcUserIdNotSet() { + void retrieveRocketChatInformation_Should_Return_EmptyObject_When_RcUserIdNotSet() { RocketChatRoomInformation rocketChatRoomInformation = rocketChatRoomInformationProvider.retrieveRocketChatInformation( @@ -93,7 +84,7 @@ public void retrieveRocketChatInformation_Should_Return_EmptyObject_When_RcUserI } @Test - public void should_collect_fallback_date_for_rooms_without_last_message() { + void should_collect_fallback_date_for_rooms_without_last_message() { var fallbackDate = new Date(1655730882738L); var roomUpdateWithoutLastMessage = new RoomsUpdateDTO( @@ -121,7 +112,7 @@ public void should_collect_fallback_date_for_rooms_without_last_message() { } @Test - public void should_not_fail_on_rooms_without_fallback_date() { + void should_not_fail_on_rooms_without_fallback_date() { var roomUpdateWithoutLastMessage = new RoomsUpdateDTO( "4711aaGc", diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java index fb1b6895a..e196cfa90 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/ExceptionConstants.java @@ -2,8 +2,6 @@ import de.caritas.cob.userservice.api.container.CreateEnquiryExceptionInformation; import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException; -import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatAddUserToGroupException; -import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatCreateGroupException; import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatPostMessageException; import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatRemoveSystemMessagesException; import org.springframework.http.HttpStatus; @@ -28,8 +26,6 @@ public class ExceptionConstants { public static final RocketChatRemoveSystemMessagesException RC_CHAT_REMOVE_SYSTEM_MESSAGES_EXCEPTION = new RocketChatRemoveSystemMessagesException(TestConstants.MESSAGE); - public static final RocketChatAddUserToGroupException RC_ADD_USER_TO_GROUP_EXCEPTION = - new RocketChatAddUserToGroupException(TestConstants.MESSAGE); /** HttpStatusCode exception */ @SuppressWarnings("serial") diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index f47c77554..b55fe254c 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -17,7 +17,6 @@ import de.caritas.cob.userservice.api.adapters.rocketchat.dto.message.attachment.FileDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.room.RoomsLastMessageDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.room.RoomsUpdateDTO; -import de.caritas.cob.userservice.api.adapters.rocketchat.dto.subscriptions.SubscriptionsUpdateDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.user.RocketChatUserDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.user.UserInfoResponseDTO; import de.caritas.cob.userservice.api.adapters.web.dto.AbsenceDTO; @@ -140,9 +139,6 @@ public class TestConstants { public static final String RC_GROUP_ID_7 = "juuuzte"; public static final String RC_STATUS_ONLINE = "online"; public static final String RC_UTC_OFFSET = "1"; - public static final String RC_FEEDBACK_GROUP_ID = "yyyZZZ"; - public static final String RC_FEEDBACK_GROUP_ID_2 = "gggasaa"; - public static final String RC_FEEDBACK_GROUP_ID_3 = "llldkdks"; public static final String RC_ATTACHMENT_TITLE = "filename.jpg"; public static final String RC_ATTACHMENT_FILE_TYPE = "image/jpeg"; public static final String RC_ATTACHMENT_IMAGE_PREVIEW = @@ -172,112 +168,6 @@ public class TestConstants { new ResponseEntity<>(LOGIN_RESPONSE_DTO, HttpStatus.OK); public static final ResponseEntity LOGIN_RESPONSE_ENTITY_OK_NO_TOKEN = new ResponseEntity<>(LOGIN_RESPONSE_DTO_NO_TOKEN, HttpStatus.OK); - public static final List - SUBSCRIPTIONS_UPDATE_LIST_DTO_WITH_ONE_FEEDBACK_UNREAD = - Arrays.asList( - new SubscriptionsUpdateDTO( - "A", - true, - false, - 0, - 0, - 0, - NOW, - RC_GROUP_ID, - "A", - "A", - "P", - null, - null, - null, - null, - null), - new SubscriptionsUpdateDTO( - "A", - true, - false, - 0, - 0, - 0, - NOW, - RC_GROUP_ID_2, - "A", - "A", - "P", - null, - null, - null, - null, - null), - new SubscriptionsUpdateDTO( - "A", - true, - false, - 0, - 0, - 0, - NOW, - RC_GROUP_ID_3, - "A", - "A", - "P", - null, - null, - null, - null, - null), - new SubscriptionsUpdateDTO( - "A", - true, - false, - 1, - 0, - 0, - NOW, - RC_FEEDBACK_GROUP_ID, - "A", - "A", - "P", - null, - null, - null, - null, - null), - new SubscriptionsUpdateDTO( - "A", - true, - false, - 0, - 0, - 0, - NOW, - RC_FEEDBACK_GROUP_ID_2, - "A", - "A", - "P", - null, - null, - null, - null, - null), - new SubscriptionsUpdateDTO( - "A", - true, - false, - 0, - 0, - 0, - NOW, - RC_FEEDBACK_GROUP_ID_3, - "A", - "A", - "P", - null, - null, - null, - null, - null)); - /** Rocket.Chat credentials */ public static final String TECHNICAL_USER_A_USERNAME = "techUserAName"; @@ -897,24 +787,6 @@ public class TestConstants { .isPeerChat(false) .build(); - public static final Session FEEDBACK_SESSION_WITH_ASKER_AND_CONSULTANT = - Session.builder() - .id(SESSION_ID) - .user(USER_WITH_RC_ID) - .consultant(CONSULTANT_2) - .consultingTypeId(CONSULTING_TYPE_ID_SUCHT) - .registrationType(REGISTERED) - .agencyId(AGENCY_ID) - .enquiryMessageDate(nowInUtc()) - .groupId(RC_GROUP_ID) - .postcode(POSTCODE) - .status(IN_PROGRESS) - .createDate(nowInUtc()) - .updateDate(nowInUtc()) - .teamSession(true) - .isPeerChat(false) - .build(); - public static final Session ANONYMOUS_ENQUIRY_WITHOUT_CONSULTANT = Session.builder() .id(SESSION_ID) @@ -948,40 +820,6 @@ public class TestConstants { .isPeerChat(false) .build(); - public static final Session FEEDBACKSESSION_WITHOUT_CONSULTANT = - Session.builder() - .id(SESSION_ID) - .user(USER_WITH_RC_ID) - .consultingTypeId(CONSULTING_TYPE_ID_U25) - .registrationType(REGISTERED) - .agencyId(AGENCY_ID) - .enquiryMessageDate(nowInUtc()) - .groupId(RC_GROUP_ID) - .postcode(POSTCODE) - .status(NEW) - .createDate(nowInUtc()) - .updateDate(nowInUtc()) - .teamSession(true) - .isPeerChat(false) - .build(); - public static final Session FEEDBACKSESSION_WITH_CONSULTANT = - Session.builder() - .id(SESSION_ID) - .user(USER_WITH_RC_ID) - .consultant(CONSULTANT_2) - .consultingTypeId(CONSULTING_TYPE_ID_U25) - .registrationType(REGISTERED) - .agencyId(AGENCY_ID) - .enquiryMessageDate(nowInUtc()) - .groupId(RC_GROUP_ID) - .postcode(POSTCODE) - .status(NEW) - .createDate(nowInUtc()) - .updateDate(nowInUtc()) - .teamSession(true) - .isPeerChat(false) - .build(); - public static final Session SESSION_WITHOUT_CONSULTANT_NO_RC_USER_ID = Session.builder() .id(TEAM_SESSION_ID) @@ -1320,9 +1158,6 @@ public class TestConstants { put(RC_GROUP_ID_4, false); put(RC_GROUP_ID_5, false); put(RC_GROUP_ID_6, false); - put(RC_FEEDBACK_GROUP_ID, false); - put(RC_FEEDBACK_GROUP_ID_2, false); - put(RC_FEEDBACK_GROUP_ID_3, false); } }; public static final Map MESSAGES_READ_MAP_WITHOUT_UNREADS = @@ -1334,9 +1169,6 @@ public class TestConstants { put(RC_GROUP_ID_4, true); put(RC_GROUP_ID_5, true); put(RC_GROUP_ID_6, true); - put(RC_FEEDBACK_GROUP_ID, true); - put(RC_FEEDBACK_GROUP_ID_2, true); - put(RC_FEEDBACK_GROUP_ID_3, true); } }; public static final List USER_CHAT_RESPONSE_DTO_LIST = @@ -1468,39 +1300,6 @@ public class TestConstants { new Date(), ROOMS_LAST_MESSAGE_DTO_3, new Date()), - new RoomsUpdateDTO( - RC_FEEDBACK_GROUP_ID, - "name1", - "fname1", - "P", - USER_DTO_1, - true, - false, - new Date(), - ROOMS_LAST_MESSAGE_DTO_1, - new Date()), - new RoomsUpdateDTO( - RC_FEEDBACK_GROUP_ID_2, - "name2", - "fname2", - "P", - USER_DTO_2, - true, - false, - new Date(), - ROOMS_LAST_MESSAGE_DTO_2, - new Date()), - new RoomsUpdateDTO( - RC_FEEDBACK_GROUP_ID_3, - "name3", - "fname3", - "P", - USER_DTO_3, - true, - false, - new Date(), - ROOMS_LAST_MESSAGE_DTO_3, - new Date()), new RoomsUpdateDTO( RC_GROUP_ID_4, "name4", @@ -1543,9 +1342,6 @@ public class TestConstants { put(RC_GROUP_ID_4, ROOMS_LAST_MESSAGE_DTO_4); put(RC_GROUP_ID_5, ROOMS_LAST_MESSAGE_DTO_5); put(RC_GROUP_ID_6, ROOMS_LAST_MESSAGE_DTO_6); - put(RC_FEEDBACK_GROUP_ID, ROOMS_LAST_MESSAGE_DTO_1); - put(RC_FEEDBACK_GROUP_ID_2, ROOMS_LAST_MESSAGE_DTO_2); - put(RC_FEEDBACK_GROUP_ID_3, ROOMS_LAST_MESSAGE_DTO_3); } }; public static final RoomsLastMessageDTO ROOMS_LAST_MESSAGE_DTO_WITH_ATTACHMENT = diff --git a/src/test/resources/database/UserServiceDatabase.sql b/src/test/resources/database/UserServiceDatabase.sql index ed6680d37..9af0dff11 100644 --- a/src/test/resources/database/UserServiceDatabase.sql +++ b/src/test/resources/database/UserServiceDatabase.sql @@ -719,469 +719,469 @@ VALUES (0, '473f7c4b-f011-4fc2-847c-ceb636a5b399', 1, '2020-10-08 08:53:55', '20 (63, '0b3b1cc6-be98-4787-aa56-212259d811b9', 1, '2020-10-08 08:57:44', '2020-10-08 08:57:44'); INSERT INTO session (`id`, `user_id`, `consultant_id`, `consulting_type`, `message_date`, - `postcode`, `agency_id`, `rc_group_id`, `rc_feedback_group_id`, `status`, + `postcode`, `agency_id`, `rc_group_id`, `status`, `is_team_session`, `create_date`, `update_date`) VALUES (1, '1da238c6-cd46-4162-80f1-bff74eafe77f', '473f7c4b-f011-4fc2-847c-ceb636a5b399', 0, - '2020-10-08 09:03:45', '12345', 1, '4WKq3kj9C7WESSQuK', 'E6FohkNfEDPY9bRXc', 2, 0, + '2020-10-08 09:03:45', '12345', 1, '4WKq3kj9C7WESSQuK', 2, 0, '2020-10-08 09:03:45', '2020-10-08 09:03:45'), (2, '236b97bf-6cd7-434a-83f3-0a0b129dd45a', '75abe824-fb42-476d-a52a-66660113bdcc', 0, - '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', NULL, 2, 1, + '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', 2, 1, '2020-10-08 09:03:47', '2020-10-08 09:03:48'), (3, 'a38983e3-43f7-49ac-ab61-18161fd45b69', 'bad14912-cf9f-4c16-9d0e-fe8ede9b60dc', 1, - '2020-10-08 09:03:50', '12345', 121, 'z73epJCrora8rxEDz', 'E6FohkNfEDPY9bRXc', 2, 1, + '2020-10-08 09:03:50', '12345', 121, 'z73epJCrora8rxEDz', 2, 1, '2020-10-08 09:03:49', '2020-10-28 13:35:44'), (4, '8b7312d6-910f-4d35-9d35-a9b09c9fde3a', 'f0327f55-a844-41b7-a72c-2716b259a41d', 2, - '2020-10-08 09:03:51', '12345', 777, '6xvezDF22CZ8xakWJ', NULL, 2, 0, + '2020-10-08 09:03:51', '12345', 777, '6xvezDF22CZ8xakWJ', 2, 0, '2020-10-08 09:03:51', '2020-10-08 09:03:51'), (5, 'd27afce4-b88f-4323-b968-e455914f8d7b', '2bbbdb50-94de-4d35-a0c4-a4e7450cf171', 2, - '2020-10-08 09:03:53', '12345', 785, '3Qf7Ekprr35Fftw7C', NULL, 2, 1, + '2020-10-08 09:03:53', '12345', 785, '3Qf7Ekprr35Fftw7C', 2, 1, '2020-10-08 09:03:52', '2020-10-08 09:03:53'), (6, 'c68cb3db-4081-4e3e-bf50-a001fbc957e5', 'd67af4e4-0914-42ce-8c4c-b063e1ad78e6', 3, - '2020-10-08 09:03:54', '12345', 310, 'shtDm5Pi75SRcKizb', NULL, 2, 0, + '2020-10-08 09:03:54', '12345', 310, 'shtDm5Pi75SRcKizb', 2, 0, '2020-10-08 09:03:54', '2020-10-08 09:03:54'), (7, 'bc97a2c0-2811-462e-aa92-c9f61415ee2e', '330dd0a4-6728-453e-a6b7-3aa181cf0c72', 3, - '2020-10-08 09:03:55', '12345', 469, '5dRMb5wdLAaXZj4r2', NULL, 2, 1, + '2020-10-08 09:03:55', '12345', 469, '5dRMb5wdLAaXZj4r2', 2, 1, '2020-10-08 09:03:55', '2020-10-08 09:03:55'), (8, '28cfd242-e4b2-411f-9a3d-3b1a9559d5be', '72efe24d-cf00-4889-a1e9-32a3855e001d', 4, - '2020-10-08 09:03:57', '12345', 915, 'FhARsZ4G4ryu6ShER', NULL, 2, 0, + '2020-10-08 09:03:57', '12345', 915, 'FhARsZ4G4ryu6ShER', 2, 0, '2020-10-08 09:03:56', '2020-10-08 09:03:57'), (9, '8352ab20-e76e-4114-915f-6b18cdcd6002', '25cdfa46-6b91-4bea-bb48-ae69f6b6fbf4', 5, - '2020-10-08 09:03:58', '12345', 719, 'dRt4kxy2FjE6ckge6', NULL, 2, 0, + '2020-10-08 09:03:58', '12345', 719, 'dRt4kxy2FjE6ckge6', 2, 0, '2020-10-08 09:03:57', '2020-10-08 09:03:58'), (10, 'bb9a4c21-9398-407a-b94d-743fdbea7e63', 'ac364ebc-5eaf-4f33-92c5-1e86b8a960c4', 5, - '2020-10-08 09:04:00', '12345', 743, 'NwpGcuhgSR5mN3oka', NULL, 2, 1, + '2020-10-08 09:04:00', '12345', 743, 'NwpGcuhgSR5mN3oka', 2, 1, '2020-10-08 09:03:59', '2020-10-08 09:04:00'), (11, '8fb09067-a489-4a79-b342-d726c2a80d2b', '6cc9c3d3-69a5-468c-82dd-9d9f6ecd4d13', 6, - '2020-10-08 09:04:01', '12345', 202, 'ZRLsW5R6j3W2eZxnq', NULL, 2, 0, + '2020-10-08 09:04:01', '12345', 202, 'ZRLsW5R6j3W2eZxnq', 2, 0, '2020-10-08 09:04:01', '2020-10-08 09:04:01'), (12, 'a63c4509-37e8-4851-b6dc-bcaa04ecf907', '5e4578c5-45c4-474a-9d70-7a6ef6b0c4f6', 6, - '2020-10-08 09:04:02', '12345', 201, 'T4onLhkJu7Bi2j7Hx', NULL, 2, 1, + '2020-10-08 09:04:02', '12345', 201, 'T4onLhkJu7Bi2j7Hx', 2, 1, '2020-10-08 09:04:02', '2020-10-08 09:04:02'), (13, 'd0719b49-cc7e-4755-9052-a758fe8c8d85', 'fb77d849-470f-4cec-89ca-6aa673bacb88', 7, - '2020-10-08 09:04:04', '12345', 1081, 'QBv2xym9qQ2DoAxkR', NULL, 2, 0, + '2020-10-08 09:04:04', '12345', 1081, 'QBv2xym9qQ2DoAxkR', 2, 0, '2020-10-08 09:04:04', '2020-10-08 09:04:04'), (14, '15acc30f-e7a8-4ea6-921e-0e2d3a17d546', '18e00fbd-c207-4967-b44a-1a55ffd0b71a', 7, - '2020-10-08 09:04:05', '12345', 1087, 'BTctoaurFTFegQdD2', NULL, 2, 1, + '2020-10-08 09:04:05', '12345', 1087, 'BTctoaurFTFegQdD2', 2, 1, '2020-10-08 09:04:05', '2020-10-08 09:04:05'), (15, '549c7519-7dab-4e61-b3b0-7ae0475090ab', '8d61e2f4-309f-4b8b-a261-a524694630e3', 8, - '2020-10-08 09:04:07', '12345', 258, 'hcjBdWBKBsd54v4dK', NULL, 2, 0, + '2020-10-08 09:04:07', '12345', 258, 'hcjBdWBKBsd54v4dK', 2, 0, '2020-10-08 09:04:06', '2020-10-08 09:04:07'), (16, 'bf55e8c3-985a-483f-b079-1e468f451082', 'a1e3038c-e865-4399-afc6-a94f9de6917a', 8, - '2020-10-08 09:04:08', '12345', 277, 'eSPRTfwH9daRTBDYs', NULL, 2, 1, + '2020-10-08 09:04:08', '12345', 277, 'eSPRTfwH9daRTBDYs', 2, 1, '2020-10-08 09:04:08', '2020-10-08 09:04:08'), (17, 'c1c229fd-bf08-451a-93f7-e047aaac34ae', '59664730-3b61-4b42-810c-d36d37a90386', 10, - '2020-10-08 09:04:09', '12345', 662, 'qCAbsSGvjvoo8CE7q', NULL, 2, 0, + '2020-10-08 09:04:09', '12345', 662, 'qCAbsSGvjvoo8CE7q', 2, 0, '2020-10-08 09:04:09', '2020-10-08 09:04:09'), (18, 'e99de411-c473-4103-aa00-2dbfab6d18b6', '5e1b28d9-c94d-4d5a-907d-3907392c4414', 10, - '2020-10-08 09:04:11', '12345', 665, 'tszSRkYmyEMxQN4jY', NULL, 2, 1, + '2020-10-08 09:04:11', '12345', 665, 'tszSRkYmyEMxQN4jY', 2, 1, '2020-10-08 09:04:10', '2020-10-08 09:04:11'), (19, 'f7e7570a-3532-4c2d-a457-7b8834ea7977', '91f5662c-dfb1-40b6-8248-ebaa9d56ae7d', 9, - '2020-10-08 09:04:12', '12345', 647, 'uxf46jsEeeuLSepqf', NULL, 2, 0, + '2020-10-08 09:04:12', '12345', 647, 'uxf46jsEeeuLSepqf', 2, 0, '2020-10-08 09:04:11', '2020-10-08 09:04:12'), (20, 'ca5e3d47-b06a-4584-9508-a9c77557152c', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 9, - '2020-10-08 09:04:13', '12345', 639, 'oJ8qeKaxumNSLQQiq', NULL, 2, 1, + '2020-10-08 09:04:13', '12345', 639, 'oJ8qeKaxumNSLQQiq', 2, 1, '2020-10-08 09:04:13', '2020-10-08 09:04:13'), (21, '7cf1adae-1b74-42d7-ba7f-25ae4a65c9d4', 'd6942312-752a-4c2f-8550-dcef7ae0f14a', 11, - '2020-10-08 09:04:14', '12345', 257, 'q8jRKHsnpYDrAYfYw', NULL, 2, 0, + '2020-10-08 09:04:14', '12345', 257, 'q8jRKHsnpYDrAYfYw', 2, 0, '2020-10-08 09:04:14', '2020-10-08 09:04:14'), (22, '729c7fe2-d08a-409f-bbfd-2991e7171c26', 'fb700f55-ba23-4e81-95c1-f7abbb236b95', 12, - '2020-10-08 09:04:16', '12345', 200, '8BteohEsuuX7xLqwd', NULL, 2, 0, + '2020-10-08 09:04:16', '12345', 200, '8BteohEsuuX7xLqwd', 2, 0, '2020-10-08 09:04:15', '2020-10-08 09:04:16'), (23, '34a893e1-a088-4f74-a6cc-f82eafea767e', '9c2e8f93-25d0-418c-a7b2-a011443ef3ca', 13, - '2020-10-08 09:04:17', '12345', 638, 'EjXztL9zNEXQcbiyF', NULL, 2, 1, + '2020-10-08 09:04:17', '12345', 638, 'EjXztL9zNEXQcbiyF', 2, 1, '2020-10-08 09:04:17', '2020-10-08 09:04:17'), (24, 'e179d5b6-c46e-4600-90a3-ae5c71455750', '147a152a-e33c-456a-8a05-7731f95520cf', 14, - '2020-10-08 09:04:18', '12345', 474, 'hA672qxrRf9eXwfyg', NULL, 2, 0, + '2020-10-08 09:04:18', '12345', 474, 'hA672qxrRf9eXwfyg', 2, 0, '2020-10-08 09:04:18', '2020-10-08 09:04:18'), (25, '6977c783-4b6d-415f-a885-4a0741f66498', '260061df-01c2-4c73-835d-9069a23ea671', 14, - '2020-10-08 09:04:19', '12345', 634, '9csNYtKdNmPXBi45J', NULL, 2, 1, + '2020-10-08 09:04:19', '12345', 634, '9csNYtKdNmPXBi45J', 2, 1, '2020-10-08 09:04:19', '2020-10-08 09:04:19'), (26, 'e6df2553-db22-451e-b66b-9fe434803132', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:20', '12345', 22, 'PPGcPLbJq73qvyAkp', NULL, 2, 1, + '2020-10-08 09:04:20', '12345', 22, 'PPGcPLbJq73qvyAkp', 2, 1, '2020-10-08 09:04:20', '2020-10-08 09:04:20'), (27, 'a46f4d54-b9c6-427e-8b8c-b1687da833c4', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:22', '12345', 22, 'u3EDwNzcduy354pEa', NULL, 2, 1, + '2020-10-08 09:04:22', '12345', 22, 'u3EDwNzcduy354pEa', 2, 1, '2020-10-08 09:04:21', '2020-10-08 09:04:22'), (28, '4f39a7d3-8360-4bd4-8808-89986fd3e0f1', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:23', '12345', 22, 'FdsrLcLR2XZ6GB8LF', NULL, 2, 1, + '2020-10-08 09:04:23', '12345', 22, 'FdsrLcLR2XZ6GB8LF', 2, 1, '2020-10-08 09:04:23', '2020-10-08 09:04:23'), (29, '149c8359-84e9-4ffe-b8c7-ac5bdba43d38', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:24', '12345', 22, 'eoHPajr8Sxz6kC4Mg', NULL, 2, 1, + '2020-10-08 09:04:24', '12345', 22, 'eoHPajr8Sxz6kC4Mg', 2, 1, '2020-10-08 09:04:24', '2020-10-08 09:04:24'), (30, '487c4c7d-3021-427f-8969-cc360069ea24', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:25', '12345', 22, 's9ESvoGR8wC88dWZH', NULL, 2, 1, + '2020-10-08 09:04:25', '12345', 22, 's9ESvoGR8wC88dWZH', 2, 1, '2020-10-08 09:04:25', '2020-10-08 09:04:25'), (31, 'b80701f9-edd4-4231-9b5e-d18eff99f139', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:27', '12345', 22, 'P4jpP9zFkK35qx6ZE', NULL, 2, 1, + '2020-10-08 09:04:27', '12345', 22, 'P4jpP9zFkK35qx6ZE', 2, 1, '2020-10-08 09:04:27', '2020-10-08 09:04:27'), (32, '08fbf86d-182c-4bbc-9646-d3707292aeee', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:28', '12345', 22, 'CvpmZSTDnqzYwijHB', NULL, 2, 1, + '2020-10-08 09:04:28', '12345', 22, 'CvpmZSTDnqzYwijHB', 2, 1, '2020-10-08 09:04:28', '2020-10-08 09:04:28'), (33, 'b4059586-22d1-4d45-aa45-454db959fa50', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:29', '12345', 22, 'LoMazYaeXjEfMoSbW', NULL, 2, 1, + '2020-10-08 09:04:29', '12345', 22, 'LoMazYaeXjEfMoSbW', 2, 1, '2020-10-08 09:04:29', '2020-10-08 09:04:29'), (34, '5ab6ef5d-b0b2-4a8d-96c8-1a9ffa3317c9', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:31', '12345', 22, 'BkFpKQBboryTGE4Gp', NULL, 2, 1, + '2020-10-08 09:04:31', '12345', 22, 'BkFpKQBboryTGE4Gp', 2, 1, '2020-10-08 09:04:30', '2020-10-08 09:04:31'), (35, 'fda9a0a1-c936-45ee-9141-d73dfc0a3348', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:32', '12345', 22, '65TJ2yLBQZ6qXwrfw', NULL, 2, 1, + '2020-10-08 09:04:32', '12345', 22, '65TJ2yLBQZ6qXwrfw', 2, 1, '2020-10-08 09:04:32', '2020-10-08 09:04:32'), (36, '2b0b48f9-5ed3-47de-9c85-10ca698c83cf', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:33', '12345', 22, '3v8gRXAniiSy94dWx', NULL, 2, 1, + '2020-10-08 09:04:33', '12345', 22, '3v8gRXAniiSy94dWx', 2, 1, '2020-10-08 09:04:33', '2020-10-08 09:04:33'), (37, '47800d19-7974-41b8-ac32-fde0069b2e81', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:34', '12345', 22, 'jvuAK4PL45kKJLXsc', NULL, 2, 1, + '2020-10-08 09:04:34', '12345', 22, 'jvuAK4PL45kKJLXsc', 2, 1, '2020-10-08 09:04:34', '2020-10-08 09:04:34'), (38, '373b5993-69e6-4e77-8a9f-9fbdeac5f7f1', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:35', '12345', 22, 'GYgczWy7d6KsT7SKT', NULL, 2, 1, + '2020-10-08 09:04:35', '12345', 22, 'GYgczWy7d6KsT7SKT', 2, 1, '2020-10-08 09:04:35', '2020-10-08 09:04:35'), (39, '655a0dd9-c372-4eb7-91db-ff7ade89c1a0', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:37', '12345', 22, 'tMPTCn7idau4TDCEt', NULL, 2, 1, + '2020-10-08 09:04:37', '12345', 22, 'tMPTCn7idau4TDCEt', 2, 1, '2020-10-08 09:04:36', '2020-10-08 09:04:37'), (40, '0cc66af0-1ccc-4b1f-a1b6-be0c993a764d', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:38', '12345', 22, 'rvhrgk9tnp7FiECCh', NULL, 2, 1, + '2020-10-08 09:04:38', '12345', 22, 'rvhrgk9tnp7FiECCh', 2, 1, '2020-10-08 09:04:37', '2020-10-08 09:04:38'), (41, '89166257-d326-4bc7-bfd9-aee1fb2ac37b', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:39', '12345', 22, 'YYH5KxPKquxgEYdct', NULL, 2, 1, + '2020-10-08 09:04:39', '12345', 22, 'YYH5KxPKquxgEYdct', 2, 1, '2020-10-08 09:04:39', '2020-10-08 09:04:39'), (42, 'd340dd99-62af-4831-9676-882f7cf2b392', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:40', '12345', 22, 'ZnRTAfCZbE65xc54X', NULL, 2, 1, + '2020-10-08 09:04:40', '12345', 22, 'ZnRTAfCZbE65xc54X', 2, 1, '2020-10-08 09:04:40', '2020-10-08 09:04:40'), (43, 'fa805afe-7439-4ae6-929c-b7e8334b1ec3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:41', '12345', 22, 'KYTbkKJyZMa593WMe', NULL, 2, 1, + '2020-10-08 09:04:41', '12345', 22, 'KYTbkKJyZMa593WMe', 2, 1, '2020-10-08 09:04:41', '2020-10-08 09:04:41'), (44, '72d64de8-f656-4a88-b9f4-c708a452660f', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:43', '12345', 22, 'vuiXbEBeHdLJa9RfA', NULL, 2, 1, + '2020-10-08 09:04:43', '12345', 22, 'vuiXbEBeHdLJa9RfA', 2, 1, '2020-10-08 09:04:42', '2020-10-08 09:04:43'), (45, 'a1632507-6697-4cbc-bde5-e714c015b19c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:44', '12345', 22, 'X6oSFTP4TZjgEg2Ws', NULL, 2, 1, + '2020-10-08 09:04:44', '12345', 22, 'X6oSFTP4TZjgEg2Ws', 2, 1, '2020-10-08 09:04:44', '2020-10-08 09:04:44'), (46, 'fc19d6a9-f9ba-40c7-bfae-2883b6d56a3a', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:45', '12345', 22, 'qj3Kq9NfMYZ7K4Kyn', NULL, 2, 1, + '2020-10-08 09:04:45', '12345', 22, 'qj3Kq9NfMYZ7K4Kyn', 2, 1, '2020-10-08 09:04:45', '2020-10-08 09:04:45'), (47, '3fe6ebad-60dc-42dc-a1e1-319822b3e712', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:46', '12345', 22, 'g5PKzmPwAfhdk2o7b', NULL, 2, 1, + '2020-10-08 09:04:46', '12345', 22, 'g5PKzmPwAfhdk2o7b', 2, 1, '2020-10-08 09:04:46', '2020-10-08 09:04:46'), (48, 'be1824ea-c686-4af1-873d-c26cbc715689', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:47', '12345', 22, 'mu4HGGRYyYtYwBB95', NULL, 2, 1, + '2020-10-08 09:04:47', '12345', 22, 'mu4HGGRYyYtYwBB95', 2, 1, '2020-10-08 09:04:47', '2020-10-08 09:04:47'), (49, '47fd4752-7abf-4205-be29-119978588cc3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:49', '12345', 22, 'dD9M7h9jYKyhyh9Fv', NULL, 2, 1, + '2020-10-08 09:04:49', '12345', 22, 'dD9M7h9jYKyhyh9Fv', 2, 1, '2020-10-08 09:04:48', '2020-10-08 09:04:49'), (50, 'e8f9cabb-29bf-4b98-bf8f-efbe7cfd1c5c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:50', '12345', 22, 'phh3rWWuJkdha3HWN', NULL, 2, 1, + '2020-10-08 09:04:50', '12345', 22, 'phh3rWWuJkdha3HWN', 2, 1, '2020-10-08 09:04:49', '2020-10-08 09:04:50'), (51, '1e2af8ce-8605-4b8d-8e56-347edc36682c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:51', '12345', 22, 'yFgsthdFZbTbjd9yF', NULL, 2, 1, + '2020-10-08 09:04:51', '12345', 22, 'yFgsthdFZbTbjd9yF', 2, 1, '2020-10-08 09:04:51', '2020-10-08 09:04:51'), (52, '739fa1e1-9ee5-4710-8167-a12057e9f627', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:53', '12345', 22, 'yEXszn6LP83QnBLZp', NULL, 2, 1, + '2020-10-08 09:04:53', '12345', 22, 'yEXszn6LP83QnBLZp', 2, 1, '2020-10-08 09:04:53', '2020-10-08 09:04:53'), (53, '41dafd8f-bea5-45ec-b77b-512a6da2e274', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:54', '12345', 22, 'tQrFT5eitt9AKTK7J', NULL, 2, 1, + '2020-10-08 09:04:54', '12345', 22, 'tQrFT5eitt9AKTK7J', 2, 1, '2020-10-08 09:04:54', '2020-10-08 09:04:54'), (54, '98367c80-b430-44de-9db4-ad60a146e169', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:56', '12345', 22, 's24f6xKAAy6H2Kd7R', NULL, 2, 1, + '2020-10-08 09:04:56', '12345', 22, 's24f6xKAAy6H2Kd7R', 2, 1, '2020-10-08 09:04:55', '2020-10-08 09:04:56'), (55, 'd5b81259-bea7-455a-b112-b53706cbf38f', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:57', '12345', 22, 'Y5a8LRpN2y44TjeA8', NULL, 2, 1, + '2020-10-08 09:04:57', '12345', 22, 'Y5a8LRpN2y44TjeA8', 2, 1, '2020-10-08 09:04:56', '2020-10-08 09:04:57'), (56, '2d6ad34c-86af-49b5-be9a-c89b99e30b92', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:58', '12345', 22, '4drambM3xsLN2Kgvz', NULL, 2, 1, + '2020-10-08 09:04:58', '12345', 22, '4drambM3xsLN2Kgvz', 2, 1, '2020-10-08 09:04:58', '2020-10-08 09:04:58'), (57, 'c71d361b-59d5-42c6-99b2-aa99070d0fa0', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:04:59', '12345', 22, 'xWcfLE9B7rZ6rTQ9e', NULL, 2, 1, + '2020-10-08 09:04:59', '12345', 22, 'xWcfLE9B7rZ6rTQ9e', 2, 1, '2020-10-08 09:04:59', '2020-10-08 09:04:59'), (58, 'd716bdb7-3dd8-4b01-9f9b-7b7b214c8a71', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:00', '12345', 22, 'Jx8b8Lri7w6Cc7B49', NULL, 2, 1, + '2020-10-08 09:05:00', '12345', 22, 'Jx8b8Lri7w6Cc7B49', 2, 1, '2020-10-08 09:05:00', '2020-10-08 09:05:00'), (59, 'de94d670-4ce0-4f42-8465-65416002d67b', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:01', '12345', 22, 'GFZ8jCzwiMdFYrpvj', NULL, 2, 1, + '2020-10-08 09:05:01', '12345', 22, 'GFZ8jCzwiMdFYrpvj', 2, 1, '2020-10-08 09:05:01', '2020-10-08 09:05:01'), (60, 'ef3db553-09e7-4e65-bedc-c091224889eb', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:02', '12345', 22, '3rjiknob2HC9Hwxee', NULL, 2, 1, + '2020-10-08 09:05:02', '12345', 22, '3rjiknob2HC9Hwxee', 2, 1, '2020-10-08 09:05:02', '2020-10-08 09:05:02'), (61, '8df2f0d8-281b-419c-9a59-8447b9cb6715', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:04', '12345', 22, 'BdnrThcsxq5TYC8ap', NULL, 2, 1, + '2020-10-08 09:05:04', '12345', 22, 'BdnrThcsxq5TYC8ap', 2, 1, '2020-10-08 09:05:03', '2020-10-08 09:05:04'), (62, '53367742-751f-4be0-b8f0-20acd2fbb5dc', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:05', '12345', 22, 'tL2ozhW7qiSMyGTbq', NULL, 2, 1, + '2020-10-08 09:05:05', '12345', 22, 'tL2ozhW7qiSMyGTbq', 2, 1, '2020-10-08 09:05:04', '2020-10-08 09:05:05'), (63, '07e7a037-d279-4ecf-b6d1-6fb4f7c53229', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:06', '12345', 22, 'kNZE8a3RKbHHnEngX', NULL, 2, 1, + '2020-10-08 09:05:06', '12345', 22, 'kNZE8a3RKbHHnEngX', 2, 1, '2020-10-08 09:05:06', '2020-10-08 09:05:06'), (64, 'c74571d2-8b8b-4233-b599-4d152a4a4e48', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:07', '12345', 22, 'Gk2YpLSWpvJxDnokJ', NULL, 2, 1, + '2020-10-08 09:05:07', '12345', 22, 'Gk2YpLSWpvJxDnokJ', 2, 1, '2020-10-08 09:05:07', '2020-10-08 09:05:07'), (65, 'e838f22c-75a8-45cb-8ee6-91ca3153b2ea', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:09', '12345', 22, '37R8TtqKXZZ2cCMfZ', NULL, 2, 1, + '2020-10-08 09:05:09', '12345', 22, '37R8TtqKXZZ2cCMfZ', 2, 1, '2020-10-08 09:05:08', '2020-10-08 09:05:09'), (66, 'b7d74ad3-7361-42be-8d34-81bc44f2f903', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:10', '12345', 22, 'HJMESWC5rNz6HrDqE', NULL, 2, 1, + '2020-10-08 09:05:10', '12345', 22, 'HJMESWC5rNz6HrDqE', 2, 1, '2020-10-08 09:05:09', '2020-10-08 09:05:10'), (67, '84edf163-cf96-4d20-a0e6-8d14328bd70d', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:11', '12345', 22, '4SWWEYhsofGuFYPyT', NULL, 2, 1, + '2020-10-08 09:05:11', '12345', 22, '4SWWEYhsofGuFYPyT', 2, 1, '2020-10-08 09:05:10', '2020-10-08 09:05:11'), (68, '81bea0a7-326b-4554-8196-d0eb93da123c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:12', '12345', 22, 'vJxNGRmyxYTrq3oZS', NULL, 2, 1, + '2020-10-08 09:05:12', '12345', 22, 'vJxNGRmyxYTrq3oZS', 2, 1, '2020-10-08 09:05:12', '2020-10-08 09:05:12'), (69, 'aeafa0c1-3e8c-4285-aa9f-dcf281cdd7f3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:13', '12345', 22, 'ZWWsgWuD8nCqYM47X', NULL, 2, 1, + '2020-10-08 09:05:13', '12345', 22, 'ZWWsgWuD8nCqYM47X', 2, 1, '2020-10-08 09:05:13', '2020-10-08 09:05:13'), (70, '97ff8289-a59a-4f7f-afb4-bfeb2acfe3c1', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:14', '12345', 22, 'w7LxmaFMq6oWBLXi6', NULL, 2, 1, + '2020-10-08 09:05:14', '12345', 22, 'w7LxmaFMq6oWBLXi6', 2, 1, '2020-10-08 09:05:14', '2020-10-08 09:05:14'), (71, '5531a46e-131d-42b1-b426-12c3b720af72', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:16', '12345', 22, 'uiDtGADWda77skG94', NULL, 2, 1, + '2020-10-08 09:05:16', '12345', 22, 'uiDtGADWda77skG94', 2, 1, '2020-10-08 09:05:15', '2020-10-08 09:05:16'), (72, '620edd83-2b6d-4185-b4a5-8e976b8f87b2', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:17', '12345', 22, 'Q2LKooKamQhvX6WeZ', NULL, 2, 1, + '2020-10-08 09:05:17', '12345', 22, 'Q2LKooKamQhvX6WeZ', 2, 1, '2020-10-08 09:05:16', '2020-10-08 09:05:17'), (73, 'b5133bd8-e53e-4db9-a38d-2f825587313d', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:18', '12345', 22, 'GNF9xMnCuvtuHnFk2', NULL, 2, 1, + '2020-10-08 09:05:18', '12345', 22, 'GNF9xMnCuvtuHnFk2', 2, 1, '2020-10-08 09:05:18', '2020-10-08 09:05:18'), (74, '6185408c-a63c-40d1-9531-0e28cec04ec0', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:19', '12345', 22, 'paRARjivBWdY6wt3A', NULL, 2, 1, + '2020-10-08 09:05:19', '12345', 22, 'paRARjivBWdY6wt3A', 2, 1, '2020-10-08 09:05:19', '2020-10-08 09:05:19'), (75, 'b4ad2528-280f-4865-9f30-1a63e1feb261', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:20', '12345', 22, 'yfekyKdeR7bJhkZY6', NULL, 2, 1, + '2020-10-08 09:05:20', '12345', 22, 'yfekyKdeR7bJhkZY6', 2, 1, '2020-10-08 09:05:20', '2020-10-08 09:05:20'), (76, '22737f02-0749-467e-8a51-7c751d20ca05', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:21', '12345', 22, 'DupwZGz6P4WiQHPHD', NULL, 2, 1, + '2020-10-08 09:05:21', '12345', 22, 'DupwZGz6P4WiQHPHD', 2, 1, '2020-10-08 09:05:21', '2020-10-08 09:05:21'), (77, '0b198be7-368a-478a-8c7c-0ea381caeba4', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:23', '12345', 22, '7WZKC5tARpGKuxrSg', NULL, 2, 1, + '2020-10-08 09:05:23', '12345', 22, '7WZKC5tARpGKuxrSg', 2, 1, '2020-10-08 09:05:22', '2020-10-08 09:05:23'), (78, 'e5d4b473-d124-40bf-b169-c12c61911166', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:24', '12345', 22, 'Nc5mgAH8oXEHc3Tfq', NULL, 2, 1, + '2020-10-08 09:05:24', '12345', 22, 'Nc5mgAH8oXEHc3Tfq', 2, 1, '2020-10-08 09:05:23', '2020-10-08 09:05:24'), (79, '52889f42-7866-49d7-bd47-dd744058f6f3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:25', '12345', 22, 'dryvBGmwQfQjkS9d7', NULL, 2, 1, + '2020-10-08 09:05:25', '12345', 22, 'dryvBGmwQfQjkS9d7', 2, 1, '2020-10-08 09:05:25', '2020-10-08 09:05:25'), (80, '461afff4-2bbd-45d4-80aa-64a20b09f9b7', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:26', '12345', 22, 'rZ6jWhTf5qvHz5L22', NULL, 2, 1, + '2020-10-08 09:05:26', '12345', 22, 'rZ6jWhTf5qvHz5L22', 2, 1, '2020-10-08 09:05:26', '2020-10-08 09:05:26'), (81, '1d0a5771-a38d-4e7d-a546-28262f9f4176', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:27', '12345', 22, 'LhLPRMaAM6giPNKgF', NULL, 2, 1, + '2020-10-08 09:05:27', '12345', 22, 'LhLPRMaAM6giPNKgF', 2, 1, '2020-10-08 09:05:27', '2020-10-08 09:05:27'), (82, '92d46a1f-e37e-479b-b808-00f54c622cd2', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:29', '12345', 22, 'fp5o9dZ5RRn52nCTL', NULL, 2, 1, + '2020-10-08 09:05:29', '12345', 22, 'fp5o9dZ5RRn52nCTL', 2, 1, '2020-10-08 09:05:28', '2020-10-08 09:05:29'), (83, '497e29c1-63d7-4ee3-9fa3-6c5de0ec1b55', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:30', '12345', 22, 'vXDyC5eMh9JWkoW8K', NULL, 2, 1, + '2020-10-08 09:05:30', '12345', 22, 'vXDyC5eMh9JWkoW8K', 2, 1, '2020-10-08 09:05:30', '2020-10-08 09:05:30'), (84, '5bb9eb2a-afb9-4b27-aff3-511d7977e24c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:31', '12345', 22, 'PXDqqcvyXRB9kqSza', NULL, 2, 1, + '2020-10-08 09:05:31', '12345', 22, 'PXDqqcvyXRB9kqSza', 2, 1, '2020-10-08 09:05:31', '2020-10-08 09:05:31'), (85, '8a08d08d-f5c4-409f-a597-490678f948c1', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:32', '12345', 22, 'SgqX2Dop3jRyop8T8', NULL, 2, 1, + '2020-10-08 09:05:32', '12345', 22, 'SgqX2Dop3jRyop8T8', 2, 1, '2020-10-08 09:05:32', '2020-10-08 09:05:32'), (86, '087f20e2-426d-4d8e-a97e-15724217815a', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:34', '12345', 22, 'GeZdct8JSAmMgaa9b', NULL, 2, 1, + '2020-10-08 09:05:34', '12345', 22, 'GeZdct8JSAmMgaa9b', 2, 1, '2020-10-08 09:05:33', '2020-10-08 09:05:34'), (87, 'e0b22e51-04e2-473b-962d-64d43a4fae16', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:35', '12345', 22, 'aZRKYwC8s2TrNafQA', NULL, 2, 1, + '2020-10-08 09:05:35', '12345', 22, 'aZRKYwC8s2TrNafQA', 2, 1, '2020-10-08 09:05:34', '2020-10-08 09:05:35'), (88, '4c71c9f5-f041-40fe-8d19-cd6801efb41c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:36', '12345', 22, 'DFGE3G3CbzzWpyQBF', NULL, 2, 1, + '2020-10-08 09:05:36', '12345', 22, 'DFGE3G3CbzzWpyQBF', 2, 1, '2020-10-08 09:05:36', '2020-10-08 09:05:36'), (89, 'abb9bf86-a5ac-4727-a9c2-e4962fe09681', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:37', '12345', 22, 'njsmQRX7YhDGEvg9Z', NULL, 2, 1, + '2020-10-08 09:05:37', '12345', 22, 'njsmQRX7YhDGEvg9Z', 2, 1, '2020-10-08 09:05:37', '2020-10-08 09:05:37'), (90, '6fd1c97d-dfe6-45de-8e48-d7a44dad5f85', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:39', '12345', 22, 'uHhxAohRdyg3vE2Bf', NULL, 2, 1, + '2020-10-08 09:05:39', '12345', 22, 'uHhxAohRdyg3vE2Bf', 2, 1, '2020-10-08 09:05:38', '2020-10-08 09:05:39'), (91, 'de46fedb-4138-4862-9e0a-452e920840d1', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:40', '12345', 22, 'cSxvuix7umC4MFzm8', NULL, 2, 1, + '2020-10-08 09:05:40', '12345', 22, 'cSxvuix7umC4MFzm8', 2, 1, '2020-10-08 09:05:40', '2020-10-08 09:05:40'), (92, 'cf2039ec-0eef-4805-8a14-2c2acffc2e3f', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:41', '12345', 22, 'bYiFnfAS28z4ZdxP7', NULL, 2, 1, + '2020-10-08 09:05:41', '12345', 22, 'bYiFnfAS28z4ZdxP7', 2, 1, '2020-10-08 09:05:41', '2020-10-08 09:05:41'), (93, 'ce9ca5e1-b0a2-4200-b764-2eb39a16a377', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:42', '12345', 22, '7scmwTeWFojDxfQpd', NULL, 2, 1, + '2020-10-08 09:05:42', '12345', 22, '7scmwTeWFojDxfQpd', 2, 1, '2020-10-08 09:05:42', '2020-10-08 09:05:42'), (94, '4f0a33f3-3a3d-45d8-90c1-83963fd5727c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:44', '12345', 22, 'MjxRNAjsy6sakDLPj', NULL, 2, 1, + '2020-10-08 09:05:44', '12345', 22, 'MjxRNAjsy6sakDLPj', 2, 1, '2020-10-08 09:05:43', '2020-10-08 09:05:44'), (95, '679b6688-2b2b-43ff-af7a-873d9be81523', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:45', '12345', 22, 'gfr3Co5A7KtuwRtSe', NULL, 2, 1, + '2020-10-08 09:05:45', '12345', 22, 'gfr3Co5A7KtuwRtSe', 2, 1, '2020-10-08 09:05:44', '2020-10-08 09:05:45'), (96, '6ddc65e1-b78c-4036-af8b-d70190e52ddb', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:46', '12345', 22, 'hkqramhsDnJMYwMmr', NULL, 2, 1, + '2020-10-08 09:05:46', '12345', 22, 'hkqramhsDnJMYwMmr', 2, 1, '2020-10-08 09:05:46', '2020-10-08 09:05:46'), (97, '015d013d-95e7-4e91-85b5-12cdb3d317f3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:47', '12345', 22, 'o7Pquje4twR2JXv6T', NULL, 2, 1, + '2020-10-08 09:05:47', '12345', 22, 'o7Pquje4twR2JXv6T', 2, 1, '2020-10-08 09:05:47', '2020-10-08 09:05:47'), (98, '3920f1d9-872f-4ebb-adc5-86ab55005c3b', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:49', '12345', 22, 'tqMTRiiTTH8G7g5oN', NULL, 2, 1, + '2020-10-08 09:05:49', '12345', 22, 'tqMTRiiTTH8G7g5oN', 2, 1, '2020-10-08 09:05:48', '2020-10-08 09:05:49'), (99, '242521b6-7fe0-4441-911a-1ea499fb6a68', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:50', '12345', 22, 'rAiKzcrkxv9ijkDr4', NULL, 2, 1, + '2020-10-08 09:05:50', '12345', 22, 'rAiKzcrkxv9ijkDr4', 2, 1, '2020-10-08 09:05:50', '2020-10-08 09:05:50'), (100, '392e749b-c5d6-4801-a8b4-f9891a9063a9', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:51', '12345', 22, 'j5gNEd7opP8SZJhaY', NULL, 2, 1, + '2020-10-08 09:05:51', '12345', 22, 'j5gNEd7opP8SZJhaY', 2, 1, '2020-10-08 09:05:51', '2020-10-08 09:05:51'), (101, 'a42809ea-3880-432e-95a2-c757df3e7712', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:53', '12345', 22, 'gYnPXgwbQX6kGeJ6A', NULL, 2, 1, + '2020-10-08 09:05:53', '12345', 22, 'gYnPXgwbQX6kGeJ6A', 2, 1, '2020-10-08 09:05:52', '2020-10-08 09:05:53'), (102, '9113d9c7-d8de-402f-82a9-5276af7a8e34', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:54', '12345', 22, 'yGjDfD2ce2qRGzmyx', NULL, 2, 1, + '2020-10-08 09:05:54', '12345', 22, 'yGjDfD2ce2qRGzmyx', 2, 1, '2020-10-08 09:05:53', '2020-10-08 09:05:54'), (103, '17614453-af19-4a63-81bd-e8557a71206c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:55', '12345', 22, '6f2aGGHG4wCjJnL5M', NULL, 2, 1, + '2020-10-08 09:05:55', '12345', 22, '6f2aGGHG4wCjJnL5M', 2, 1, '2020-10-08 09:05:55', '2020-10-08 09:05:55'), (104, '84fffb36-aa48-43ad-ab7f-571f86c1690a', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:56', '12345', 22, 'uaNcspp4SbkpaP5nA', NULL, 2, 1, + '2020-10-08 09:05:56', '12345', 22, 'uaNcspp4SbkpaP5nA', 2, 1, '2020-10-08 09:05:56', '2020-10-08 09:05:56'), (105, 'f55104c2-7358-4c2d-bebc-d7398e2029d3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:57', '12345', 22, 'BPBabPPsjXaKGvRKT', NULL, 2, 1, + '2020-10-08 09:05:57', '12345', 22, 'BPBabPPsjXaKGvRKT', 2, 1, '2020-10-08 09:05:57', '2020-10-08 09:05:57'), (106, '09cf881e-1f64-498b-bce3-0ca4f939a864', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:05:59', '12345', 22, 'ACmCrTYfPXsq5LFb9', NULL, 2, 1, + '2020-10-08 09:05:59', '12345', 22, 'ACmCrTYfPXsq5LFb9', 2, 1, '2020-10-08 09:05:58', '2020-10-08 09:05:59'), (107, 'c32950a8-b69e-4c48-8d34-831dfc25e1b3', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:00', '12345', 22, 'bpYT46hjeLGgaAJKM', NULL, 2, 1, + '2020-10-08 09:06:00', '12345', 22, 'bpYT46hjeLGgaAJKM', 2, 1, '2020-10-08 09:05:59', '2020-10-08 09:06:00'), (108, '8aa757e8-5ca4-4e22-b36a-105d0d4c2b6d', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:01', '12345', 22, 'QFGvregnGg64BkgBg', NULL, 2, 1, + '2020-10-08 09:06:01', '12345', 22, 'QFGvregnGg64BkgBg', 2, 1, '2020-10-08 09:06:00', '2020-10-08 09:06:01'), (109, '24874d74-acfb-4ae4-a853-d01c66cd93aa', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:02', '12345', 22, 'DBJJ47JvLS84eJwGm', NULL, 2, 1, + '2020-10-08 09:06:02', '12345', 22, 'DBJJ47JvLS84eJwGm', 2, 1, '2020-10-08 09:06:02', '2020-10-08 09:06:02'), (110, 'b0d50e77-5a91-47ea-9d32-a634c1828ba6', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:03', '12345', 22, 'fhSJLHSeiLD7Cayg9', NULL, 2, 1, + '2020-10-08 09:06:03', '12345', 22, 'fhSJLHSeiLD7Cayg9', 2, 1, '2020-10-08 09:06:03', '2020-10-08 09:06:03'), (111, '9c4b5470-ac4f-476e-b684-7c1930df51c5', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:05', '12345', 22, 'sEkvdrnLn7zMo4qq7', NULL, 2, 1, + '2020-10-08 09:06:05', '12345', 22, 'sEkvdrnLn7zMo4qq7', 2, 1, '2020-10-08 09:06:05', '2020-10-08 09:06:05'), (112, 'ece53279-1305-46e6-8d41-65a66ef10416', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:06', '12345', 22, 'WvDdFm33gbDrMTDPh', NULL, 2, 1, + '2020-10-08 09:06:06', '12345', 22, 'WvDdFm33gbDrMTDPh', 2, 1, '2020-10-08 09:06:06', '2020-10-08 09:06:06'), (113, 'e058b3fd-04e6-40d9-a1ef-0e32eba5bc9a', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:07', '12345', 22, 'hDYdiayZxSHBofb4Q', NULL, 2, 1, + '2020-10-08 09:06:07', '12345', 22, 'hDYdiayZxSHBofb4Q', 2, 1, '2020-10-08 09:06:07', '2020-10-08 09:06:07'), (114, 'ada498f6-29d4-4d01-8749-e2f6ec4d58ca', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:09', '12345', 22, 'J7ongNH8n5289CQcW', NULL, 2, 1, + '2020-10-08 09:06:09', '12345', 22, 'J7ongNH8n5289CQcW', 2, 1, '2020-10-08 09:06:08', '2020-10-08 09:06:09'), (115, '6197172d-2200-4b2c-8abc-74c54dd248a2', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:10', '12345', 22, 'mmYnSzBA7qwAekP9D', NULL, 2, 1, + '2020-10-08 09:06:10', '12345', 22, 'mmYnSzBA7qwAekP9D', 2, 1, '2020-10-08 09:06:09', '2020-10-08 09:06:10'), (116, 'a70122e6-c1c1-41ed-80fe-e7021b75649c', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:11', '12345', 22, 'QLfco43bL3ynFu7Wx', NULL, 2, 1, + '2020-10-08 09:06:11', '12345', 22, 'QLfco43bL3ynFu7Wx', 2, 1, '2020-10-08 09:06:11', '2020-10-08 09:06:11'), (117, 'fc0264d1-5b49-4993-89cf-6f71fbf3850a', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:12', '12345', 22, 'PgqGk4osj9e8k9DLb', NULL, 2, 1, + '2020-10-08 09:06:12', '12345', 22, 'PgqGk4osj9e8k9DLb', 2, 1, '2020-10-08 09:06:12', '2020-10-08 09:06:13'), (118, '4f8a3ee6-9a40-49a0-81f2-9b2791e7262a', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:14', '12345', 22, 'xvkFMEWRKpqpZNooD', NULL, 2, 1, + '2020-10-08 09:06:14', '12345', 22, 'xvkFMEWRKpqpZNooD', 2, 1, '2020-10-08 09:06:13', '2020-10-08 09:06:14'), (119, '892c6250-94ad-4d2d-8b3d-91f41fe37e34', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:15', '12345', 22, 'DTZfHvsJA8ratDGsL', NULL, 2, 1, + '2020-10-08 09:06:15', '12345', 22, 'DTZfHvsJA8ratDGsL', 2, 1, '2020-10-08 09:06:15', '2020-10-08 09:06:15'), (120, 'eba13c5e-091e-4ada-b8e6-f6d765a4b659', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:17', '12345', 22, 'cZQ5qCsBTpiB5Xhe8', NULL, 2, 1, + '2020-10-08 09:06:17', '12345', 22, 'cZQ5qCsBTpiB5Xhe8', 2, 1, '2020-10-08 09:06:16', '2020-10-08 09:06:17'), (121, 'e084e40d-87de-460c-b955-0f4fc44b2d34', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:18', '12345', 22, '8gsrNCHGAzdFqKQPN', NULL, 2, 1, + '2020-10-08 09:06:18', '12345', 22, '8gsrNCHGAzdFqKQPN', 2, 1, '2020-10-08 09:06:18', '2020-10-08 09:06:18'), (122, '683435b1-18cb-4ee4-a405-a23b1153ee11', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:19', '12345', 22, 'nkBnEpkejGQqgc7eF', NULL, 2, 1, + '2020-10-08 09:06:19', '12345', 22, 'nkBnEpkejGQqgc7eF', 2, 1, '2020-10-08 09:06:19', '2020-10-08 09:06:19'), (123, 'df5a2183-461e-4797-af41-4947d6207369', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:20', '12345', 22, 'BXJm3GBGN7RDw5EkF', NULL, 2, 1, + '2020-10-08 09:06:20', '12345', 22, 'BXJm3GBGN7RDw5EkF', 2, 1, '2020-10-08 09:06:20', '2020-10-08 09:06:20'), (124, 'c0db8283-eb25-478a-af35-a84276e46ede', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:21', '12345', 22, 'ifrBiddZo7Wsf73p4', NULL, 2, 1, + '2020-10-08 09:06:21', '12345', 22, 'ifrBiddZo7Wsf73p4', 2, 1, '2020-10-08 09:06:21', '2020-10-08 09:06:21'), (125, '12432b57-0b50-4467-af36-ba8ec88ab156', '1293c11a-1b3e-47b8-a16e-ce0a8f055689', 0, - '2020-10-08 09:06:22', '12345', 22, 'bPSsHgRNm9vPsPdpk', NULL, 2, 1, + '2020-10-08 09:06:22', '12345', 22, 'bPSsHgRNm9vPsPdpk', 2, 1, '2020-10-08 09:06:22', '2020-10-08 09:06:22'), - (200, 'b35fe70d-e832-4c7d-9758-db9b049400c5', NULL, 0, NULL, '88214', 15, NULL, NULL, 0, 0, + (200, 'b35fe70d-e832-4c7d-9758-db9b049400c5', NULL, 0, NULL, '88214', 15, NULL, 0, 0, '2020-10-13 07:12:18', '2020-10-13 07:12:18'), - (201, '552d3f10-1b6d-47ee-aec5-b88fbf988f9e', NULL, 0, NULL, '88214', 15, NULL, NULL, 0, 0, + (201, '552d3f10-1b6d-47ee-aec5-b88fbf988f9e', NULL, 0, NULL, '88214', 15, NULL, 0, 0, '2020-10-14 06:08:46', '2020-10-14 06:08:46'), - (202, 'fd8d66e9-ca90-4dfa-872d-c4234752940d', NULL, 0, NULL, '88214', 15, NULL, NULL, 0, 0, + (202, 'fd8d66e9-ca90-4dfa-872d-c4234752940d', NULL, 0, NULL, '88214', 15, NULL, 0, 0, '2020-10-14 06:40:03', '2020-10-14 06:40:03'), - (300, '780ce9a1-cd81-43c7-9560-0ce843469039', NULL, 1, NULL, '88045', 121, NULL, NULL, 0, 1, + (300, '780ce9a1-cd81-43c7-9560-0ce843469039', NULL, 1, NULL, '88045', 121, NULL, 0, 1, '2020-10-20 11:03:25', '2020-10-20 11:03:25'), - (301, '7e87117b-83f5-4651-9649-fca51e038997', NULL, 1, NULL, '88045', 121, NULL, NULL, 0, 1, + (301, '7e87117b-83f5-4651-9649-fca51e038997', NULL, 1, NULL, '88045', 121, NULL, 0, 1, '2020-10-20 11:11:39', '2020-10-20 11:11:39'), - (400, 'd9b10dea-bebf-49da-8f2f-5ab986f9d1bf', NULL, 1, NULL, '88045', 121, NULL, NULL, 0, 1, + (400, 'd9b10dea-bebf-49da-8f2f-5ab986f9d1bf', NULL, 1, NULL, '88045', 121, NULL, 0, 1, '2020-10-20 11:42:36', '2020-10-20 11:42:36'), - (500, 'd7abe2c2-2e2d-48f2-a900-bc57d86bf3f7', NULL, 0, NULL, '88600', 84, NULL, NULL, 0, 0, + (500, 'd7abe2c2-2e2d-48f2-a900-bc57d86bf3f7', NULL, 0, NULL, '88600', 84, NULL, 0, 0, '2020-10-21 07:58:22', '2020-10-21 07:58:22'), (501, '68c87e38-fbf8-45c4-be20-745aecc89d3f', NULL, 0, '2020-10-21 07:59:13', '88900', 98, - 'pBTzJf5qGpikzYocA', NULL, 1, 0, '2020-10-21 07:59:04', '2020-10-21 07:59:13'), + 'pBTzJf5qGpikzYocA', 1, 0, '2020-10-21 07:59:04', '2020-10-21 07:59:13'), (700, '017cac2a-2086-47eb-9f8e-40547dfa2fd5', '45816eb6-984b-411f-a818-996cd16e1f2a', 1, - '2020-10-28 10:44:47', '88045', 121, 'NA3QQHx2kcqKzXmSk', 'Nk8PFjTMo6mauz79b', 2, 1, + '2020-10-28 10:44:47', '88045', 121, 'NA3QQHx2kcqKzXmSk', 2, 1, '2020-10-28 10:44:37', '2020-10-28 12:06:05'), - (800, '7197c296-b1d4-4731-9097-147e49883225', NULL, 0, NULL, '88690', 15, NULL, NULL, 0, 0, + (800, '7197c296-b1d4-4731-9097-147e49883225', NULL, 0, NULL, '88690', 15, NULL, 0, 0, '2020-11-04 07:13:15', '2020-11-04 07:13:15'), - (801, 'b4f7ff27-6be9-49ae-83a2-f8447dae5259', NULL, 1, NULL, '12345', 121, NULL, NULL, 0, 1, + (801, 'b4f7ff27-6be9-49ae-83a2-f8447dae5259', NULL, 1, NULL, '12345', 121, NULL, 0, 1, '2020-11-04 07:21:50', '2020-11-04 07:21:50'), (900, '9c4057d0-05ad-4e86-a47c-dc5bdeec03b9', 'bad14912-cf9f-4c16-9d0e-fe8ede9b60dc', 1, - '2020-11-04 09:18:33', '88045', 121, 'YWKxhFX5K2HPpsFbs', '9faSTWZ5gurHLXy4R', 2, 1, + '2020-11-04 09:18:33', '88045', 121, 'YWKxhFX5K2HPpsFbs', 2, 1, '2020-11-04 09:18:21', '2020-11-04 09:18:56'), (1000, 'fd639b0e-4e90-415e-9cd4-372781b71ce4', 'bad14912-cf9f-4c16-9d0e-fe8ede9b60dc', 1, - '2020-11-04 09:29:30', '88045', 121, 'eetw6QsBQTJWxHCEM', '4SPkApB8So88c7tQ3', 2, 1, + '2020-11-04 09:29:30', '88045', 121, 'eetw6QsBQTJWxHCEM', 2, 1, '2020-11-04 09:29:14', '2020-11-04 09:29:38'), (1100, '9c4057d0-05ad-4e86-a47c-dc5bdeec03b9', NULL, 6, '2020-11-04 14:50:33', '88600', 229, - 'mzAdWzQEobJ2PkoxP', NULL, 1, 0, '2020-11-04 14:50:03', '2020-11-04 14:50:33'), + 'mzAdWzQEobJ2PkoxP', 1, 0, '2020-11-04 14:50:03', '2020-11-04 14:50:33'), (1101, '9c4057d0-05ad-4e86-a47c-dc5bdeec03b9', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 9, - '2020-11-04 14:56:17', '00000', 639, 'Jn2fnQgSBACCv5pr7', NULL, 2, 1, + '2020-11-04 14:56:17', '00000', 639, 'Jn2fnQgSBACCv5pr7', 2, 1, '2020-11-04 14:56:08', '2020-11-04 14:57:28'), (1201, 'def9a0a1-c936-45ee-9141-d73dfc0a3888', NULL, 1, NULL, '12345', 121, - NULL, NULL, 0, 1, '2018-04-20 11:09:32', + NULL, 0, 1, '2018-04-20 11:09:32', '2018-04-20 11:09:32'), (1202, 'hki9a0a1-c936-45ee-9141-d73dfc0a3777', NULL, 1, NULL, '12345', 121, - NULL, NULL, 0, 1, '2018-02-05 11:09:32', + NULL, 0, 1, '2018-02-05 11:09:32', '2018-02-05 11:09:32'), (1203, 'hki9a0a1-c936-45ee-9141-d73dfc0a3777', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 9, - '2018-02-05 11:09:32', '00000', 639, 'Jn2fnQgSBACCv5pr7', NULL, 2, 1, + '2018-02-05 11:09:32', '00000', 639, 'Jn2fnQgSBACCv5pr7', 2, 1, '2018-02-05 11:09:32', '2018-02-05 11:09:32'), (1204, 'dlk9a0a1-c936-45ee-9141-d73dfc0a3666', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 9, - '2018-01-01 11:09:32', '00000', 639, 'Jn2fnQgSBACCv5pr7', NULL, 2, 1, + '2018-01-01 11:09:32', '00000', 639, 'Jn2fnQgSBACCv5pr7', 2, 1, '2018-01-01 11:09:32', '2018-01-01 11:09:32'), (1205, 'abc9a0a1-c936-45ee-9141-d73dfc0a3999', NULL, 1, NULL, '12345', 121, - NULL, NULL, 0, 1, '2018-05-01 09:04:32', '2018-05-01 09:04:32'), + NULL, 0, 1, '2018-05-01 09:04:32', '2018-05-01 09:04:32'), (1206, 'arb9a0a1-c936-45ee-9141-d73dfc0a3111', NULL, 1, NULL, '12345', 121, - NULL, NULL, 0, 1, '2019-02-02 09:04:32', '2019-02-02 09:04:32'), + NULL, 0, 1, '2019-02-02 09:04:32', '2019-02-02 09:04:32'), (1207, 'jurea0a1-c936-45ee-9141-d73dfc0a3000', NULL, 1, NULL, '12345', 121, - NULL, NULL, 0, 1, '2018-05-01 09:04:32', '2018-05-01 09:04:32'), + NULL, 0, 1, '2018-05-01 09:04:32', '2018-05-01 09:04:32'), (1208, 'jurea0a1-c936-45ee-9141-d73dfc0a3000', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 9, - '2020-02-05 11:09:32', '00000', 639, 'Jn2fnQgSBACCv5pr7', NULL, 2, 1, + '2020-02-05 11:09:32', '00000', 639, 'Jn2fnQgSBACCv5pr7', 2, 1, '2020-02-05 11:09:32', '2020-02-05 11:09:32'), (1209, '236b97bf-6cd7-434a-83f3-0a0b129dd45a', '75abe824-fb42-476d-a52a-66660113bdcc', 0, - '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', NULL, 4, 0, + '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', 4, 0, '2020-10-08 09:03:47', '2020-10-08 09:03:48'), (1210, '236b97bf-6cd7-434a-83f3-0a0b129dd45a', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 0, - '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', NULL, 4, 0, + '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', 4, 0, '2020-10-08 09:03:47', '2020-10-08 09:03:48'), (1211, '236b97bf-6cd7-434a-83f3-0a0b129dd45a', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 0, - '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', NULL, 4, 0, + '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', 4, 0, '2020-10-08 09:03:47', '2020-10-08 09:03:48'), (1212, '236b97bf-6cd7-434a-83f3-0a0b129dd45a', '34c3x5b1-0677-4fd2-a7ea-56a71aefd099', 0, - '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', NULL, 3, 0, + '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', 3, 0, '2020-10-08 09:03:47', '2020-10-08 09:03:48'), (1213, 'jurea0a1-c936-45ee-9141-d73dfc0a3000', '94c3e0b1-0677-4fd2-a7ea-56a71aefd0e8', 9, - '2020-02-05 11:09:32', '00000', 639, 'XJrRTzFg8Ac5BwE86', NULL, 1, 0, + '2020-02-05 11:09:32', '00000', 639, 'XJrRTzFg8Ac5BwE86', 1, 0, '2020-02-05 11:09:32', '2020-02-05 11:09:32'), (1214, '679b6688-2b2b-43ff-af7a-873d9be81523', '75abe824-fb42-476d-a52a-66660113bdcc', 0, - '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', NULL, 4, 0, + '2020-10-08 09:03:48', '12345', 0, 'DJrRTzFg8Ac2BqE8j', 4, 0, '2020-10-08 09:03:47', '2020-10-08 09:03:48'); INSERT INTO session (`id`, `user_id`, `consultant_id`, `consulting_type`, `message_date`, - `postcode`, `agency_id`, `rc_group_id`, `rc_feedback_group_id`, `status`, + `postcode`, `agency_id`, `rc_group_id`, `status`, `is_team_session`, `create_date`, `update_date`, `main_topic_id`, `user_age`, `user_gender`, `counselling_relation`) VALUES (1200, '06c6601f-a5b4-4812-9260-20065390b1f5', NULL, 1, '2020-11-05 14:18:16', '12345', 121, - 'ix7E7HzXKTgGeQMyb', 'EQBcSwxn4eCAPYQ2J', 1, 1, '2020-11-05 14:17:34', + 'ix7E7HzXKTgGeQMyb', 1, 1, '2020-11-05 14:17:34', '2020-11-05 14:18:16', 1, 15, 'FEMALE', 'SELF_COUNSELLING'), (1215, '1da238c6-cd46-4162-80f1-bff74eafe77f', '34c3x5b1-0677-4fd2-a7ea-56a71aefd099', 0, - '2020-10-08 09:03:45', '12345', 1, 'DJrRTzFg8Ac2BqE8j', 'E6FohkNfEDPY9bRXc', 2, 0, + '2020-10-08 09:03:45', '12345', 1, 'DJrRTzFg8Ac2BqE8j', 2, 0, '2020-10-08 09:03:45', '2020-10-08 09:03:45', 1, 25, 'MALE', 'SELF_COUNSELLING'), (1216, '06c6601f-a5b4-4812-9260-20065390b1f5', '473f7c4b-f011-4fc2-847c-ceb636a5b399', 1, - '2020-11-05 14:18:16', '12345', 121, 'ix7E7HzXKTgGeQMyb', 'EQBcSwxn4eCAPYQ2J', 1, 1, + '2020-11-05 14:18:16', '12345', 121, 'ix7E7HzXKTgGeQMyb', 1, 1, '2020-11-05 14:17:34', '2020-11-05 14:18:16', 1, 15, 'FEMALE', 'SELF_COUNSELLING'); @@ -1669,4 +1669,4 @@ VALUES (1, 'd42c2e5e-143c-4db1-a90f-7cccf82fbb15', 1, '2022-05-16 21:25:20', '20 (99, 'a63051b4-dd05-4635-8734-62c612c21739', 99, '2022-07-31 20:54:18', '2022-08-05 02:28:56'), (100, 'b4fd870e-95cb-4b5c-9d24-99757d220a72', 100, '2022-05-13 05:23:09', - '2022-02-26 01:18:38'); \ No newline at end of file + '2022-02-26 01:18:38'); From d579fa51a3314d86143ad2c870f0c332bbac10c3 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 31 Jul 2024 13:37:12 +0200 Subject: [PATCH 18/64] CARITAS-243 - fix tests --- .../web/controller/UserControllerE2EIT.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java index 79da99b59..6013786d7 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java @@ -362,11 +362,9 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faByAppIsActive() "emailToggles[*].name", containsInAnyOrder( "DAILY_ENQUIRY", - "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER", - "NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER"))) + "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) .andExpect(jsonPath("emailToggles[0].state", is(true))) .andExpect(jsonPath("emailToggles[1].state", is(true))) - .andExpect(jsonPath("emailToggles[2].state", is(true))) .andExpect(jsonPath("inTeamAgency", is(consultant.isTeamConsultant()))); } @@ -484,11 +482,9 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faByEmailIsActive "emailToggles[*].name", containsInAnyOrder( "DAILY_ENQUIRY", - "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER", - "NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER"))) + "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) .andExpect(jsonPath("emailToggles[0].state", is(true))) .andExpect(jsonPath("emailToggles[1].state", is(true))) - .andExpect(jsonPath("emailToggles[2].state", is(true))) .andExpect(jsonPath("inTeamAgency", is(consultant.isTeamConsultant()))); } @@ -759,11 +755,9 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faIsNotActivated( "emailToggles[*].name", containsInAnyOrder( "DAILY_ENQUIRY", - "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER", - "NEW_FEEDBACK_MESSAGE_FROM_ADVICE_SEEKER"))) + "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) .andExpect(jsonPath("emailToggles[0].state", is(true))) .andExpect(jsonPath("emailToggles[1].state", is(true))) - .andExpect(jsonPath("emailToggles[2].state", is(true))) .andExpect(jsonPath("inTeamAgency", is(consultant.isTeamConsultant()))) .andExpect(jsonPath("emailNotifications.emailNotificationsEnabled", is(true))) .andExpect(jsonPath("emailNotifications.settings", is(notNullValue()))) @@ -861,7 +855,7 @@ void getUserDataShouldContainSetFlags() throws Exception { .andExpect( jsonPath( "emailToggles[?(@.name =~ /NEW_.*_MESSAGE_FROM_ADVICE_SEEKER/)].state", - is(List.of(true, true)))) + is(List.of(true)))) .andExpect(jsonPath("e2eEncryptionEnabled", is(true))) .andExpect(jsonPath("isDisplayNameEditable", is(true))); } @@ -892,7 +886,7 @@ void getUserDataShouldContainDisabledFollowUpEmails() throws Exception { .andExpect( jsonPath( "emailToggles[?(@.name =~ /NEW_.*_MESSAGE_FROM_ADVICE_SEEKER/)].state", - is(List.of(false, false)))); + is(List.of(false)))); } @Test From 22f22ef04c9dd0aef5454c4bbefa5e51acd19794 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 31 Jul 2024 14:17:04 +0200 Subject: [PATCH 19/64] CARITAS-243 - run spotless:apply --- .../adapters/web/controller/UserControllerE2EIT.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java index 6013786d7..9c7d309ab 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerE2EIT.java @@ -360,9 +360,7 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faByAppIsActive() .andExpect( jsonPath( "emailToggles[*].name", - containsInAnyOrder( - "DAILY_ENQUIRY", - "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) + containsInAnyOrder("DAILY_ENQUIRY", "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) .andExpect(jsonPath("emailToggles[0].state", is(true))) .andExpect(jsonPath("emailToggles[1].state", is(true))) .andExpect(jsonPath("inTeamAgency", is(consultant.isTeamConsultant()))); @@ -480,9 +478,7 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faByEmailIsActive .andExpect( jsonPath( "emailToggles[*].name", - containsInAnyOrder( - "DAILY_ENQUIRY", - "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) + containsInAnyOrder("DAILY_ENQUIRY", "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) .andExpect(jsonPath("emailToggles[0].state", is(true))) .andExpect(jsonPath("emailToggles[1].state", is(true))) .andExpect(jsonPath("inTeamAgency", is(consultant.isTeamConsultant()))); @@ -753,9 +749,7 @@ void getUserDataShouldRespondWithConsultantDataAndStatusOkWhen2faIsNotActivated( .andExpect( jsonPath( "emailToggles[*].name", - containsInAnyOrder( - "DAILY_ENQUIRY", - "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) + containsInAnyOrder("DAILY_ENQUIRY", "NEW_CHAT_MESSAGE_FROM_ADVICE_SEEKER"))) .andExpect(jsonPath("emailToggles[0].state", is(true))) .andExpect(jsonPath("emailToggles[1].state", is(true))) .andExpect(jsonPath("inTeamAgency", is(consultant.isTeamConsultant()))) From 1dab09fe9ba752bb946076f5e6d0346161076ee0 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Thu, 1 Aug 2024 12:01:20 +0200 Subject: [PATCH 20/64] CARITAS-243 - tests fixing --- .../web/controller/UserControllerIT.java | 3 +++ .../UserControllerSessionE2EIT.java | 22 +++++-------------- .../ConsultingTypeManagerTestConfig.java | 1 + 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java index d856ec736..ccd19474b 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java @@ -24,6 +24,7 @@ import de.caritas.cob.userservice.api.adapters.web.dto.validation.MandatoryFieldsProvider; import de.caritas.cob.userservice.api.adapters.web.mapping.ConsultantDtoMapper; import de.caritas.cob.userservice.api.adapters.web.mapping.UserDtoMapper; +import de.caritas.cob.userservice.api.admin.facade.AdminUserFacade; import de.caritas.cob.userservice.api.admin.service.consultant.update.ConsultantUpdateService; import de.caritas.cob.userservice.api.config.VideoChatConfig; import de.caritas.cob.userservice.api.config.auth.Authority; @@ -339,6 +340,8 @@ class UserControllerIT { @SuppressWarnings("unused") private VideoChatConfig videoChatConfig; + @MockBean private AdminUserFacade adminUserFacade; + @MockBean private SessionDeleteService sessionDeleteService; @Mock private Logger logger; diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java index af56c3148..a70183c07 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java @@ -646,20 +646,12 @@ void getSessionsForGroupIdsShouldFindSessionsByGroupConsultant() throws Exceptio .andExpect(jsonPath("sessions[0].consultant.firstName", is("Manfred"))) .andExpect(jsonPath("sessions[0].consultant.lastName", is("Main"))) .andExpect(jsonPath("sessions[0].consultant.username").doesNotExist()) - .andExpect(jsonPath("sessions[1].session.feedbackGroupId", is("4SPkApB8So88c7tQ3"))) - .andExpect(jsonPath("sessions[1].session.feedbackRead", is(true))) - .andExpect(jsonPath("sessions[1].user.username", is("u25depp"))) - .andExpect( - jsonPath("sessions[1].consultant.id", is("bad14912-cf9f-4c16-9d0e-fe8ede9b60dc"))) - .andExpect(jsonPath("sessions[1].consultant.firstName", is("Manfred"))) - .andExpect(jsonPath("sessions[1].consultant.lastName", is("Main"))) - .andExpect(jsonPath("sessions[1].consultant.username").doesNotExist()) - .andExpect(jsonPath("sessions", hasSize(2))); + .andExpect(jsonPath("sessions", hasSize(1))); } @Test @WithMockUser(authorities = {AuthorityValue.USER_DEFAULT}) - void getSessionsForGroupOrFeedbackGroupIdsShouldFindSessionByGroupId() throws Exception { + void getSessionsForGroupIdsShouldFindSessionByGroupId() throws Exception { givenAUserWithSessions(); givenNoRocketChatSubscriptionUpdates(); givenNoRocketChatRoomUpdates(); @@ -679,8 +671,7 @@ void getSessionsForGroupOrFeedbackGroupIdsShouldFindSessionByGroupId() throws Ex @Test @WithMockUser(authorities = {AuthorityValue.USER_DEFAULT}) - void getSessionsForGroupOrFeedbackGroupIdsShouldContainConsultantOfUserSession() - throws Exception { + void getSessionsForGroupIdsShouldContainConsultantOfUserSession() throws Exception { givenAUserWithSessions(); givenNoRocketChatSubscriptionUpdates(); givenNoRocketChatRoomUpdates(); @@ -706,7 +697,7 @@ void getSessionsForGroupOrFeedbackGroupIdsShouldContainConsultantOfUserSession() @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) @ValueSource(strings = {"QBv2xym9qQ2DoAxkR", "doesNotExist", "mzAdWzQEobJ2PkoxP"}) void - getSessionsForGroupOrFeedbackGroupIdsShouldBeNoContentIfConsultantDoesNotParticipateInSessionOrNoSessionsFoundForIdsOrNewEnquiriesForConsultantsNotInAgency( + getSessionsForGroupIdsShouldBeNoContentIfConsultantDoesNotParticipateInSessionOrNoSessionsFoundForIdsOrNewEnquiriesForConsultantsNotInAgency( String rcGroupId) throws Exception { givenAConsultantWithSessions(); givenNoRocketChatSubscriptionUpdates(); @@ -724,9 +715,8 @@ void getSessionsForGroupOrFeedbackGroupIdsShouldContainConsultantOfUserSession() @Test @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT}) - void - getSessionsForGroupOrFeedbackGroupIdsShouldReturnSessionsForNewEnquiriesOfConsultantInAgency() - throws Exception { + void getSessionsForGroupIdsShouldReturnSessionsForNewEnquiriesOfConsultantInAgency() + throws Exception { givenAConsultantWithSessionsOfNewEnquiries(); givenNoRocketChatSubscriptionUpdates(); givenNoRocketChatRoomUpdates(); diff --git a/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java b/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java index 40677d7e7..1b4784347 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java +++ b/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java @@ -31,6 +31,7 @@ public ExtendedConsultingTypeResponseDTO getConsultingTypeSettings(int consultin private ExtendedConsultingTypeResponseDTO createDummy(Integer consultingTypeId) { var dummy = new EasyRandom().nextObject(ExtendedConsultingTypeResponseDTO.class); + dummy.welcomeMessage(null); if (initializeFeedbackChat.isPresent()) { dummy.initializeFeedbackChat(false); } From 3ceb330dd45f0791a31d94ae59dde0e3b756343d Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Thu, 1 Aug 2024 12:53:20 +0200 Subject: [PATCH 21/64] CARITAS-243 - tests fixing --- .../UnauthorizedMembersProvider.java | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java index 0914357a1..2b3080f96 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProvider.java @@ -1,6 +1,5 @@ package de.caritas.cob.userservice.api.facade.assignsession; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static java.util.Objects.nonNull; import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentialsProvider; @@ -9,12 +8,10 @@ import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatUserNotInitializedException; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; -import de.caritas.cob.userservice.api.port.out.IdentityClient; import de.caritas.cob.userservice.api.service.ConsultantService; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.function.Predicate; import java.util.stream.Collectors; import javax.transaction.Transactional; import lombok.NonNull; @@ -32,7 +29,6 @@ public class UnauthorizedMembersProvider { private final @NonNull ConsultantService consultantService; private final @NonNull RocketChatCredentialsProvider rocketChatCredentialsProvider; - private final @NonNull IdentityClient identityClient; /** * Obtains a list of {@link Consultant}s which are not authorized to view the given Rocket.Chat @@ -102,8 +98,6 @@ private void addTeamConsultantsIfNecessary( List consultantsOfAgency = consultantService.findConsultantsByAgencyId(session.getAgencyId()); addTeamConsultantsIfTeamSession(session, authorizedMembers, consultantsOfAgency); - addMainConsultantsIfFeedbackTeamSession( - rcGroupId, session, authorizedMembers, consultantsOfAgency); } private void addTeamConsultantsIfTeamSession( @@ -118,28 +112,4 @@ private void addTeamConsultantsIfTeamSession( .forEach(authorizedMembers::add); } } - - private void addMainConsultantsIfFeedbackTeamSession( - String rcGroupId, - Session session, - List authorizedMembers, - List consultantsOfAgency) { - if (rcGroupId.equalsIgnoreCase(session.getGroupId())) - obtainMainConsultantsOfGroup( - authorizedMembers, consultantsOfAgency, this::hasAuthorityToViewPeerGroups); - } - - private void obtainMainConsultantsOfGroup( - List authorizedMembers, - List consultantsOfAgency, - Predicate authorityMethod) { - consultantsOfAgency.stream() - .filter(authorityMethod) - .map(Consultant::getRocketChatId) - .forEach(authorizedMembers::add); - } - - private boolean hasAuthorityToViewPeerGroups(Consultant consultant) { - return identityClient.userHasAuthority(consultant.getId(), VIEW_ALL_PEER_SESSIONS); - } } From 0e79765b47769fcded404206c127779f4e61fd45 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Thu, 1 Aug 2024 13:31:55 +0200 Subject: [PATCH 22/64] CARITAS-243 - tests fixing --- ...singRocketChatRoomForConsultantViolationReportRule.java | 7 ------- ...RocketChatRoomForConsultantViolationReportRuleTest.java | 3 ++- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRule.java b/src/main/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRule.java index 044d9e9ac..b67112815 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRule.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRule.java @@ -84,17 +84,10 @@ private String buildPossibleViolationMessage( if (isGroupMissing(session.getGroupId(), rocketChatRoomsOfUser)) { violationMessage += "Missing room with id " + session.getGroupId() + " in rocket chat"; } - if (isRoomMissing(session, rocketChatRoomsOfUser)) { - violationMessage += " and "; - } return violationMessage; } private boolean isGroupMissing(String groupId, List rocketChatRooms) { return isNotBlank(groupId) && !rocketChatRooms.contains(groupId); } - - private boolean isRoomMissing(Session session, List rocketChatRoomsOfUser) { - return isGroupMissing(session.getGroupId(), rocketChatRoomsOfUser); - } } diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java index 1ec54680e..22de88e0e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java @@ -67,7 +67,8 @@ void generateViolations_Should_returnExpectedViolation_When_oneViolatedSessionEx assertThat(resultViolation.getIdentifier(), is(violatedSession.getConsultant().getId())); assertThat(resultViolation.getViolationType(), is(CONSULTANT)); assertThat( - resultViolation.getReason(), is("Missing room with id " + violatedSession.getGroupId())); + resultViolation.getReason(), + is("Missing room with id " + violatedSession.getGroupId() + " in rocket chat")); } @Test From 799313e46a1c58d2f224b40ffa9f5537edd117b3 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Thu, 1 Aug 2024 13:56:12 +0200 Subject: [PATCH 23/64] CARITAS-243 - tests fixing --- ...ingRocketChatRoomForConsultantViolationReportRuleTest.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java index 22de88e0e..0c7d1e282 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/report/rule/MissingRocketChatRoomForConsultantViolationReportRuleTest.java @@ -79,9 +79,7 @@ void generateViolations_Should_returnExpectedViolation_When_oneViolatedSessionEx violatedConsultant.setSessions(singleton(violatedSession)); UserInfoResponseDTO userInfoResponseDTO = new EasyRandom().nextObject(UserInfoResponseDTO.class); - userInfoResponseDTO - .getUser() - .setRooms(singletonList(new UserRoomDTO(violatedSession.getGroupId()))); + userInfoResponseDTO.getUser().setRooms(singletonList(new UserRoomDTO("A"))); when(this.consultantRepository.findAll()).thenReturn(singletonList(violatedConsultant)); when(this.sessionRepository.findByConsultantAndStatus(any(), any())) From aac65bcc262a61dd0914468131f84721afe2865b Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Thu, 1 Aug 2024 15:33:55 +0200 Subject: [PATCH 24/64] CARITAS-243 - tests fixing --- ...ketChatAddToGroupOperationServiceTest.java | 2 +- ...ketChatOperationConditionProviderTest.java | 23 ++++--------------- ...atRemoveFromGroupOperationServiceTest.java | 1 - 3 files changed, 5 insertions(+), 21 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java index e3d2d3eac..05255791c 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatAddToGroupOperationServiceTest.java @@ -56,7 +56,7 @@ void addToGroupsOrRollbackOnFailure_Should_performRocketChatGroupActions_When_pa verify(this.rocketChatFacade, times(1)) .addUserToRocketChatGroup(eq(consultant.getRocketChatId()), eq(session.getGroupId())); - verify(logMethod, times(2)).accept(anyString()); + verify(logMethod, times(1)).accept(anyString()); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java index 41f794ff8..ac237dedb 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProviderTest.java @@ -4,13 +4,14 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTING_TYPE_SETTINGS_U25; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; +import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.SessionStatus; +import de.caritas.cob.userservice.api.port.out.IdentityClient; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -25,6 +26,8 @@ class RocketChatOperationConditionProviderTest { @Mock private KeycloakService keycloakService; @Mock private Session session; + @Mock private Consultant consultant; + @Mock private IdentityClient identityClient; @Mock private ConsultingTypeManager consultingTypeManager; @@ -70,8 +73,6 @@ void canAddToRocketChatGroup_Should_returnTrue_When_sessionIsATeamSession() { when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); when(this.session.isTeamSession()).thenReturn(true); when(this.session.getConsultingTypeId()).thenReturn(1); - when(this.keycloakService.userHasAuthority(any(), any())).thenReturn(false); - when(this.keycloakService.userHasRole(any(), any())).thenReturn(true); when(this.consultingTypeManager.getConsultingTypeSettings(1)) .thenReturn(CONSULTING_TYPE_SETTINGS_U25); @@ -98,20 +99,4 @@ void canAddToRocketChatGroup_Should_returnFalse_When_sessionIsInProgressButNoTea assertThat(result, is(false)); } - - @Test - void - canAddToRocketChatGroup_Should_returnFalse_When_sessionIsATeamSessionAndConsultingTypeIsU25AndConsultantHasNoAuthorityAndNoRole() { - when(this.session.getStatus()).thenReturn(SessionStatus.IN_PROGRESS); - when(this.session.isTeamSession()).thenReturn(true); - when(this.session.getConsultingTypeId()).thenReturn(1); - when(this.keycloakService.userHasAuthority(any(), any())).thenReturn(false); - when(this.keycloakService.userHasRole(any(), any())).thenReturn(false); - when(this.consultingTypeManager.getConsultingTypeSettings(1)) - .thenReturn(CONSULTING_TYPE_SETTINGS_U25); - - boolean result = this.conditionProvider.canAddToRocketChatGroup(); - - assertThat(result, is(false)); - } } diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java index 5de2f12c2..b4d2ab674 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java @@ -73,7 +73,6 @@ void removeFromGroupsOrRollbackOnFailure_Should_executeRemove_When_rcUserIdIsGiv this.removeService.removeFromGroupsOrRollbackOnFailure(); verify(this.rocketChatFacade, times(1)).removeUserFromGroup("rcId", "group"); - verify(this.rocketChatFacade, times(1)).removeUserFromGroup("rcId", "feedback"); } @Test From 62bce63198db47b573953f7555f0d4e66fcf7d38 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 11:37:13 +0200 Subject: [PATCH 25/64] CARITAS-243 - tests fixing --- .../facade/assignsession/AssignEnquiryFacadeTest.java | 4 ++++ .../facade/assignsession/AssignSessionFacadeTest.java | 9 +++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java index fdd22aad0..18b7df1a0 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java @@ -37,9 +37,11 @@ import de.caritas.cob.userservice.api.model.Session.SessionStatus; import de.caritas.cob.userservice.api.service.LogService; import de.caritas.cob.userservice.api.service.session.SessionService; +import de.caritas.cob.userservice.api.service.statistics.StatisticsService; import de.caritas.cob.userservice.api.tenant.TenantContext; import de.caritas.cob.userservice.api.tenant.TenantContextProvider; import java.util.List; +import javax.servlet.http.HttpServletRequest; import org.jeasy.random.EasyRandom; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -71,6 +73,8 @@ class AssignEnquiryFacadeTest { @Mock Logger logger; @Mock UnauthorizedMembersProvider unauthorizedMembersProvider; @Mock TenantContextProvider tenantContextProvider; + @Mock StatisticsService statisticsService; + @Mock HttpServletRequest httpServletRequest; @BeforeEach public void setup() { diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index de2d0c4fe..019daa4f1 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -31,6 +31,7 @@ import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.model.Session.RegistrationType; import de.caritas.cob.userservice.api.model.Session.SessionStatus; +import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.service.statistics.StatisticsService; import de.caritas.cob.userservice.api.service.statistics.event.AssignSessionStatisticsEvent; import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; @@ -55,6 +56,8 @@ class AssignSessionFacadeTest { @Mock RocketChatFacade rocketChatFacade; @Mock ConsultingTypeManager consultingTypeManager; + @Mock SessionService sessionService; + @Mock @SuppressWarnings("unused") KeycloakService keycloakService; @@ -94,8 +97,6 @@ void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSes ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = new ExtendedConsultingTypeResponseDTO(); extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - when(consultingTypeManager.getConsultingTypeSettings(anyInt())) - .thenReturn(extendedConsultingTypeResponseDTO); var consultantToKeep = easyRandom.nextObject(Consultant.class); assignSessionFacade.assignSession(session, consultant, consultantToKeep); @@ -198,8 +199,6 @@ void assignSession_Should_FireAssignSessionStatisticsEvent() { ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = new ExtendedConsultingTypeResponseDTO(); extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - when(consultingTypeManager.getConsultingTypeSettings(anyInt())) - .thenReturn(extendedConsultingTypeResponseDTO); when(httpServletRequest.getRequestURI()).thenReturn(RandomStringUtils.randomAlphanumeric(32)); when(httpServletRequest.getHeader("Referer")) .thenReturn(RandomStringUtils.randomAlphanumeric(32)); @@ -246,8 +245,6 @@ void assignSession_Should_FireAssignSessionStatisticsEventWithoutOptionalArgs() when(authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); var extendedConsultingTypeResponseDTO = new ExtendedConsultingTypeResponseDTO(); extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - when(consultingTypeManager.getConsultingTypeSettings(anyInt())) - .thenReturn(extendedConsultingTypeResponseDTO); assignSessionFacade.assignSession(session, consultant, CONSULTANT); From 2746bf5d1cfd1056e69bbbbd039caf06ed99c0c9 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 11:38:45 +0200 Subject: [PATCH 26/64] CARITAS-243 - tests fixing --- .../api/facade/assignsession/AssignSessionFacadeTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index 019daa4f1..6db9affde 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -149,8 +149,6 @@ void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = new ExtendedConsultingTypeResponseDTO(); extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - when(consultingTypeManager.getConsultingTypeSettings(anyInt())) - .thenReturn(extendedConsultingTypeResponseDTO); var consultantToKeep = easyRandom.nextObject(Consultant.class); assignSessionFacade.assignSession(session, consultant, consultantToKeep); From ceb1efe26184aaf25964480579ec41a97885830b Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 12:00:13 +0200 Subject: [PATCH 27/64] CARITAS-243 - tests fixing --- .../AssignSessionFacadeTest.java | 1 - ...RocketChatRoomInformationProviderTest.java | 3 + .../api/testHelper/TestConstants.java | 55 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index 6db9affde..3f508f279 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -10,7 +10,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.atLeastOnce; diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java index bd5766380..0fecf6571 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/sessionlist/RocketChatRoomInformationProviderTest.java @@ -7,6 +7,7 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_GROUP_ID_3; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROOMS_LAST_MESSAGE_DTO_MAP; import static de.caritas.cob.userservice.api.testHelper.TestConstants.ROOMS_UPDATE_DTO_LIST; +import static de.caritas.cob.userservice.api.testHelper.TestConstants.SUBSCRIPTIONS_UPDATE_LIST_DTO; import static de.caritas.cob.userservice.api.testHelper.TestConstants.USERS_ROOMS_LIST; import static de.caritas.cob.userservice.api.testHelper.TestConstants.USER_DTO_3; import static org.junit.jupiter.api.Assertions.*; @@ -35,6 +36,8 @@ class RocketChatRoomInformationProviderTest { @Test void retrieveRocketChatInformation_Should_Return_CorrectMessagesReadMap() { + when(rocketChatService.getSubscriptionsOfUser(RC_CREDENTIALS)) + .thenReturn(SUBSCRIPTIONS_UPDATE_LIST_DTO); RocketChatRoomInformation rocketChatRoomInformation = rocketChatRoomInformationProvider.retrieveRocketChatInformation(RC_CREDENTIALS); diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index b55fe254c..2fddf1eb7 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -17,6 +17,7 @@ import de.caritas.cob.userservice.api.adapters.rocketchat.dto.message.attachment.FileDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.room.RoomsLastMessageDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.room.RoomsUpdateDTO; +import de.caritas.cob.userservice.api.adapters.rocketchat.dto.subscriptions.SubscriptionsUpdateDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.user.RocketChatUserDTO; import de.caritas.cob.userservice.api.adapters.rocketchat.dto.user.UserInfoResponseDTO; import de.caritas.cob.userservice.api.adapters.web.dto.AbsenceDTO; @@ -168,6 +169,60 @@ public class TestConstants { new ResponseEntity<>(LOGIN_RESPONSE_DTO, HttpStatus.OK); public static final ResponseEntity LOGIN_RESPONSE_ENTITY_OK_NO_TOKEN = new ResponseEntity<>(LOGIN_RESPONSE_DTO_NO_TOKEN, HttpStatus.OK); + + public static final List SUBSCRIPTIONS_UPDATE_LIST_DTO = + Arrays.asList( + new SubscriptionsUpdateDTO( + "A", + true, + false, + 0, + 0, + 0, + NOW, + RC_GROUP_ID, + "A", + "A", + "P", + null, + null, + null, + null, + null), + new SubscriptionsUpdateDTO( + "A", + true, + false, + 0, + 0, + 0, + NOW, + RC_GROUP_ID_2, + "A", + "A", + "P", + null, + null, + null, + null, + null), + new SubscriptionsUpdateDTO( + "A", + true, + false, + 0, + 0, + 0, + NOW, + RC_GROUP_ID_3, + "A", + "A", + "P", + null, + null, + null, + null, + null)); /** Rocket.Chat credentials */ public static final String TECHNICAL_USER_A_USERNAME = "techUserAName"; From 84cc67f833037e74011172d6f5b17fc77c4716e5 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 12:15:06 +0200 Subject: [PATCH 28/64] CARITAS-243 - tests fixing --- .../userservice/api/facade/EmailNotificationFacade.java | 3 +++ .../api/facade/EmailNotificationFacadeTest.java | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java index 22e9d9494..fa0b1e188 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacade.java @@ -55,6 +55,9 @@ public class EmailNotificationFacade { @Value("${app.base.url}") private String applicationBaseUrl; + @Value("${rocket.systemuser.id}") + private String rocketChatSystemUserId; + private final @NonNull MailService mailService; private final @NonNull SessionService sessionService; private final @NonNull ConsultantAgencyService consultantAgencyService; diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java index faa44f7ff..4e62b5688 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/EmailNotificationFacadeTest.java @@ -36,6 +36,7 @@ import com.google.api.client.util.Lists; import com.neovisionaries.i18n.LanguageCode; import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; +import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; import de.caritas.cob.userservice.api.adapters.web.dto.NotificationsSettingsDTO; import de.caritas.cob.userservice.api.adapters.web.dto.ReassignmentNotificationDTO; import de.caritas.cob.userservice.api.config.auth.UserRole; @@ -58,8 +59,8 @@ import de.caritas.cob.userservice.api.service.emailsupplier.AssignEnquiryEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewDirectEnquiryEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewEnquiryEmailSupplier; -import de.caritas.cob.userservice.api.service.emailsupplier.NewFeedbackEmailSupplier; import de.caritas.cob.userservice.api.service.emailsupplier.NewMessageEmailSupplier; +import de.caritas.cob.userservice.api.service.emailsupplier.TenantTemplateSupplier; import de.caritas.cob.userservice.api.service.helper.MailService; import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.tenant.TenantContext; @@ -322,7 +323,6 @@ class EmailNotificationFacadeTest { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(NOTIFICATIONS_DTO_TO_ALL_TEAM_CONSULTANTS) .languageFormal(false) .roles(null) @@ -338,7 +338,6 @@ class EmailNotificationFacadeTest { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(NOTIFICATIONS_DTO_TO_ASSIGNED_CONSULTANT_ONLY) .languageFormal(false) .roles(null) @@ -361,6 +360,8 @@ class EmailNotificationFacadeTest { @Mock ConsultingTypeManager consultingTypeManager; @Mock IdentityClientConfig identityClientConfig; @Mock ReleaseToggleService releaseToggleService; + @Mock RocketChatService messageClient; + @Mock TenantTemplateSupplier tenantTemplateSupplier; @Mock @SuppressWarnings("unused") @@ -379,7 +380,6 @@ void setup() throws SecurityException { assignEnquiryEmailSupplier, "consultantService", consultantService); setInternalState(EmailNotificationFacade.class, "log", logger); setInternalState(AssignEnquiryEmailSupplier.class, "log", logger); - setInternalState(NewFeedbackEmailSupplier.class, "log", logger); setInternalState(NewMessageEmailSupplier.class, "log", logger); when(releaseToggleService.isToggleEnabled(ReleaseToggle.NEW_EMAIL_NOTIFICATIONS)) .thenReturn(false); From 514dd9aa47b85e119d5d8b998131b819aa96b7d7 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 13:32:37 +0200 Subject: [PATCH 29/64] CARITAS-243 - tests fixing --- .../api/facade/CreateEnquiryMessageFacadeTest.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index 8bee7a090..0efcd5b8e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -704,7 +704,7 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful when(rocketChatRoomNameGenerator.generateGroupName(any(Session.class))) .thenReturn(session.getId().toString()); when(rocketChatService.createPrivateGroup(anyString(), any())) - .thenReturn(Optional.of(groupResponseDTO)); + .thenThrow(RocketChatCreateGroupException.class); createEnquiryMessageFacade.createEnquiryMessage( new EnquiryData(user, SESSION_ID, MESSAGE, null, rocketChatCredentials)); @@ -739,6 +739,9 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful .thenReturn(session.getId().toString()); when(rocketChatService.createPrivateGroup(anyString(), any())) .thenReturn(Optional.of(groupResponseDTO)); + doThrow(IllegalArgumentException.class) + .when(userService) + .updateRocketChatIdInDatabase(any(), anyString()); createEnquiryMessageFacade.createEnquiryMessage( new EnquiryData(user, SESSION_ID, MESSAGE, null, rocketChatCredentials)); @@ -772,6 +775,7 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOf .thenReturn(session.getId().toString()); when(rocketChatService.createPrivateGroup(Mockito.anyString(), any())) .thenReturn(Optional.of(groupResponseDTO)); + when(sessionService.saveSession(any())).thenThrow(InternalServerErrorException.class); createEnquiryMessageFacade.createEnquiryMessage( new EnquiryData(user, SESSION_ID, MESSAGE, null, rocketChatCredentials)); resetRequestAttributes(); From 5478732880fd5ebaa7323946f0821436e776f2cb Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 14:53:47 +0200 Subject: [PATCH 30/64] CARITAS-243 - tests fixing --- .../CreateEnquiryMessageFacadeTest.java | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index 0efcd5b8e..fefc79d96 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -764,7 +764,6 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOf groupResponseDTO.setGroup(groupDTO); rocketChatCredentials.setRocketChatUserId(RC_USER_ID); rocketChatCredentials.setRocketChatUsername(RC_USERNAME); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(session)); when(consultingTypeManager.getConsultingTypeSettings(session.getConsultingTypeId())) @@ -782,42 +781,6 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOf }); } - @Test - void - createEnquiryMessage_Should_ThrowInternalServerErrorException_When_PrivateGroupWithSystemUserIsNotPresent() { - assertThrows( - InternalServerErrorException.class, - () -> { - session.setUser(user); - session.setConsultingTypeId(0); - session.setConsultant(null); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); - rocketChatUserDTO.setUsername(USERNAME); - userInfoResponseDTO.setUser(rocketChatUserDTO); - groupDTO.setId(RC_GROUP_ID); - groupResponseDTO.setSuccess(true); - groupResponseDTO.setGroup(groupDTO); - rocketChatCredentials.setRocketChatUserId(RC_USER_ID); - rocketChatCredentials.setRocketChatUsername(RC_USERNAME); - - when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(session)); - when(consultingTypeManager.getConsultingTypeSettings(session.getConsultingTypeId())) - .thenReturn(extendedConsultingTypeResponseDTO); - when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(userInfoResponseDTO); - when(userHelper.doUsernamesMatch(anyString(), anyString())).thenReturn(true); - when(rocketChatRoomNameGenerator.generateGroupName(any(Session.class))) - .thenReturn(session.getId().toString()); - when(rocketChatService.createPrivateGroup(anyString(), any())) - .thenReturn(Optional.of(groupResponseDTO)); - when(rocketChatService.createPrivateGroupWithSystemUser(any())) - .thenReturn(Optional.empty()); - - createEnquiryMessageFacade.createEnquiryMessage( - new EnquiryData(user, SESSION_ID, MESSAGE, null, rocketChatCredentials)); - resetRequestAttributes(); - }); - } - @Test void createEnquiryMessage_Should_DeleteRcGroup_WhenAddSystemUserToGroupFails() { From 9c3634693c5cd4deee172758bc6b07beb18f840c Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 2 Aug 2024 16:04:04 +0200 Subject: [PATCH 31/64] CARITAS-243 - tests fixing and remove NewFeedbackEmailSupplier.java --- .../NewFeedbackEmailSupplier.java | 181 -------- .../NewFeedbackEmailSupplierTest.java | 426 ------------------ .../service/session/SessionServiceTest.java | 2 + 3 files changed, 2 insertions(+), 607 deletions(-) delete mode 100644 src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java delete mode 100644 src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java diff --git a/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java b/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java deleted file mode 100644 index cc456c549..000000000 --- a/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplier.java +++ /dev/null @@ -1,181 +0,0 @@ -package de.caritas.cob.userservice.api.service.emailsupplier; - -import static java.util.Arrays.asList; -import static java.util.Collections.emptyList; -import static java.util.Objects.nonNull; -import static org.apache.commons.collections4.CollectionUtils.isNotEmpty; -import static org.apache.commons.lang3.StringUtils.isNotBlank; - -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; -import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; -import de.caritas.cob.userservice.api.config.auth.UserRole; -import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatGetGroupMembersException; -import de.caritas.cob.userservice.api.helper.UsernameTranscoder; -import de.caritas.cob.userservice.api.model.Consultant; -import de.caritas.cob.userservice.api.model.Session; -import de.caritas.cob.userservice.api.port.out.IdentityClient; -import de.caritas.cob.userservice.api.service.ConsultantService; -import de.caritas.cob.userservice.mailservice.generated.web.model.MailDTO; -import de.caritas.cob.userservice.mailservice.generated.web.model.TemplateDataDTO; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.stream.Collectors; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** Supplier to provide mails to be sent when a feedback message has been written. */ -@Slf4j -@AllArgsConstructor -public class NewFeedbackEmailSupplier implements EmailSupplier { - - private final Session session; - private final String rcFeedbackGroupId; - private final String userId; - private final String applicationBaseUrl; - private final ConsultantService consultantService; - private final RocketChatService rocketChatService; - private final String rocketChatSystemUserId; - private final IdentityClient identityClient; - - /** - * Generates feedback message notification mails sent to regarding consultants. - * - * @return a list of the generated {@link MailDTO} - */ - @Override - public List generateEmails() throws RocketChatGetGroupMembersException { - if (nonNull(session)) { - return buildFeedbackMessageMailsForExistingSession(); - } - log.error( - "EmailNotificationFacade error: No session found for the rocket chat feedback group id {}.", - rcFeedbackGroupId); - - return emptyList(); - } - - private List buildFeedbackMessageMailsForExistingSession() { - if (nonNull(session.getConsultant())) { - return buildFeedbackMessageMailsForExistingConsultant(); - } - log.error( - "EmailNotificationFacade error: No consultant is assigned to the session found by rocket " - + "chat feedback group id {}.", - rcFeedbackGroupId); - - return emptyList(); - } - - private List buildFeedbackMessageMailsForExistingConsultant() { - Optional sendingConsultantOptional = consultantService.getConsultant(userId); - if (sendingConsultantOptional.isPresent()) { - Consultant sendingConsultant = sendingConsultantOptional.get(); - return buildMailsDependingOnAuthor(sendingConsultant); - } - log.error("EmailNotificationFacade error: Consultant with id {} not found.", userId); - - return emptyList(); - } - - private List buildMailsDependingOnAuthor(Consultant sendingConsultant) { - var receivingConsultant = session.getConsultant(); - if (areUsersEqual(userId, receivingConsultant)) { - return buildNotificationMailsForAllOtherConsultants(sendingConsultant); - } - return emptyList(); - } - - private boolean areUsersEqual(String userId, Consultant consultant) { - return userId.equals(consultant.getId()); - } - - private List buildNotificationMailsForAllOtherConsultants(Consultant sendingConsultant) { - List groupMembers = rocketChatService.getChatUsers(rcFeedbackGroupId); - if (isNotEmpty(groupMembers)) { - return buildMailsForAllDueConsultants(sendingConsultant, groupMembers); - } - - log.error( - "EmailNotificationFacade error: List of members for rocket chat feedback group id {} is " - + "empty.", - rcFeedbackGroupId); - - return emptyList(); - } - - private List buildMailsForAllDueConsultants( - Consultant sendingConsultant, List groupMembers) { - return groupMembers.stream() - .filter(groupMemberDTO -> !rocketChatSystemUserId.equals(groupMemberDTO.get_id())) - .map(this::toValidatedConsultant) - .filter(Objects::nonNull) - .filter(this::notHimselfAndNotAbsent) - .filter(this::isMainConsultantOrAssignedToSession) - .filter(this::isLoggedOut) - .map(consultant -> buildMailForAssignedConsultant(sendingConsultant, consultant)) - .collect(Collectors.toList()); - } - - private Consultant toValidatedConsultant(GroupMemberDTO groupMemberDTO) { - Optional optionalConsultant = - this.consultantService.getConsultantByRcUserId(groupMemberDTO.get_id()); - if (optionalConsultant.isPresent()) { - return optionalConsultant.get(); - } - - log.error( - "Consultant with rc user id {} not found. Why is this consultant in the rc room with the " - + "id {}?", - groupMemberDTO.get_id(), - rcFeedbackGroupId); - - return null; - } - - private boolean isMainConsultantOrAssignedToSession(Consultant consultant) { - var isAssignedToSession = - consultant.getRocketChatId().equals(session.getConsultant().getRocketChatId()); - var isMainConsultant = - identityClient.userHasRole(consultant.getId(), UserRole.MAIN_CONSULTANT.getValue()); - - return isAssignedToSession || isMainConsultant; - } - - private boolean notHimselfAndNotAbsent(Consultant consultant) { - return isNotBlank(consultant.getEmail()) - && !areUsersEqual(userId, consultant) - && !areUsersEqual(session.getConsultant().getId(), consultant) - && !consultant.isAbsent(); - } - - private boolean isLoggedOut(Consultant consultant) { - return !rocketChatService.isLoggedIn(consultant.getRocketChatId()).orElse(false); - } - - private MailDTO buildMailForAssignedConsultant( - Consultant sendingConsultant, Consultant consultant) { - String nameSender = sendingConsultant.getFullName(); - String nameUser = new UsernameTranscoder().decodeUsername(session.getUser().getUsername()); - - return mailOf(consultant, nameSender, nameUser); - } - - private MailDTO mailOf(Consultant recipient, String nameSender, String nameUser) { - var language = - de.caritas.cob.userservice.mailservice.generated.web.model.LanguageCode.fromValue( - recipient.getLanguageCode().toString()); - - return new MailDTO() - .template(TEMPLATE_NEW_FEEDBACK_MESSAGE_NOTIFICATION) - .email(recipient.getEmail()) - .language(language) - .dialect(recipient.getDialect()) - .templateData( - asList( - new TemplateDataDTO().key("name_sender").value(nameSender), - new TemplateDataDTO().key("name_recipient").value(recipient.getFullName()), - new TemplateDataDTO().key("name_user").value(nameUser), - new TemplateDataDTO().key("url").value(applicationBaseUrl))); - } -} diff --git a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java deleted file mode 100644 index b0a8e6250..000000000 --- a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewFeedbackEmailSupplierTest.java +++ /dev/null @@ -1,426 +0,0 @@ -package de.caritas.cob.userservice.api.service.emailsupplier; - -import static de.caritas.cob.userservice.api.service.emailsupplier.EmailSupplier.TEMPLATE_NEW_FEEDBACK_MESSAGE_NOTIFICATION; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_2; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.GROUP_MEMBER_DTO_LIST; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.GROUP_MEMBER_USER_1; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.USER; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.powermock.reflect.Whitebox.setInternalState; -import static org.springframework.test.util.ReflectionTestUtils.setField; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.neovisionaries.i18n.LanguageCode; -import de.caritas.cob.userservice.api.adapters.keycloak.KeycloakService; -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatService; -import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatGetGroupMembersException; -import de.caritas.cob.userservice.api.model.Consultant; -import de.caritas.cob.userservice.api.model.Session; -import de.caritas.cob.userservice.api.service.ConsultantService; -import de.caritas.cob.userservice.mailservice.generated.web.model.MailDTO; -import de.caritas.cob.userservice.mailservice.generated.web.model.TemplateDataDTO; -import java.util.List; -import java.util.Optional; -import java.util.UUID; -import org.apache.commons.lang3.RandomStringUtils; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; -import org.slf4j.Logger; - -@ExtendWith(MockitoExtension.class) -public class NewFeedbackEmailSupplierTest { - - private static final ObjectMapper MAPPER = new ObjectMapper(); - - private NewFeedbackEmailSupplier newFeedbackEmailSupplier; - - @Mock private Session session; - - @Mock private ConsultantService consultantService; - - @Mock private RocketChatService rocketChatService; - - @Mock private KeycloakService keycloakService; - - @Mock private Logger logger; - - @BeforeEach - public void setup() { - this.newFeedbackEmailSupplier = - new NewFeedbackEmailSupplier( - session, - "feedbackGroupId", - "userId", - "applicationBaseUrl", - consultantService, - rocketChatService, - "rocketChatSystemUserId", - keycloakService); - setInternalState(NewFeedbackEmailSupplier.class, "log", logger); - } - - @Test - public void generateEmails_Should_ReturnEmptyListAndLogError_When_SessionIsNull() - throws RocketChatGetGroupMembersException { - List generatedMails = - new NewFeedbackEmailSupplier( - null, - "feedbackGroupId", - "userId", - "applicationBaseUrl", - consultantService, - rocketChatService, - "rocketChatSystemUserId", - keycloakService) - .generateEmails(); - - assertThat(generatedMails).isEmpty(); - verify(logger).error(anyString(), anyString()); - } - - @Test - public void generateEmails_Should_ReturnEmptyLisAndLogError_When_NoValidConsultantWasFound() - throws RocketChatGetGroupMembersException { - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - verify(logger).error(anyString(), anyString()); - } - - @Test - public void - generateEmails_Should_ReturnEmptyLisAndLogError_When_SessionHasConsultantAndWriterIsNotAConsultant() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT); - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - verify(logger).error(anyString(), anyString()); - } - - @Test - public void - generateEmails_Should_ReturnEmptyListAndLogError_When_SessionHasConsultantIsWriterAndNoMembersAreInFeedbackGroup() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - verify(logger).error(anyString(), anyString()); - } - - @Test - public void - generateEmails_Should_ReturnEmptyListAndLogError_When_SessionHasConsultantAndNoFeedbackGroupMemberExists() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(GROUP_MEMBER_DTO_LIST); - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - verify(logger, atLeastOnce()).error(anyString(), anyString(), anyString()); - } - - @Test - public void - generateEmails_Should_ReturnExpectedMails_When_SessionHasConsultantIsWriterAndMembersAreInFeedbackGroup() - throws RocketChatGetGroupMembersException { - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(GROUP_MEMBER_DTO_LIST); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(CONSULTANT_2)); - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(4); - MailDTO generatedMail = generatedMails.get(0); - assertThat(generatedMail.getTemplate()).isEqualTo(TEMPLATE_NEW_FEEDBACK_MESSAGE_NOTIFICATION); - assertThat(generatedMail.getEmail()).isEqualTo("email@email.com"); - assertThat(generatedMail.getLanguage()) - .isEqualTo(de.caritas.cob.userservice.mailservice.generated.web.model.LanguageCode.DE); - List templateData = generatedMail.getTemplateData(); - assertThat(templateData).hasSize(4); - assertThat(templateData.get(0).getKey()).isEqualTo("name_sender"); - assertThat(templateData.get(0).getValue()).isEqualTo(("vorname nachname")); - assertThat(templateData.get(1).getKey()).isEqualTo("name_recipient"); - assertThat(templateData.get(1).getValue()).isEqualTo("first name last name"); - assertThat(templateData.get(2).getKey()).isEqualTo("name_user"); - assertThat(templateData.get(2).getValue()).isEqualTo(("username")); - assertThat(templateData.get(3).getKey()).isEqualTo("url"); - assertThat(templateData.get(3).getValue()).isEqualTo("applicationBaseUrl"); - } - - @Test - public void generateEmails_Should_ReturnExpectedMail_When_ConsultantsFeedbackToggleIsOn() - throws RocketChatGetGroupMembersException { - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(List.of(GROUP_MEMBER_USER_1)); - var consultant = mock(Consultant.class); - when(consultant.getId()).thenReturn(UUID.randomUUID().toString()); - when(consultant.getEmail()).thenReturn("a@b.com"); - when(consultant.getLanguageCode()).thenReturn(LanguageCode.de); - when(consultant.isAbsent()).thenReturn(false); - when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(consultant)); - when(keycloakService.userHasRole(anyString(), anyString())).thenReturn(true); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(1); - } - - @Test - public void generateEmails_Should_ReturnNoMail_When_ConsultantsFeedbackToggleIsOff() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(List.of(GROUP_MEMBER_USER_1)); - var consultant = mock(Consultant.class); - when(consultant.getId()).thenReturn(UUID.randomUUID().toString()); - when(consultant.getEmail()).thenReturn("a@b.com"); - when(consultant.isAbsent()).thenReturn(false); - when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(consultant)); - when(keycloakService.userHasRole(anyString(), anyString())).thenReturn(true); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - } - - @Test - public void generateEmails_Should_ReturnExpectedMail_When_ConsultantIsOffline() - throws RocketChatGetGroupMembersException { - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(List.of(GROUP_MEMBER_USER_1)); - var consultant = mock(Consultant.class); - when(consultant.getId()).thenReturn(UUID.randomUUID().toString()); - when(consultant.getEmail()).thenReturn("a@b.com"); - when(consultant.getLanguageCode()).thenReturn(LanguageCode.de); - when(consultant.isAbsent()).thenReturn(false); - when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(rocketChatService.isLoggedIn(anyString())).thenReturn(Optional.of(false)); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(consultant)); - when(keycloakService.userHasRole(anyString(), anyString())).thenReturn(true); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(1); - } - - @Test - public void generateEmails_Should_ReturnNoMail_When_ConsultantIsOnline() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(List.of(GROUP_MEMBER_USER_1)); - var consultant = mock(Consultant.class); - when(consultant.getId()).thenReturn(UUID.randomUUID().toString()); - when(consultant.getEmail()).thenReturn("a@b.com"); - when(consultant.isAbsent()).thenReturn(false); - when(consultant.getRocketChatId()).thenReturn(RandomStringUtils.randomAlphanumeric(17)); - when(rocketChatService.isLoggedIn(anyString())).thenReturn(Optional.of(true)); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(consultant)); - when(keycloakService.userHasRole(anyString(), anyString())).thenReturn(true); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - } - - @Test - public void generateEmails_Should_ReturnEmptyList_When_SessionConsultantIsAbsent() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT); - setField(newFeedbackEmailSupplier, "userId", "other id"); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT)); - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - } - - @Test - public void generateEmails_Should_ReturnExpectedMail_When_AnotherConsultantWrote() - throws RocketChatGetGroupMembersException { - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(CONSULTANT_2); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT_2)); - - List generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(1); - MailDTO generatedMail = generatedMails.get(0); - assertThat(generatedMail.getTemplate()).isEqualTo(TEMPLATE_NEW_FEEDBACK_MESSAGE_NOTIFICATION); - assertThat(generatedMail.getEmail()).isEqualTo("email@email.com"); - assertThat(generatedMail.getLanguage()) - .isEqualTo(de.caritas.cob.userservice.mailservice.generated.web.model.LanguageCode.DE); - List templateData = generatedMail.getTemplateData(); - assertThat(templateData).hasSize(4); - assertThat(templateData.get(0).getKey()).isEqualTo("name_sender"); - assertThat(templateData.get(0).getValue()).isEqualTo("first name last name"); - assertThat(templateData.get(1).getKey()).isEqualTo("name_recipient"); - assertThat(templateData.get(1).getValue()).isEqualTo(("first name last name")); - assertThat(templateData.get(2).getKey()).isEqualTo(("name_user")); - assertThat(templateData.get(2).getValue()).isEqualTo(("username")); - assertThat(templateData.get(3).getKey()).isEqualTo(("url")); - assertThat(templateData.get(3).getValue()).isEqualTo(("applicationBaseUrl")); - } - - @Test - public void - generateEmails_Should_ReturnExpectedMail_When_AnotherConsultantWroteAndFeedbackToggleIsOn() - throws RocketChatGetGroupMembersException { - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(CONSULTANT_2); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT_2)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(1); - assertThat(generatedMails.get(0).getDialect()).isEqualTo(CONSULTANT_2.getDialect()); - } - - @Test - public void generateEmails_Should_ReturnNoMail_When_AnotherConsultantWroteAndFeedbackToggleIsOff() - throws RocketChatGetGroupMembersException { - var consultant = mock(Consultant.class); - when(session.getConsultant()).thenReturn(consultant); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(consultant)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - } - - @Test - public void - generateEmails_Should_ReturnExpectedMail_When_AnotherConsultantWroteAndConsultantIsOffline() - throws RocketChatGetGroupMembersException { - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(CONSULTANT_2); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT_2)); - when(rocketChatService.isLoggedIn(anyString())).thenReturn(Optional.of(false)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(1); - } - - @Test - public void generateEmails_Should_ReturnNoMail_When_AnotherConsultantWroteAndConsultantIsOnline() - throws RocketChatGetGroupMembersException { - when(session.getConsultant()).thenReturn(CONSULTANT_2); - setField(newFeedbackEmailSupplier, "userId", CONSULTANT.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(CONSULTANT_2)); - when(rocketChatService.isLoggedIn(anyString())).thenReturn(Optional.of(true)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - } - - @Test - public void generateEmails_Should_FilterNonMainConsultantsNorSessionAssignees() throws Exception { - var consultant = givenAConsultant(); - consultant.setRocketChatId(RandomStringUtils.random(17)); - - whenConsultantIsMain(false); - when(session.getConsultant()).thenReturn(consultant); - setField(newFeedbackEmailSupplier, "userId", consultant.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(consultant)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(GROUP_MEMBER_DTO_LIST); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(CONSULTANT_2)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).isEmpty(); - } - - @Test - public void generateEmails_Should_NotFilter_WhenConsultantsAreMain() throws Exception { - var consultant = givenAConsultant(); - consultant.setRocketChatId(RandomStringUtils.random(17)); - - whenConsultantIsMain(true); - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(consultant); - setField(newFeedbackEmailSupplier, "userId", consultant.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(consultant)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(GROUP_MEMBER_DTO_LIST); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(CONSULTANT_2)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(4); - } - - @Test - public void generateEmails_Should_NotFilter_WhenConsultantsAreSessionAssigned() throws Exception { - var consultant = givenAConsultant(); - - whenConsultantIsMain(false); - when(session.getUser()).thenReturn(USER); - when(session.getConsultant()).thenReturn(consultant); - setField(newFeedbackEmailSupplier, "userId", consultant.getId()); - when(consultantService.getConsultant(anyString())).thenReturn(Optional.of(consultant)); - when(rocketChatService.getChatUsers(anyString())).thenReturn(GROUP_MEMBER_DTO_LIST); - when(consultantService.getConsultantByRcUserId(anyString())) - .thenReturn(Optional.of(CONSULTANT_2)); - - var generatedMails = newFeedbackEmailSupplier.generateEmails(); - - assertThat(generatedMails).hasSize(4); - assertThat(generatedMails).extracting("dialect").containsOnly(CONSULTANT_2.getDialect()); - } - - private Consultant givenAConsultant() throws JsonProcessingException { - var content = MAPPER.writeValueAsString(CONSULTANT); - - return MAPPER.readValue(content, Consultant.class); - } - - private void whenConsultantIsMain(boolean returnValue) { - when(keycloakService.userHasRole(anyString(), eq("main-consultant"))).thenReturn(returnValue); - } -} diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java index afd0d1c9e..01ca9e0a8 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java @@ -71,6 +71,7 @@ import de.caritas.cob.userservice.api.service.ConsultantService; import de.caritas.cob.userservice.api.service.LogService; import de.caritas.cob.userservice.api.service.agency.AgencyService; +import de.caritas.cob.userservice.api.service.user.UserService; import de.caritas.cob.userservice.api.testHelper.TestConstants; import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import java.util.ArrayList; @@ -207,6 +208,7 @@ class SessionServiceTest { @Mock private Logger logger; @Mock private ConsultantService consultantService; @Mock private ConsultingTypeManager consultingTypeManager; + @Mock UserService userService; private final EasyRandom easyRandom = new EasyRandom(); From dc134ea7166209acc35f475c40fe96b382d3bb6b Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 10:42:49 +0200 Subject: [PATCH 32/64] CARITAS-243 - tests fixing and remove NewFeedbackEmailSupplier.java --- .../DeleteAskerRoomsAndSessionsActionTest.java | 18 +++++++----------- .../DeleteSingleRoomAndSessionActionTest.java | 14 +++++--------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java index 290e7d689..fbe006b03 100644 --- a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteAskerRoomsAndSessionsActionTest.java @@ -79,7 +79,7 @@ void execute_Should_returnEmptyListAndPerformAllDeletions_When_userSessionIsDele assertThat(workflowErrors, hasSize(0)); verifyNoMoreInteractions(this.logger); - verify(this.rocketChatService, times(2)).deleteGroupAsTechnicalUser(any()); + verify(this.rocketChatService, times(1)).deleteGroupAsTechnicalUser(any()); verify(this.sessionDataRepository, times(1)).findBySessionId(session.getId()); verify(this.sessionDataRepository, times(1)).deleteAll(any()); verify(this.sessionRepository, times(1)).delete(session); @@ -101,8 +101,8 @@ void execute_Should_returnExpectedWorkflowErrors_When_noUserSessionDeletedStepIs this.deleteAskerRoomsAndSessionsAction.execute(workflowDTO); List workflowErrors = workflowDTO.getDeletionWorkflowErrors(); - assertThat(workflowErrors, hasSize(4)); - verify(logger, times(4)).error(anyString(), any(Exception.class)); + assertThat(workflowErrors, hasSize(3)); + verify(logger, times(3)).error(anyString(), any(Exception.class)); } @Test @@ -122,8 +122,8 @@ void execute_Should_returnExpectedAmountOfWorkflowErrors_When_manySessionDeletio this.deleteAskerRoomsAndSessionsAction.execute(workflowDTO); List workflowErrors = workflowDTO.getDeletionWorkflowErrors(); - assertThat(workflowErrors, hasSize(12)); - verify(logger, times(12)).error(anyString(), any(Exception.class)); + assertThat(workflowErrors, hasSize(9)); + verify(logger, times(9)).error(anyString(), any(Exception.class)); } @Test @@ -139,17 +139,13 @@ void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionFails() this.deleteAskerRoomsAndSessionsAction.execute(workflowDTO); List workflowErrors = workflowDTO.getDeletionWorkflowErrors(); - assertThat(workflowErrors, hasSize(2)); - verify(logger, times(2)).error(anyString(), any(Exception.class)); + assertThat(workflowErrors, hasSize(1)); + verify(logger, times(1)).error(anyString(), any(Exception.class)); assertThat(workflowErrors.get(0).getDeletionSourceType(), is(ASKER)); assertThat(workflowErrors.get(0).getDeletionTargetType(), is(ROCKET_CHAT)); assertThat(workflowErrors.get(0).getIdentifier(), is(session.getGroupId())); assertThat(workflowErrors.get(0).getReason(), is("Deletion of Rocket.Chat group failed")); assertThat(workflowErrors.get(0).getTimestamp(), notNullValue()); - assertThat(workflowErrors.get(1).getDeletionSourceType(), is(ASKER)); - assertThat(workflowErrors.get(1).getDeletionTargetType(), is(ROCKET_CHAT)); - assertThat(workflowErrors.get(1).getReason(), is("Deletion of Rocket.Chat group failed")); - assertThat(workflowErrors.get(1).getTimestamp(), notNullValue()); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java index 2a5f55c91..dba243ecc 100644 --- a/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/workflow/delete/action/asker/DeleteSingleRoomAndSessionActionTest.java @@ -63,7 +63,7 @@ void execute_Should_returnEmptyListAndPerformAllDeletions_When_userSessionIsDele assertThat(workflowErrors, hasSize(0)); verifyNoMoreInteractions(this.logger); - verify(this.rocketChatService, times(2)).deleteGroupAsTechnicalUser(any()); + verify(this.rocketChatService, times(1)).deleteGroupAsTechnicalUser(any()); verify(this.sessionDataRepository, times(1)).findBySessionId(session.getId()); verify(this.sessionDataRepository, times(1)).deleteAll(any()); verify(this.sessionRepository, times(1)).delete(session); @@ -84,8 +84,8 @@ void execute_Should_returnExpectedWorkflowErrors_When_noUserSessionDeletedStepIs this.deleteSingleRoomAndSessionAction.execute(workflowDTO); List workflowErrors = workflowDTO.getDeletionWorkflowErrors(); - assertThat(workflowErrors, hasSize(4)); - verify(logger, times(4)).error(anyString(), any(Exception.class)); + assertThat(workflowErrors, hasSize(3)); + verify(logger, times(3)).error(anyString(), any(Exception.class)); } @Test @@ -100,17 +100,13 @@ void execute_Should_returnExpectedWorkflowErrors_When_rocketChatDeletionFails() this.deleteSingleRoomAndSessionAction.execute(workflowDTO); List workflowErrors = workflowDTO.getDeletionWorkflowErrors(); - assertThat(workflowErrors, hasSize(2)); - verify(logger, times(2)).error(anyString(), any(RocketChatDeleteGroupException.class)); + assertThat(workflowErrors, hasSize(1)); + verify(logger, times(1)).error(anyString(), any(RocketChatDeleteGroupException.class)); assertThat(workflowErrors.get(0).getDeletionSourceType(), is(ASKER)); assertThat(workflowErrors.get(0).getDeletionTargetType(), is(ROCKET_CHAT)); assertThat(workflowErrors.get(0).getIdentifier(), is(session.getGroupId())); assertThat(workflowErrors.get(0).getReason(), is("Deletion of Rocket.Chat group failed")); assertThat(workflowErrors.get(0).getTimestamp(), notNullValue()); - assertThat(workflowErrors.get(1).getDeletionSourceType(), is(ASKER)); - assertThat(workflowErrors.get(1).getDeletionTargetType(), is(ROCKET_CHAT)); - assertThat(workflowErrors.get(1).getReason(), is("Deletion of Rocket.Chat group failed")); - assertThat(workflowErrors.get(1).getTimestamp(), notNullValue()); } @Test From a9b8660998392745b4be65b8fe8defdfe887b1cc Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 10:49:36 +0200 Subject: [PATCH 33/64] CARITAS-243 - tests fixing and remove NewFeedbackEmailSupplier.java --- .../agency/RemoveConsultantFromRocketChatServiceTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java index d77d49962..81bbbc749 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/agency/RemoveConsultantFromRocketChatServiceTest.java @@ -8,9 +8,11 @@ import de.caritas.cob.userservice.api.adapters.rocketchat.dto.group.GroupMemberDTO; import de.caritas.cob.userservice.api.facade.RocketChatFacade; +import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.model.Consultant; import de.caritas.cob.userservice.api.model.Session; import de.caritas.cob.userservice.api.port.out.ConsultantRepository; +import de.caritas.cob.userservice.api.port.out.IdentityClient; import java.util.Optional; import org.jeasy.random.EasyRandom; import org.junit.jupiter.api.Test; @@ -28,6 +30,10 @@ class RemoveConsultantFromRocketChatServiceTest { @Mock private ConsultantRepository consultantRepository; + @Mock private IdentityClient identityClient; + + @Mock private ConsultingTypeManager consultingTypeManager; + @Test void removeConsultantFromSessions_Should_removeConsultant_When_consultantIsNotUserAndNotDirectlyAssigned() { From f1b32ce849841b7f2438c6eced92cb45ec6a3a82 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 10:59:09 +0200 Subject: [PATCH 34/64] CARITAS-243 - Remove FEEDBACK from SessionFilter --- .../cob/userservice/api/service/session/SessionFilter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionFilter.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionFilter.java index 0feee8fef..44da41755 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionFilter.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionFilter.java @@ -6,8 +6,7 @@ @RequiredArgsConstructor public enum SessionFilter { - ALL("all"), - FEEDBACK("feedback"); + ALL("all"); private final String value; From e2583bd97050a4f96d41985c4659368de5e746c8 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 11:15:12 +0200 Subject: [PATCH 35/64] CARITAS-243 - Remove TEMPLATE_NEW_FEEDBACK_MESSAGE_NOTIFICATION from SessionFilter from EmailSupplier And USE_FEEDBACK, PEER_CONSULTANT from Authority --- .../cob/userservice/api/config/auth/Authority.java | 2 -- .../api/service/emailsupplier/EmailSupplier.java | 1 - .../cob/userservice/api/config/auth/AuthorityTest.java | 10 ---------- 3 files changed, 13 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java index f65145fb2..6ebe20bfb 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java @@ -13,7 +13,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.TECHNICAL_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.UPDATE_CHAT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_DEFAULT; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USE_FEEDBACK; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_AGENCY_CONSULTANTS; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static java.util.Collections.emptyList; @@ -34,7 +33,6 @@ public enum Authority { CONSULTANT( UserRole.CONSULTANT, List.of(CONSULTANT_DEFAULT, ASSIGN_CONSULTANT_TO_SESSION, VIEW_AGENCY_CONSULTANTS)), - PEER_CONSULTANT(UserRole.PEER_CONSULTANT, singletonList(USE_FEEDBACK)), MAIN_CONSULTANT( UserRole.MAIN_CONSULTANT, List.of( diff --git a/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/EmailSupplier.java b/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/EmailSupplier.java index bfc5b0190..10ef340d1 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/EmailSupplier.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/emailsupplier/EmailSupplier.java @@ -12,7 +12,6 @@ public interface EmailSupplier { String TEMPLATE_NEW_DIRECT_ENQUIRY_NOTIFICATION = "direct-enquiry-notification-consultant"; String TEMPLATE_NEW_MESSAGE_NOTIFICATION_CONSULTANT = "message-notification-consultant"; String TEMPLATE_NEW_MESSAGE_NOTIFICATION_ASKER = "message-notification-asker"; - String TEMPLATE_NEW_FEEDBACK_MESSAGE_NOTIFICATION = "feedback-message-notification"; String TEMPLATE_ASSIGN_ENQUIRY_NOTIFICATION = "assign-enquiry-notification"; String TEMPLATE_FREE_TEXT = "free-text"; String TEMPLATE_DAILY_ENQUIRY_NOTIFICATION = "daily-enquiry-notification"; diff --git a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java index 91374b004..9ed5f54e7 100644 --- a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java @@ -50,16 +50,6 @@ void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleAnonymous assertEquals(1, result.size()); } - @Test - void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRolePeerConsultant() { - - List result = Authority.getAuthoritiesByUserRole(UserRole.PEER_CONSULTANT); - - assertNotNull(result); - assertTrue(result.contains(AuthorityValue.USE_FEEDBACK)); - assertEquals(1, result.size()); - } - @Test void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsultant() { From b1c2d2f0e821cc468b07653df64f09db4be067ca Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 11:16:28 +0200 Subject: [PATCH 36/64] CARITAS-243 - Remove feedback ids from comments --- .../api/service/sessionlist/UserSessionListService.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java index 3456d0220..c8d6ac9be 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/UserSessionListService.java @@ -46,11 +46,10 @@ public List retrieveSessionsForAuthenticatedUser( } /** - * Returns a list of {@link UserSessionResponseDTO} for given user ID and rocket chat group or - * feedback group IDs. + * Returns a list of {@link UserSessionResponseDTO} for given user ID and rocket chat group IDs * * @param userId the ID of an user - * @param rcGroupIds the rocket chat group or feedback group IDs + * @param rcGroupIds the rocket chat group IDs * @param rocketChatCredentials the credentials for accessing rocket chat * @param roles the roles of given user * @return {@link UserSessionResponseDTO} From e2080b98ee196075cc9f0004e2eca4518fb16550 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 11:17:44 +0200 Subject: [PATCH 37/64] CARITAS-243 - Remove unused UpdateFeedbackGroupIdException --- .../UpdateFeedbackGroupIdException.java | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 src/main/java/de/caritas/cob/userservice/api/exception/UpdateFeedbackGroupIdException.java diff --git a/src/main/java/de/caritas/cob/userservice/api/exception/UpdateFeedbackGroupIdException.java b/src/main/java/de/caritas/cob/userservice/api/exception/UpdateFeedbackGroupIdException.java deleted file mode 100644 index 62744a78b..000000000 --- a/src/main/java/de/caritas/cob/userservice/api/exception/UpdateFeedbackGroupIdException.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.caritas.cob.userservice.api.exception; - -public class UpdateFeedbackGroupIdException extends Exception { - - private static final long serialVersionUID = -6538582440490471213L; - - /** - * Exception when the update of the feedback group id of a session fails. - * - * @param message an additional message - * @param exception the caused exception - */ - public UpdateFeedbackGroupIdException(String message, Exception exception) { - super(message, exception); - } -} From ff03c9fd940e0b2f2b6f20ce670c4ee4e742b706 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 11:35:49 +0200 Subject: [PATCH 38/64] CARITAS-243 - Remove feedback from the comments --- .../api/facade/assignsession/AssignEnquiryFacade.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java index 17de5fe6b..db6d2598a 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacade.java @@ -50,7 +50,6 @@ public class AssignEnquiryFacade { /** * Assigns the given {@link Session} session to the given {@link Consultant}. Remove all other * consultants from the Rocket.Chat group which don't have the right to view this session anymore. - * Furthermore add the given {@link Consultant} to the feedback group if needed. * *

If the statistics function is enabled, the assignment of the enquired is processed as * statistical event. From d8ae9ea1c9f38e9188c30a680ec01bf50544b49e Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 12:47:49 +0200 Subject: [PATCH 39/64] CARITAS-243 - Remove initializeFeedbackChat and isPeerChat from ExtendedConsultingTypeResponseDTO on the yaml file --- services/consultingtypeservice.yaml | 6 ----- .../api/service/AskerImportService.java | 10 +++------ .../api/service/session/SessionService.java | 2 -- .../CreateEnquiryMessageFacadeTest.java | 10 --------- .../AssignSessionFacadeTest.java | 12 ---------- .../api/helper/SessionDataProviderTest.java | 22 +++++++++---------- .../service/session/SessionServiceTest.java | 20 ----------------- .../ConsultingTypeManagerTestConfig.java | 3 --- .../api/testHelper/TestConstants.java | 14 ------------ 9 files changed, 13 insertions(+), 86 deletions(-) diff --git a/services/consultingtypeservice.yaml b/services/consultingtypeservice.yaml index 1b23546ba..21640aa2f 100644 --- a/services/consultingtypeservice.yaml +++ b/services/consultingtypeservice.yaml @@ -222,12 +222,6 @@ components: sessionDataInitializing: allOf: - $ref: '#/components/schemas/SessionDataInitializingDTO' - initializeFeedbackChat: - type: boolean - example: true - isPeerChat: - type: boolean - example: true roles: $ref: '#/components/schemas/RolesDTO' notifications: diff --git a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java index bcf3bba3b..b0f4b1fad 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/AskerImportService.java @@ -450,13 +450,9 @@ public void startImport() { if (isTrue(agencyDTO.getTeamAgency())) { if (agencyList != null) { for (ConsultantAgency agency : agencyList) { - // If feedback chat enabled add all main consultants and the assigned consultant. If - // it is a "normal" team session add all consultants. - if (extendedConsultingTypeResponseDTO.getInitializeFeedbackChat().booleanValue()) { - if (agency.getConsultant().getId().equals(record.getConsultantId())) { - rocketChatService.addUserToGroup( - agency.getConsultant().getRocketChatId(), rcGroupId); - } + if (agency.getConsultant().getId().equals(record.getConsultantId())) { + rocketChatService.addUserToGroup( + agency.getConsultant().getRocketChatId(), rcGroupId); } else { rocketChatService.addUserToGroup( agency.getConsultant().getRocketChatId(), rcGroupId); diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java index 74eee20d5..c35d13761 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java @@ -5,7 +5,6 @@ import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import static org.apache.commons.collections4.CollectionUtils.isNotEmpty; -import static org.apache.commons.lang3.BooleanUtils.isTrue; import com.google.api.client.util.Lists; import com.neovisionaries.i18n.LanguageCode; @@ -189,7 +188,6 @@ public Session initializeSession( .languageCode(LanguageCode.de) .status(sessionStatus) .teamSession(isTeamSession) - .isPeerChat(isTrue(extendedConsultingTypeResponseDTO.getIsPeerChat())) .createDate(nowInUtc()) .updateDate(nowInUtc()) .mainTopicId(userDto.getMainTopicId()) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index fefc79d96..b62c22b5c 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -155,7 +155,6 @@ class CreateEnquiryMessageFacadeTest { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -170,7 +169,6 @@ class CreateEnquiryMessageFacadeTest { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(true) .notifications(null) .languageFormal(false) .roles(null) @@ -186,7 +184,6 @@ class CreateEnquiryMessageFacadeTest { new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText(MESSAGE)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(true) .notifications(null) .languageFormal(false) .roles(null) @@ -285,7 +282,6 @@ void createEnquiryMessage_ShouldNot_ThrowException_When_Successful() throws Exce session.setAgencyId(AGENCY_ID); session.setIsConsultantDirectlySet(false); extendedConsultingTypeResponseDTO.getWelcomeMessage().sendWelcomeMessage(false); - extendedConsultingTypeResponseDTO.initializeFeedbackChat(false); groupDTO.setId(RC_GROUP_ID); groupResponseDTO.setSuccess(true); groupResponseDTO.setGroup(groupDTO); @@ -339,7 +335,6 @@ void createEnquiryMessage_Should_SendDirectEnquiryEmail_When_ConsultantDirectlyS session.setEnquiryMessageDate(null); session.setAgencyId(AGENCY_ID); extendedConsultingTypeResponseDTO.getWelcomeMessage().sendWelcomeMessage(false); - extendedConsultingTypeResponseDTO.initializeFeedbackChat(false); groupDTO.setId(RC_GROUP_ID); groupResponseDTO.setSuccess(true); groupResponseDTO.setGroup(groupDTO); @@ -643,7 +638,6 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful session.setConsultingTypeId(0); session.setConsultant(null); session.setIsConsultantDirectlySet(false); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); rocketChatUserDTO.setUsername(USERNAME); userInfoResponseDTO.setUser(rocketChatUserDTO); groupDTO.setId(RC_GROUP_ID); @@ -687,7 +681,6 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful session.setUser(user); session.setConsultingTypeId(0); session.setConsultant(null); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); rocketChatUserDTO.setUsername(USERNAME); userInfoResponseDTO.setUser(rocketChatUserDTO); groupDTO.setId(RC_GROUP_ID); @@ -728,7 +721,6 @@ void createEnquiryMessage_Should_UpdateCorrectSessionInformation_When_Successful groupResponseDTO.setGroup(groupDTO); rocketChatCredentials.setRocketChatUserId(RC_USER_ID); rocketChatCredentials.setRocketChatUsername(RC_USERNAME); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(session)); when(consultingTypeManager.getConsultingTypeSettings(session.getConsultingTypeId())) @@ -982,7 +974,6 @@ void createEnquiryMessage_Should_PostAliasOnlyMessageAndWelcomeMessage() throws session.setAgencyId(AGENCY_ID); extendedConsultingTypeResponseDTO.getWelcomeMessage().setSendWelcomeMessage(true); extendedConsultingTypeResponseDTO.setSendFurtherStepsMessage(true); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(false); groupDTO.setId(RC_GROUP_ID); groupResponseDTO.setSuccess(true); groupResponseDTO.setGroup(groupDTO); @@ -1027,7 +1018,6 @@ void createEnquiryMessage_Should_setSessionInProgress_When_consultantIsAlreadyAs when(session.getConsultant()).thenReturn(new Consultant()); when(session.getAgencyId()).thenReturn(AGENCY_ID); when(session.getRegistrationType()).thenReturn(REGISTERED); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(false); groupDTO.setId(RC_GROUP_ID); groupResponseDTO.setSuccess(true); groupResponseDTO.setGroup(groupDTO); diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index 3f508f279..756082ad4 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -33,7 +33,6 @@ import de.caritas.cob.userservice.api.service.session.SessionService; import de.caritas.cob.userservice.api.service.statistics.StatisticsService; import de.caritas.cob.userservice.api.service.statistics.event.AssignSessionStatisticsEvent; -import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import de.caritas.cob.userservice.statisticsservice.generated.web.model.UserRole; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -93,9 +92,6 @@ void assignSession_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSes when(this.authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); when(unauthorizedMembersProvider.obtainConsultantsToRemove(any(), any(), any(), any(), any())) .thenReturn(List.of(consultantToRemove)); - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = - new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); var consultantToKeep = easyRandom.nextObject(Consultant.class); assignSessionFacade.assignSession(session, consultant, consultantToKeep); @@ -145,9 +141,6 @@ void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { when(this.authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); when(unauthorizedMembersProvider.obtainConsultantsToRemove(any(), any(), any(), any(), any())) .thenReturn(List.of(consultantToRemove)); - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = - new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); var consultantToKeep = easyRandom.nextObject(Consultant.class); assignSessionFacade.assignSession(session, consultant, consultantToKeep); @@ -193,9 +186,6 @@ void assignSession_Should_FireAssignSessionStatisticsEvent() { Consultant consultantToRemove = easyRandom.nextObject(Consultant.class); consultantToRemove.setRocketChatId("otherRcId"); when(this.authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); - ExtendedConsultingTypeResponseDTO extendedConsultingTypeResponseDTO = - new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); when(httpServletRequest.getRequestURI()).thenReturn(RandomStringUtils.randomAlphanumeric(32)); when(httpServletRequest.getHeader("Referer")) .thenReturn(RandomStringUtils.randomAlphanumeric(32)); @@ -240,8 +230,6 @@ void assignSession_Should_FireAssignSessionStatisticsEventWithoutOptionalArgs() consultantToRemove.setRocketChatId("otherRcId"); when(authenticatedUser.getUserId()).thenReturn("authenticatedUserId"); - var extendedConsultingTypeResponseDTO = new ExtendedConsultingTypeResponseDTO(); - extendedConsultingTypeResponseDTO.setInitializeFeedbackChat(true); assignSessionFacade.assignSession(session, consultant, CONSULTANT); diff --git a/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java index efba46485..5606b97c9 100644 --- a/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/helper/SessionDataProviderTest.java @@ -47,7 +47,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class SessionDataProviderTest { +class SessionDataProviderTest { private SessionDataProvider sessionDataProvider; private ConsultingTypeManager consultingTypeManager; @@ -155,7 +155,6 @@ public class SessionDataProviderTest { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING_WITH_ALL_SESSION_DATA_ITEMS) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -173,20 +172,19 @@ public class SessionDataProviderTest { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING_WITH_NO_SESSION_DATA_ITEMS) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) .registration(null); @BeforeEach - public void setup() { + void setup() { consultingTypeManager = Mockito.mock(ConsultingTypeManager.class); sessionDataProvider = new SessionDataProvider(consultingTypeManager); } @Test - public void createSessionDataList_Should_ReturnCorrectListOfSessionDataItems() { + void createSessionDataList_Should_ReturnCorrectListOfSessionDataItems() { Session sessionWithInitializedItem = easyRandom.nextObject(Session.class); sessionWithInitializedItem.setConsultingTypeId(CONSULTING_TYPE_ID_SUCHT); SessionData data = easyRandom.nextObject(SessionData.class); @@ -225,7 +223,7 @@ public void createSessionDataList_Should_ReturnCorrectListOfSessionDataItems() { } @Test - public void createSessionDataList_Should_ReturnEmptyListOfSessionDataItems() { + void createSessionDataList_Should_ReturnEmptyListOfSessionDataItems() { when(consultingTypeManager.getConsultingTypeSettings(CONSULTING_TYPE_ID_U25)) .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_NO_SESSION_DATA_ITEMS); @@ -237,7 +235,7 @@ public void createSessionDataList_Should_ReturnEmptyListOfSessionDataItems() { } @Test - public void + void createSessionDataList_Should_ReturnCorrectListOfSessionDataItems_WhenSessionDataValuesAreNull() { when(consultingTypeManager.getConsultingTypeSettings(CONSULTING_TYPE_ID_SUCHT)) .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_ALL_SESSION_DATA_ITEMS); @@ -251,7 +249,7 @@ public void createSessionDataList_Should_ReturnEmptyListOfSessionDataItems() { } @Test - public void + void createSessionDataList_Should_ReturnCorrectListOfSessionDataItems_WhenSessionDataValuesAreEmpty() { when(consultingTypeManager.getConsultingTypeSettings(CONSULTING_TYPE_ID_SUCHT)) .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_ALL_SESSION_DATA_ITEMS); @@ -266,7 +264,7 @@ public void createSessionDataList_Should_ReturnEmptyListOfSessionDataItems() { } @Test - public void getValueOfKey_Should_ReturnCorrectValueToGivenKey() { + void getValueOfKey_Should_ReturnCorrectValueToGivenKey() { when(consultingTypeManager.getConsultingTypeSettings(CONSULTING_TYPE_ID_SUCHT)) .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_ALL_SESSION_DATA_ITEMS); @@ -278,7 +276,7 @@ public void getValueOfKey_Should_ReturnCorrectValueToGivenKey() { } @Test - public void getValueOfKey_Should_ReturnNullWhenSessionDataValueIsNull() { + void getValueOfKey_Should_ReturnNullWhenSessionDataValueIsNull() { when(consultingTypeManager.getConsultingTypeSettings(CONSULTING_TYPE_ID_SUCHT)) .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_ALL_SESSION_DATA_ITEMS); @@ -290,13 +288,13 @@ public void getValueOfKey_Should_ReturnNullWhenSessionDataValueIsNull() { } @Test - public void getValueOfKey_Should_ReturnNullWhenSessionDataListIsNull() { + void getValueOfKey_Should_ReturnNullWhenSessionDataListIsNull() { assertNull(getValueOfKey(null, AGE)); } @Test - public void getSessionDataMapFromSession_Should_ReturnCorrectMapOfSessionDataItems() { + void getSessionDataMapFromSession_Should_ReturnCorrectMapOfSessionDataItems() { Map result = sessionDataProvider.getSessionDataMapFromSession(INITIALIZED_SESSION_WITH_SESSION_DATA); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java index 01ca9e0a8..8c97d027f 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java @@ -25,13 +25,11 @@ import static de.caritas.cob.userservice.api.testHelper.TestConstants.USER_WITH_RC_ID; import static java.util.Collections.singleton; import static java.util.Collections.singletonList; -import static liquibase.util.BooleanUtils.isTrue; import static org.assertj.core.api.Assertions.assertThat; import static org.hamcrest.CoreMatchers.everyItem; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; -import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; @@ -73,7 +71,6 @@ import de.caritas.cob.userservice.api.service.agency.AgencyService; import de.caritas.cob.userservice.api.service.user.UserService; import de.caritas.cob.userservice.api.testHelper.TestConstants; -import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -85,8 +82,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.NullAndEmptySource; -import org.junit.jupiter.params.provider.NullSource; -import org.junit.jupiter.params.provider.ValueSource; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; @@ -742,21 +737,6 @@ void getEnquiriesForConsultant_Should_returnEmptyList_When_consultantHasNoAgency assertThat(activeAndDoneSessionsForConsultant, hasSize(2)); } - @ParameterizedTest - @ValueSource(booleans = {true, false}) - @NullSource - void initializeSession_Should_initializePeerChat_When_consultingTypeSettingsHasPeerChat( - Boolean isPeerChat) { - var consultingTypeResponse = easyRandom.nextObject(ExtendedConsultingTypeResponseDTO.class); - consultingTypeResponse.setIsPeerChat(isPeerChat); - when(sessionRepository.save(any())).then(answer -> answer.getArgument(0, Session.class)); - when(consultingTypeManager.getConsultingTypeSettings(any())).thenReturn(consultingTypeResponse); - - var expectedSession = sessionService.initializeSession(USER, USER_DTO, IS_TEAM_SESSION); - - assertThat(expectedSession.isPeerChat(), is(isTrue(isPeerChat))); - } - @Test void getAllowedSessionsByConsultantAndGroupIds_should_find_new_anonymous_enquiry_if_consultant_may_advise_consulting_type() { diff --git a/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java b/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java index 1b4784347..fce27dcca 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java +++ b/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java @@ -32,9 +32,6 @@ public ExtendedConsultingTypeResponseDTO getConsultingTypeSettings(int consultin private ExtendedConsultingTypeResponseDTO createDummy(Integer consultingTypeId) { var dummy = new EasyRandom().nextObject(ExtendedConsultingTypeResponseDTO.class); dummy.welcomeMessage(null); - if (initializeFeedbackChat.isPresent()) { - dummy.initializeFeedbackChat(false); - } return dummy.id(consultingTypeId); } }; diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index 2fddf1eb7..29a65108f 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -1559,7 +1559,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(true) .roles(null) @@ -1584,7 +1583,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1600,7 +1598,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1624,7 +1621,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1640,7 +1636,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(null) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1668,7 +1663,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText("Hallo")) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1684,7 +1678,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText("Hallo")) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1699,7 +1692,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1714,7 +1706,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText("Hallo")) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1730,7 +1721,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText("Hallo")) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1746,7 +1736,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1762,7 +1751,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1778,7 +1766,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) .sendFurtherStepsMessage(true) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) @@ -1794,7 +1781,6 @@ public class TestConstants { new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText("Hallo")) .sendFurtherStepsMessage(false) .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .initializeFeedbackChat(false) .notifications(null) .languageFormal(false) .roles(null) From 64c0096097504a46524264829a6dc2b0513b6d31 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 5 Aug 2024 14:03:35 +0200 Subject: [PATCH 40/64] CARITAS-243 - Remove feedback comments --- .../userservice/api/adapters/web/controller/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java index db6f5b445..0b8d084fb 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/web/controller/UserController.java @@ -337,7 +337,7 @@ public ResponseEntity getSessionsForAuthenticatedUse /** * Returns a list of sessions for the currently authenticated/logged in user and given RocketChat - * group, or feedback group IDs. + * group IDs. * * @param rcToken Rocket.Chat token (required) * @return {@link ResponseEntity} of {@link UserSessionListResponseDTO} From eb9304947eb4de8df0c1732ce15284b2cbcb2adf Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 10:40:49 +0200 Subject: [PATCH 41/64] CARITAS-243 - Remove feedback comments --- .../rocketchat/RocketChatRemoveFromGroupOperationService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java index d26060e4e..961dbb614 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationService.java @@ -54,7 +54,7 @@ public RocketChatRemoveFromGroupOperationService onSessionConsultants( return this; } - /** Removes the given consultant from Rocket.Chat group and feedback group of given session. */ + /** Removes the given consultant from Rocket.Chat group of given session. */ public void removeFromGroupsOrRollbackOnFailure() { this.consultantsToRemoveFromSessions.forEach( (session, consultants) -> From bfe772072778f4615c99fe8f926363e117f477f4 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 10:48:50 +0200 Subject: [PATCH 42/64] CARITAS-243 - Remove USE_FEEDBACK Authority --- .../api/config/auth/Authority.java | 1 - .../api/config/auth/SecurityConfig.java | 2 - .../AppointmentControllerAuthorizationIT.java | 4 -- ...ConversationControllerAuthorizationIT.java | 5 -- .../UserAdminControllerAuthorizationIT.java | 14 ------ .../UserControllerAuthorizationIT.java | 46 ------------------- 6 files changed, 72 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java index 6ebe20bfb..5662fff8d 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java @@ -76,7 +76,6 @@ private AuthorityValue() {} public static final String NOTIFICATIONS_TECHNICAL = PREFIX + "NOTIFICATIONS_TECHNICAL"; public static final String USER_DEFAULT = PREFIX + "USER_DEFAULT"; public static final String CONSULTANT_DEFAULT = PREFIX + "CONSULTANT_DEFAULT"; - public static final String USE_FEEDBACK = PREFIX + "USE_FEEDBACK"; public static final String VIEW_ALL_PEER_SESSIONS = PREFIX + "VIEW_ALL_PEER_SESSIONS"; public static final String ASSIGN_CONSULTANT_TO_SESSION = PREFIX + "ASSIGN_CONSULTANT_TO_SESSION"; diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/SecurityConfig.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/SecurityConfig.java index 1d470a71c..b887c2953 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/SecurityConfig.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/SecurityConfig.java @@ -170,8 +170,6 @@ protected void configure(HttpSecurity http) throws Exception { .hasAuthority(TECHNICAL_DEFAULT) .antMatchers("/liveproxy/send") .hasAnyAuthority(USER_DEFAULT, CONSULTANT_DEFAULT, ANONYMOUS_DEFAULT) - .antMatchers("/users/mails/messages/feedback/new") - .hasAuthority(USE_FEEDBACK) .antMatchers("/users/messages/key") .hasAuthority(TECHNICAL_DEFAULT) .antMatchers("/users/chat/new", "/users/chat/v2/new") diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java index df69a9d44..2728bf599 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java @@ -94,7 +94,6 @@ void putAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.TECHNICAL_DEFAULT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.USER_ADMIN, AuthorityValue.START_CHAT, @@ -144,7 +143,6 @@ void deleteAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.TECHNICAL_DEFAULT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.USER_ADMIN, AuthorityValue.START_CHAT, @@ -189,7 +187,6 @@ void getAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.USER_ADMIN, AuthorityValue.START_CHAT, @@ -234,7 +231,6 @@ void postAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throw AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.USER_ADMIN, AuthorityValue.START_CHAT, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java index 162ed76d0..f225b5ea8 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java @@ -15,7 +15,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.UPDATE_CHAT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_ADMIN; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_DEFAULT; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USE_FEEDBACK; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_AGENCY_CONSULTANTS; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static de.caritas.cob.userservice.api.conversation.model.ConversationListType.ANONYMOUS_ENQUIRY; @@ -114,7 +113,6 @@ void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultant authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -193,7 +191,6 @@ void getRegisteredEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultan authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -265,7 +262,6 @@ void acceptAnonymousEnquirys_Should_ReturnOK_When_ProperlyAuthorizedWithConsulta authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -387,7 +383,6 @@ void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloakAuthori authorities = { USER_DEFAULT, CONSULTANT_DEFAULT, - USE_FEEDBACK, VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_SESSION, ASSIGN_CONSULTANT_TO_ENQUIRY, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java index 9a5ef8ef0..9590df198 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java @@ -87,7 +87,6 @@ void getSessions_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthor authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -137,7 +136,6 @@ void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdminAuthori authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -183,7 +181,6 @@ void generateViolationReport_Should_ReturnForbiddenAndCallNoMethods_When_noUserA authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -233,7 +230,6 @@ void getConsultants_Should_ReturnOkAndCallConsultantAdminFilterService_When_user authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -283,7 +279,6 @@ void getConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userA authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -332,7 +327,6 @@ void getConsultantAgencies_Should_ReturnOkAndCallConsultantAdminFacade_When_user authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -381,7 +375,6 @@ void createConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_us authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -434,7 +427,6 @@ void updateConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_us authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -496,7 +488,6 @@ void setConsultantAgenciesShouldReturnUnauthorizedAndCallNoMethodsWhenNoKeycloak AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -550,7 +541,6 @@ void setConsultantAgenciesShouldReturnOkAndCallConsultantAdminFacade() throws Ex authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -604,7 +594,6 @@ void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminA authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -658,7 +647,6 @@ void deleteConsultantAgency_Should_ReturnCreatedAndCallConsultantAdmin_When_user authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -722,7 +710,6 @@ void deleteAsker_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthor authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -765,7 +752,6 @@ void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java index ec9b51472..52346af40 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java @@ -196,7 +196,6 @@ void registerUser_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thro authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -260,7 +259,6 @@ void registerNewConsultingType_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrf authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -324,7 +322,6 @@ void getEnquiriesForAgency_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycl authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -387,7 +384,6 @@ void acceptEnquiry_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAutho authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -449,7 +445,6 @@ void createEnquiryMessage_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeyclo authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -514,7 +509,6 @@ void createEnquiryMessage_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfToken authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -577,7 +571,6 @@ void updateAbsence_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAutho authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -639,7 +632,6 @@ void updateAbsence_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thr authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -702,7 +694,6 @@ void getUserData_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthori authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -764,7 +755,6 @@ void getUserData_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() throw authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -829,7 +819,6 @@ void getUserData_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() throw authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -891,7 +880,6 @@ void importConsultants_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakA authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, @@ -953,7 +941,6 @@ void importAskers_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthor authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, @@ -1015,7 +1002,6 @@ void importAskers_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thro authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, @@ -1094,7 +1080,6 @@ void searchConsultantsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.CREATE_NEW_CHAT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -1133,7 +1118,6 @@ void getConsultants_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, @@ -1225,7 +1209,6 @@ void updatePassword_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth @WithMockUser( authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, - AuthorityValue.USE_FEEDBACK, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.TECHNICAL_DEFAULT, @@ -1291,7 +1274,6 @@ void updateKey_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -1353,7 +1335,6 @@ void createChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriz authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -1432,7 +1413,6 @@ void startChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -1516,7 +1496,6 @@ void joinChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizat authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -1614,7 +1593,6 @@ void getChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizati authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -1710,7 +1688,6 @@ void stopChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizat authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_DEFAULT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -1792,7 +1769,6 @@ void getChatMembers_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -1894,7 +1870,6 @@ void leaveChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -1986,7 +1961,6 @@ void banUserFromChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAut AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.USER_ADMIN, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2044,7 +2018,6 @@ void updateE2eInChats_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAu AuthorityValue.STOP_CHAT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.USE_FEEDBACK, AuthorityValue.USER_ADMIN, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2087,7 +2060,6 @@ void updateChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriz authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2161,7 +2133,6 @@ void updateChat_Should_ReturnOK_WhenProperlyAuthorizedWithUpdateChatAuthority() authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -2223,7 +2194,6 @@ void updateEmailAddress_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloak authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2296,7 +2266,6 @@ void deleteEmailAddress_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloak authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2365,7 +2334,6 @@ void deleteEmailAddress_Should_ReturnOK_WhenProperlyAuthorizedWithUpdateChatAuth authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2427,7 +2395,6 @@ void updateMobileToken_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakA authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2499,7 +2466,6 @@ void updateSessionData_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloak authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2568,7 +2534,6 @@ void patchUser_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAuthoriz authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2621,7 +2586,6 @@ void updateUserData_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAut authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2736,7 +2700,6 @@ void archiveSession_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() th authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2788,7 +2751,6 @@ void dearchiveSession_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2845,7 +2807,6 @@ void addMobileAppToken_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -2900,7 +2861,6 @@ void deleteSessionAndInactiveUser_Should_ReturnForbiddenAndCallNoMethods_WhenNoC authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_ADMIN, AuthorityValue.VIEW_AGENCY_CONSULTANTS, @@ -2956,7 +2916,6 @@ void deactivateAndFlagUserAccountForDeletion_Should_ReturnForbidden_WhenNoConsul authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -3013,7 +2972,6 @@ void startTwoFactorAuthByEmailSetup_Should_ReturnForbiddenAndCallNoMethods_When_ authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -3081,7 +3039,6 @@ void activateTwoFactorAuthByApp_Should_ReturnBadRequest_When_RequestBody_Is_Miss authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -3151,7 +3108,6 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -3207,7 +3163,6 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, @@ -3260,7 +3215,6 @@ void getSessionForId_should_return_forbidden_and_call_no_methods_when_no_csrf_to authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.USE_FEEDBACK, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, AuthorityValue.VIEW_ALL_PEER_SESSIONS, From d99b6301354a058a01d2e12f016a91db71842651 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 10:52:08 +0200 Subject: [PATCH 43/64] CARITAS-243 - Remove feedback comments --- .../api/facade/assignsession/AssignSessionFacade.java | 1 - .../api/facade/sessionlist/SessionListFacade.java | 6 +++--- .../caritas/cob/userservice/api/service/ChatService.java | 2 +- .../userservice/api/service/session/SessionService.java | 8 ++++---- .../service/sessionlist/ConsultantSessionListService.java | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java index 7d59bab25..60f32509b 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacade.java @@ -47,7 +47,6 @@ public class AssignSessionFacade { /** * Assigns the given {@link Session} session to the given {@link Consultant}. Remove all other * consultants from the Rocket.Chat group which don't have the right to view this session anymore. - * Furthermore add the given {@link Consultant} to the feedback group if needed. * *

If the statistics function is enabled, the assignment of the session is processed as a * statistical event. diff --git a/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java b/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java index be1b7eddb..0e81a226f 100644 --- a/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java +++ b/src/main/java/de/caritas/cob/userservice/api/facade/sessionlist/SessionListFacade.java @@ -71,10 +71,10 @@ public UserSessionListResponseDTO retrieveSortedSessionsForAuthenticatedUser( /** * Returns a list of {@link UserSessionListResponseDTO} for the specified user ID and rocket chat - * group, or feedback group IDs, with the session list sorted by last message date descending. + * group IDs, with the session list sorted by last message date descending. * * @param userId the user ID - * @param rcGroupIds the group or feedback group IDs + * @param rcGroupIds the group IDs * @param rocketChatCredentials the rocket chat credentials * @param roles the roles of given user * @return {@link UserSessionListResponseDTO} @@ -144,7 +144,7 @@ public GroupSessionListResponseDTO retrieveChatsForUserByChatIds( /** * @param consultant the authenticated consultant - * @param rcGroupIds the group or feedback group IDs + * @param rcGroupIds the group IDs * @param roles the roles of given consultant * @return {@link GroupSessionListResponseDTO} */ diff --git a/src/main/java/de/caritas/cob/userservice/api/service/ChatService.java b/src/main/java/de/caritas/cob/userservice/api/service/ChatService.java index 75fbcc075..6553c12d0 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/ChatService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/ChatService.java @@ -211,7 +211,7 @@ public List getChatSessionsForConsultantByIds(Set< /** * Returns an {@link List} of {@link UserSessionResponseDTO} for the provided group IDs. * - * @param groupIds a list of rocket chat group or feedback group IDs + * @param groupIds a list of rocket chat group IDs * @return {@link List} */ public List getChatSessionsByGroupIds(Set groupIds) { diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java index c35d13761..466c0b6df 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionService.java @@ -362,10 +362,10 @@ public void deleteSession(Session session) { } /** - * Retrieves user sessions by user ID and rocket chat group, or feedback group IDs + * Retrieves user sessions by user ID and rocket chat group IDs * * @param userId the user ID - * @param rcGroupIds rocket chat group or feedback group IDs + * @param rcGroupIds rocket chat group IDs * @param roles the roles of the given user * @return {@link UserSessionResponseDTO} */ @@ -407,10 +407,10 @@ private List fetchAgencies(List sessions) { } /** - * Retrieves consultant sessions by consultant ID and rocket chat group, or feedback group IDs + * Retrieves consultant sessions by consultant ID and rocket chat group IDs * * @param consultant the ID of the consultant - * @param rcGroupIds rocket chat group or feedback group IDs + * @param rcGroupIds rocket chat group IDs * @param roles the roles of the given consultant * @return {@link ConsultantSessionResponseDTO} */ diff --git a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java index eed06c000..8c13c6442 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/sessionlist/ConsultantSessionListService.java @@ -34,7 +34,7 @@ public class ConsultantSessionListService { /** * @param consultant {@link Consultant} - * @param rcGroupIds rocket chat group or feedback group IDs + * @param rcGroupIds rocket chat group IDs * @param roles roles of the consultant * @return List of {@link ConsultantSessionResponseDTO} */ From ec2f9b575eebbf5c5981af525ec5619129361ff2 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 10:56:09 +0200 Subject: [PATCH 44/64] CARITAS-243 - Remove addition of the peer chat to session from the test db --- .../0014_changeSet.xml | 15 --------------- .../add-is-peer-chat-to-session-rollback.sql | 2 -- .../add-is-peer-chat-to-session.sql | 6 ------ 3 files changed, 23 deletions(-) delete mode 100644 src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml delete mode 100644 src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql delete mode 100644 src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql diff --git a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml deleted file mode 100644 index 696ca6a89..000000000 --- a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - diff --git a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql deleted file mode 100644 index 454c728fe..000000000 --- a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `userservice`.`session` -DROP `is_peer_chat`; diff --git a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql deleted file mode 100644 index 27daa8aa2..000000000 --- a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE `userservice`.`session` - ADD `is_peer_chat` tinyint(4) unsigned NOT NULL DEFAULT '0' - AFTER `rc_feedback_group_id`; -UPDATE `userservice`.`session` - SET `is_peer_chat` = '1' - WHERE `rc_feedback_group_id` IS NOT NULL; From 3033d574ef9d3e364ec9532f6e8f1e84f3a959c0 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 11:21:44 +0200 Subject: [PATCH 45/64] CARITAS-243 - Remove feedback from tests CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT_AND_WELCOME_MESSAGE --- .../UserControllerAuthorizationIT.java | 6 +-- .../UserControllerSessionE2EIT.java | 10 ---- ...atRemoveFromGroupOperationServiceTest.java | 2 - .../CreateEnquiryMessageFacadeTest.java | 47 ------------------- .../AssignEnquiryFacadeTest.java | 18 ------- .../NewMessageEmailSupplierTest.java | 40 ++++++++-------- .../api/service/session/SessionServiceIT.java | 2 +- .../ConsultingTypeManagerTestConfig.java | 6 +-- 8 files changed, 25 insertions(+), 106 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java index 52346af40..03b11a1bc 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java @@ -3119,7 +3119,7 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex AuthorityValue.USER_ADMIN }) void - getSessionsForGroupOrFeedbackGroupIds_should_return_forbidden_and_call_no_methods_when_no_user_or_consultant_authority() + getSessionsForGroupOrGroupIds_should_return_forbidden_and_call_no_methods_when_no_user_or_consultant_authority() throws Exception { mvc.perform( get("/users/sessions/room?rcGroupIds=mzAdWzQEobJ2PkoxP") @@ -3134,7 +3134,7 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex @Test @WithMockUser(authorities = {AuthorityValue.USER_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT}) void - getSessionsForGroupOrFeedbackGroupIds_should_return_forbidden_and_call_no_methods_when_no_csrf_token_given() + getSessionsForGroupOrGroupIds_should_return_forbidden_and_call_no_methods_when_no_csrf_token_given() throws Exception { mvc.perform( get("/users/sessions/room?rcGroupIds=mzAdWzQEobJ2PkoxP") @@ -3146,7 +3146,7 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex @Test void - getSessionsForGroupOrFeedbackGroupIds_should_return_unauthorized_and_call_no_methods_when_no_keycloak_authorization() + getSessionsForGroupOrGroupIds_should_return_unauthorized_and_call_no_methods_when_no_keycloak_authorization() throws Exception { mvc.perform( get("/users/sessions/room?rcGroupIds=mzAdWzQEobJ2PkoxP") diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java index a70183c07..518000a75 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerSessionE2EIT.java @@ -116,11 +116,9 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.boot.test.system.CapturedOutput; import org.springframework.boot.test.system.OutputCaptureExtension; -import org.springframework.context.annotation.Bean; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; @@ -179,14 +177,6 @@ class UserControllerSessionE2EIT { @MockBean private RocketChatCredentialsProvider rocketChatCredentialsProvider; - @TestConfiguration - static class TestConfig { - @Bean(name = "initializeFeedbackChat") - public Boolean initializeFeedbackChat() { - return false; - } - } - @SuppressWarnings("unused") @MockBean private ConsultantDataFacade consultantDataFacade; diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java index b4d2ab674..32935ad65 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java @@ -7,7 +7,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -131,7 +130,6 @@ void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChatGroup() this.removeService.removeFromGroupOrRollbackOnFailure(); verify(this.rocketChatFacade, times(1)).removeUserFromGroup("rcId", "group"); - verify(this.rocketChatFacade, never()).removeUserFromGroup("rcId", "feedback"); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java index b62c22b5c..081e88097 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/CreateEnquiryMessageFacadeTest.java @@ -159,35 +159,6 @@ class CreateEnquiryMessageFacadeTest { .languageFormal(false) .roles(null) .registration(null); - private final ExtendedConsultingTypeResponseDTO CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT = - new ExtendedConsultingTypeResponseDTO() - .id(CONSULTING_TYPE_ID_SUCHT) - .slug("suchtberatung") - .groupChat(new GroupChatDTO().isGroupChat(false)) - .consultantBoundedToConsultingType(false) - .welcomeMessage( - new WelcomeMessageDTO().sendWelcomeMessage(false).welcomeMessageText(null)) - .sendFurtherStepsMessage(false) - .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .notifications(null) - .languageFormal(false) - .roles(null) - .registration(null); - private final ExtendedConsultingTypeResponseDTO - CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT_AND_WELCOME_MESSAGE = - new ExtendedConsultingTypeResponseDTO() - .id(CONSULTING_TYPE_ID_SUCHT) - .slug("suchtberatung") - .groupChat(new GroupChatDTO().isGroupChat(false)) - .consultantBoundedToConsultingType(false) - .welcomeMessage( - new WelcomeMessageDTO().sendWelcomeMessage(true).welcomeMessageText(MESSAGE)) - .sendFurtherStepsMessage(false) - .sessionDataInitializing(SESSION_DATA_INITIALIZING) - .notifications(null) - .languageFormal(false) - .roles(null) - .registration(null); private final EasyRandom easyRandom = new EasyRandom(); @@ -777,9 +748,6 @@ void createEnquiryMessage_Should_ThrowInternalServerErrorException_When_UpdateOf void createEnquiryMessage_Should_DeleteRcGroup_WhenAddSystemUserToGroupFails() { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); @@ -801,9 +769,6 @@ void createEnquiryMessage_Should_DeleteRcGroup_WhenRemoveSystemMessagesFails() RocketChatUserNotInitializedException { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) @@ -833,9 +798,6 @@ void createEnquiryMessage_Should_DeleteRcGroup_When_UpdateOfSessionFails() throw Session spySession = Mockito.spy(SESSION_WITHOUT_CONSULTANT); when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(spySession)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatRoomNameGenerator.generateGroupName(Mockito.any(Session.class))) @@ -861,9 +823,6 @@ void createEnquiryMessage_Should_DeleteRcGroup_When_PostWelcomeMessageFailsWithA throws Exception { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT_AND_WELCOME_MESSAGE); when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) @@ -900,9 +859,6 @@ void createEnquiryMessage_Should_DeleteRcGroup_When_PostMessageFailsWithAnExcept throws Exception { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT); when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) @@ -938,9 +894,6 @@ void createEnquiryMessage_Should_DeleteRcGroup_When_UpdateOfUserFailsWithAnExcep throws Exception { when(sessionService.getSession(SESSION_ID)).thenReturn(Optional.of(SESSION_WITHOUT_CONSULTANT)); - when(consultingTypeManager.getConsultingTypeSettings( - SESSION_WITHOUT_CONSULTANT.getConsultingTypeId())) - .thenReturn(CONSULTING_TYPE_SETTINGS_WITH_FEEDBACK_CHAT_AND_WELCOME_MESSAGE); when(rocketChatService.getUserInfo(RC_USER_ID)).thenReturn(USER_INFO_RESPONSE_DTO); when(userHelper.doUsernamesMatch(Mockito.anyString(), Mockito.anyString())).thenReturn(true); when(rocketChatService.createPrivateGroup(Mockito.anyString(), Mockito.eq(RC_CREDENTIALS))) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java index 18b7df1a0..35925deec 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java @@ -158,24 +158,6 @@ void assignEnquiry_Should_LogError_WhenRemoveSystemMessagesFromGroupFails() { U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY, IN_PROGRESS); } - @Test - void assignEnquiry_Should_LogError_When_RemoveSystemMessagesFromFeedbackChatFails() { - doThrow(new InternalServerErrorException("error")) - .when(rocketChatFacade) - .removeSystemMessagesFromRocketChatGroup(Mockito.any()); - - assignEnquiryFacade.assignRegisteredEnquiry( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - - verifyConsultantAndSessionHaveBeenChecked( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY); - verifyAsync( - (a) -> verify(logger, times(1)).error(anyString(), anyString(), anyString(), anyString())); - verify(sessionService, times(1)) - .updateConsultantAndStatusForSession( - U25_SESSION_WITHOUT_CONSULTANT, CONSULTANT_WITH_AGENCY, IN_PROGRESS); - } - @Test void assignEnquiry_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSession() { Session session = new EasyRandom().nextObject(Session.class); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java index fe4ee49bd..01796b35f 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java @@ -59,7 +59,7 @@ @ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) -public class NewMessageEmailSupplierTest { +class NewMessageEmailSupplierTest { private NewMessageEmailSupplier newMessageEmailSupplier; @@ -82,11 +82,11 @@ public class NewMessageEmailSupplierTest { @Mock private ReleaseToggleService releaseToggleService; @BeforeEach - public void setup() { + void setup() { this.newMessageEmailSupplier = NewMessageEmailSupplier.builder() .session(session) - .rcGroupId("feedbackGroupId") + .rcGroupId("groupId") .roles(roles) .userId(USER.getUserId()) .consultantAgencyService(consultantAgencyService) @@ -101,14 +101,14 @@ public void setup() { } @Test - public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { + void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { List generatedMails = this.newMessageEmailSupplier.generateEmails(); assertThat(generatedMails, hasSize(0)); } @Test - public void + void generateEmails_Should_ReturnEmptyListAndLogError_When_UserRoleIsUserAndSessionIsNotValidAndMessageIsNotTheFirst() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); User userAnotherId = mock(User.class); @@ -123,7 +123,7 @@ public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - public void + void generateEmails_Should_ReturnEmptyListAndNotLogError_When_UserRoleIsUserAndSessionIsNotValidAndMessageIsTheFirst() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); when(session.getUser()).thenReturn(USER); @@ -135,7 +135,7 @@ public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - public void + void generateEmails_Should_ReturnEmptyList_When_UserRoleIsUserAndSessionIsValidAndMessageAndNoDependentConsultantsExists() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); when(session.getUser()).thenReturn(USER); @@ -148,7 +148,7 @@ public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - public void + void generateEmails_Should_ReturnExpectedMail_When_UserRoleIsUserAndSessionIsNoTeamSession() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); User user = mock(User.class); @@ -177,7 +177,7 @@ public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - public void + void generateEmails_Should_ReturnExpectedMail_When_UserRoleIsUserAndSessionIsTeamSession() { ExtendedConsultingTypeResponseDTO settings = mock(ExtendedConsultingTypeResponseDTO.class); NewMessageDTO newMessageDTO = new NewMessageDTO().allTeamConsultants(true); @@ -213,7 +213,7 @@ public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - public void + void generateEmails_Should_ReturnEmptyListAndLogError_When_UserRoleIsConsultantAndAskerHasNoMailAddress() { when(roles.contains(UserRole.CONSULTANT.getValue())).thenReturn(true); User user = Mockito.mock(User.class); @@ -227,7 +227,7 @@ public void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - public void generateEmails_Should_ReturnEmptyList_When_UserMailIsDummy() { + void generateEmails_Should_ReturnEmptyList_When_UserMailIsDummy() { when(roles.contains(UserRole.CONSULTANT.getValue())).thenReturn(true); User user = mock(User.class); when(user.getEmail()).thenReturn("email@dummySuffix"); @@ -239,7 +239,7 @@ public void generateEmails_Should_ReturnEmptyList_When_UserMailIsDummy() { } @Test - public void generateEmails_Should_ReturnEmailToConsultant_When_NewChatMessageToggleIsOn() { + void generateEmails_Should_ReturnEmailToConsultant_When_NewChatMessageToggleIsOn() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); when(session.getConsultant()).thenReturn(CONSULTANT); when(session.getUser()).thenReturn(USER); @@ -251,7 +251,7 @@ public void generateEmails_Should_ReturnEmailToConsultant_When_NewChatMessageTog } @Test - public void generateEmails_Should_ReturnNoEmailToConsultant_When_NewChatMessageToggleIsOff() { + void generateEmails_Should_ReturnNoEmailToConsultant_When_NewChatMessageToggleIsOff() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); Consultant consultant = mock(Consultant.class); when(consultant.getNotifyNewChatMessageFromAdviceSeeker()).thenReturn(false); @@ -266,7 +266,7 @@ public void generateEmails_Should_ReturnNoEmailToConsultant_When_NewChatMessageT } @Test - public void generateEmails_Should_ReturnEmailToConsultant_When_ConsultantIsOffline() { + void generateEmails_Should_ReturnEmailToConsultant_When_ConsultantIsOffline() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); when(session.getConsultant()).thenReturn(CONSULTANT); when(session.getUser()).thenReturn(USER); @@ -279,7 +279,7 @@ public void generateEmails_Should_ReturnEmailToConsultant_When_ConsultantIsOffli } @Test - public void generateEmails_Should_ReturnNoEmailToConsultant_When_ConsultantIsOnline() { + void generateEmails_Should_ReturnNoEmailToConsultant_When_ConsultantIsOnline() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); when(session.getConsultant()).thenReturn(CONSULTANT); when(session.getUser()).thenReturn(USER); @@ -292,7 +292,7 @@ public void generateEmails_Should_ReturnNoEmailToConsultant_When_ConsultantIsOnl } @Test - public void + void generateEmails_Should_ReturnExpectedEmailToAsker_When_ConsultantWritesToValidReceiver() { when(roles.contains(UserRole.CONSULTANT.getValue())).thenReturn(true); Consultant consultant = mock(Consultant.class); @@ -319,7 +319,7 @@ public void generateEmails_Should_ReturnNoEmailToConsultant_When_ConsultantIsOnl } @Test - public void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceSeekerIsOffline() { + void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceSeekerIsOffline() { when(roles.contains(UserRole.CONSULTANT.getValue())).thenReturn(true); Consultant consultant = mock(Consultant.class); when(consultant.getUsername()).thenReturn(USERNAME_ENCODED); @@ -334,7 +334,7 @@ public void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceS } @Test - public void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceSeekerIsOnline() { + void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceSeekerIsOnline() { when(roles.contains(UserRole.CONSULTANT.getValue())).thenReturn(true); when(session.getUser()).thenReturn(USER); when(messageClient.isLoggedIn(any())).thenReturn(Optional.of(true)); @@ -345,7 +345,7 @@ public void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceS } @Test - public void + void generateEmails_Should_ReturnExpectedEmailToAsker_When_ConsultantWritesToValidReceiverMultiTenancy() { // given givenCurrentTenantDataIsSet(); @@ -372,7 +372,7 @@ public void generateEmails_Should_ReturnExpectedEmailToAdviceSeeker_When_AdviceS } @Test - public void generateEmails_Should_ThrowInternalServerException_When_ConsultantIsNotFound() { + void generateEmails_Should_ThrowInternalServerException_When_ConsultantIsNotFound() { assertThrows( InternalServerErrorException.class, () -> { diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java index 4fb81bf07..05346ec24 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceIT.java @@ -85,7 +85,7 @@ void fetchSessionForConsultant_Should_Throw_ForbiddenException_When_ConsultantHa } @Test - void getSessionsByUserAndGroupOrFeedbackGroupIdsShouldBeForbiddenIfUserHasNotRequiredRole() { + void getSessionsByUserAndGroupIdsShouldBeForbiddenIfUserHasNotRequiredRole() { assertThrows( ForbiddenException.class, () -> diff --git a/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java b/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java index fce27dcca..151b08685 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java +++ b/src/test/java/de/caritas/cob/userservice/api/testConfig/ConsultingTypeManagerTestConfig.java @@ -4,9 +4,7 @@ import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager; import de.caritas.cob.userservice.api.service.ConsultingTypeService; import de.caritas.cob.userservice.consultingtypeservice.generated.web.model.ExtendedConsultingTypeResponseDTO; -import java.util.Optional; import org.jeasy.random.EasyRandom; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.context.annotation.Bean; @@ -14,9 +12,7 @@ public class ConsultingTypeManagerTestConfig { @Bean - public ConsultingTypeManager consultingTypeManager( - ConsultingTypeService consultingTypeService, - @Qualifier("initializeFeedbackChat") Optional initializeFeedbackChat) { + public ConsultingTypeManager consultingTypeManager(ConsultingTypeService consultingTypeService) { return new ConsultingTypeManager(consultingTypeService) { @Override public ExtendedConsultingTypeResponseDTO getConsultingTypeSettings(String consultingTypeId) { From a26677a976fa47a94746db3deef03670bb95ff44 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 11:33:36 +0200 Subject: [PATCH 46/64] CARITAS-243 - Remove VIEW_ALL_PEER_SESSIONS --- .../de/caritas/cob/userservice/api/IdentityManager.java | 7 ------- .../cob/userservice/api/port/in/IdentityManaging.java | 2 -- .../emailsupplier/NewMessageEmailSupplierTest.java | 9 +++------ 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java b/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java index 1f625395c..efdb8ba30 100644 --- a/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java +++ b/src/main/java/de/caritas/cob/userservice/api/IdentityManager.java @@ -14,8 +14,6 @@ @RequiredArgsConstructor public class IdentityManager implements IdentityManaging { - private static final String VIEW_ALL_PEER_SESSIONS = "AUTHORIZATION_VIEW_ALL_PEER_SESSIONS"; - private final IdentityClient identityClient; @Override @@ -72,9 +70,4 @@ public boolean isEmailAvailableOrOwn(String username, String email) { || user.get("encodedUsername").equals(username) || user.get("decodedUsername").equals(username); } - - @Override - public boolean canViewPeerSessions(String consultantId) { - return identityClient.userHasAuthority(consultantId, VIEW_ALL_PEER_SESSIONS); - } } diff --git a/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java b/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java index b1b9b9249..0d370d766 100644 --- a/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java +++ b/src/main/java/de/caritas/cob/userservice/api/port/in/IdentityManaging.java @@ -24,6 +24,4 @@ public interface IdentityManaging { OtpInfoDTO getOtpCredential(String username); boolean isEmailAvailableOrOwn(String username, String email); - - boolean canViewPeerSessions(String consultantId); } diff --git a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java index 01796b35f..be9d93d61 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewMessageEmailSupplierTest.java @@ -148,8 +148,7 @@ void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - void - generateEmails_Should_ReturnExpectedMail_When_UserRoleIsUserAndSessionIsNoTeamSession() { + void generateEmails_Should_ReturnExpectedMail_When_UserRoleIsUserAndSessionIsNoTeamSession() { when(roles.contains(UserRole.USER.getValue())).thenReturn(true); User user = mock(User.class); when(user.getUserId()).thenReturn(USER.getUserId()); @@ -177,8 +176,7 @@ void generateEmails_Should_ReturnEmptyList_When_NoUserRoleIsAvailable() { } @Test - void - generateEmails_Should_ReturnExpectedMail_When_UserRoleIsUserAndSessionIsTeamSession() { + void generateEmails_Should_ReturnExpectedMail_When_UserRoleIsUserAndSessionIsTeamSession() { ExtendedConsultingTypeResponseDTO settings = mock(ExtendedConsultingTypeResponseDTO.class); NewMessageDTO newMessageDTO = new NewMessageDTO().allTeamConsultants(true); TeamSessionsDTO teamSessionsDTO = new TeamSessionsDTO().newMessage(newMessageDTO); @@ -292,8 +290,7 @@ void generateEmails_Should_ReturnNoEmailToConsultant_When_ConsultantIsOnline() { } @Test - void - generateEmails_Should_ReturnExpectedEmailToAsker_When_ConsultantWritesToValidReceiver() { + void generateEmails_Should_ReturnExpectedEmailToAsker_When_ConsultantWritesToValidReceiver() { when(roles.contains(UserRole.CONSULTANT.getValue())).thenReturn(true); Consultant consultant = mock(Consultant.class); when(consultant.getUsername()).thenReturn(USERNAME_ENCODED); From 67a46af3bca8e5635a099941a3f4b004bba866db Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 11:41:42 +0200 Subject: [PATCH 47/64] CARITAS-243 - Remove ASSIGN_CONSULTANT_TO_PEER_SESSION --- .../caritas/cob/userservice/api/config/auth/Authority.java | 7 +------ .../controller/AppointmentControllerAuthorizationIT.java | 4 ---- .../controller/ConversationControllerAuthorizationIT.java | 2 -- .../web/controller/UserAdminControllerAuthorizationIT.java | 3 +-- .../web/controller/UserControllerAuthorizationIT.java | 2 -- .../cob/userservice/api/config/auth/AuthorityTest.java | 3 +-- 6 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java index 5662fff8d..df6482352 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java @@ -2,7 +2,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ANONYMOUS_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.CONSULTANT_CREATE; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.CONSULTANT_DEFAULT; @@ -34,9 +33,7 @@ public enum Authority { UserRole.CONSULTANT, List.of(CONSULTANT_DEFAULT, ASSIGN_CONSULTANT_TO_SESSION, VIEW_AGENCY_CONSULTANTS)), MAIN_CONSULTANT( - UserRole.MAIN_CONSULTANT, - List.of( - VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_ENQUIRY, ASSIGN_CONSULTANT_TO_PEER_SESSION)), + UserRole.MAIN_CONSULTANT, List.of(VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_ENQUIRY)), TECHNICAL(UserRole.TECHNICAL, singletonList(TECHNICAL_DEFAULT)), NOTIFICATIONS_TECHNICAL( UserRole.NOTIFICATIONS_TECHNICAL, singletonList(AuthorityValue.NOTIFICATIONS_TECHNICAL)), @@ -81,8 +78,6 @@ private AuthorityValue() {} PREFIX + "ASSIGN_CONSULTANT_TO_SESSION"; public static final String ASSIGN_CONSULTANT_TO_ENQUIRY = PREFIX + "ASSIGN_CONSULTANT_TO_ENQUIRY"; - public static final String ASSIGN_CONSULTANT_TO_PEER_SESSION = - PREFIX + "ASSIGN_CONSULTANT_TO_PEER_SESSION"; public static final String VIEW_AGENCY_CONSULTANTS = PREFIX + "VIEW_AGENCY_CONSULTANTS"; public static final String TECHNICAL_DEFAULT = PREFIX + "TECHNICAL_DEFAULT"; public static final String CREATE_NEW_CHAT = PREFIX + "CREATE_NEW_CHAT"; diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java index 2728bf599..4c43f8113 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java @@ -91,7 +91,6 @@ void putAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.ANONYMOUS_DEFAULT, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, @@ -140,7 +139,6 @@ void deleteAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.ANONYMOUS_DEFAULT, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, @@ -185,7 +183,6 @@ void getAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.ANONYMOUS_DEFAULT, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.USER_DEFAULT, AuthorityValue.USER_ADMIN, @@ -229,7 +226,6 @@ void postAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throw AuthorityValue.ANONYMOUS_DEFAULT, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.USER_DEFAULT, AuthorityValue.USER_ADMIN, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java index f225b5ea8..996e8dd71 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java @@ -2,7 +2,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ANONYMOUS_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.CONSULTANT_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.CREATE_NEW_CHAT; @@ -386,7 +385,6 @@ void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloakAuthori VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_SESSION, ASSIGN_CONSULTANT_TO_ENQUIRY, - ASSIGN_CONSULTANT_TO_PEER_SESSION, VIEW_AGENCY_CONSULTANTS, TECHNICAL_DEFAULT, CREATE_NEW_CHAT, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java index 9590df198..054710b11 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java @@ -490,8 +490,7 @@ void setConsultantAgenciesShouldReturnUnauthorizedAndCallNoMethodsWhenNoKeycloak AuthorityValue.UPDATE_CHAT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION + AuthorityValue.VIEW_ALL_PEER_SESSIONS }) void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserAdmin() throws Exception { mvc.perform( diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java index 03b11a1bc..1bdb9ca2d 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java @@ -1077,7 +1077,6 @@ void searchConsultantsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.ANONYMOUS_DEFAULT, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.USER_DEFAULT, @@ -2011,7 +2010,6 @@ void updateE2eInChats_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAu authorities = { AuthorityValue.ANONYMOUS_DEFAULT, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, - AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, diff --git a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java index 9ed5f54e7..d06ba4f91 100644 --- a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java @@ -58,8 +58,7 @@ void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsu assertNotNull(result); assertTrue(result.contains(AuthorityValue.VIEW_ALL_PEER_SESSIONS)); assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY)); - assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_PEER_SESSION)); - assertEquals(3, result.size()); + assertEquals(2, result.size()); } @Test From a124cabd6f8fd7ec6b1b006d556cd41df4a56a57 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 11:59:35 +0200 Subject: [PATCH 48/64] CARITAS-243 - Remove VIEW_ALL_PEER_SESSIONS --- .../api/config/auth/Authority.java | 5 +- .../AppointmentControllerAuthorizationIT.java | 12 ++--- ...ConversationControllerAuthorizationIT.java | 5 -- .../UserAdminControllerAuthorizationIT.java | 16 +------ .../UserControllerAuthorizationIT.java | 48 +------------------ .../api/config/auth/AuthorityTest.java | 3 +- 6 files changed, 8 insertions(+), 81 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java index df6482352..27e7ec2c1 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java @@ -13,7 +13,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.UPDATE_CHAT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_AGENCY_CONSULTANTS; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; @@ -32,8 +31,7 @@ public enum Authority { CONSULTANT( UserRole.CONSULTANT, List.of(CONSULTANT_DEFAULT, ASSIGN_CONSULTANT_TO_SESSION, VIEW_AGENCY_CONSULTANTS)), - MAIN_CONSULTANT( - UserRole.MAIN_CONSULTANT, List.of(VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_ENQUIRY)), + MAIN_CONSULTANT(UserRole.MAIN_CONSULTANT, List.of(ASSIGN_CONSULTANT_TO_ENQUIRY)), TECHNICAL(UserRole.TECHNICAL, singletonList(TECHNICAL_DEFAULT)), NOTIFICATIONS_TECHNICAL( UserRole.NOTIFICATIONS_TECHNICAL, singletonList(AuthorityValue.NOTIFICATIONS_TECHNICAL)), @@ -73,7 +71,6 @@ private AuthorityValue() {} public static final String NOTIFICATIONS_TECHNICAL = PREFIX + "NOTIFICATIONS_TECHNICAL"; public static final String USER_DEFAULT = PREFIX + "USER_DEFAULT"; public static final String CONSULTANT_DEFAULT = PREFIX + "CONSULTANT_DEFAULT"; - public static final String VIEW_ALL_PEER_SESSIONS = PREFIX + "VIEW_ALL_PEER_SESSIONS"; public static final String ASSIGN_CONSULTANT_TO_SESSION = PREFIX + "ASSIGN_CONSULTANT_TO_SESSION"; public static final String ASSIGN_CONSULTANT_TO_ENQUIRY = diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java index 4c43f8113..3b29fcbe2 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/AppointmentControllerAuthorizationIT.java @@ -98,8 +98,7 @@ void putAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS + AuthorityValue.VIEW_AGENCY_CONSULTANTS }) void putAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { givenAValidAppointment(); @@ -146,8 +145,7 @@ void deleteAppointmentShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS + AuthorityValue.VIEW_AGENCY_CONSULTANTS }) void deleteAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { mvc.perform( @@ -189,8 +187,7 @@ void getAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throws AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS + AuthorityValue.VIEW_AGENCY_CONSULTANTS }) void getAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { mvc.perform( @@ -232,8 +229,7 @@ void postAppointmentsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() throw AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS + AuthorityValue.VIEW_AGENCY_CONSULTANTS }) void postAppointmentsShouldReturnForbiddenWhenNoConsultantAuthority() throws Exception { mvc.perform( diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java index 996e8dd71..837de578a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/ConversationControllerAuthorizationIT.java @@ -15,7 +15,6 @@ import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_ADMIN; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.USER_DEFAULT; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_AGENCY_CONSULTANTS; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.VIEW_ALL_PEER_SESSIONS; import static de.caritas.cob.userservice.api.conversation.model.ConversationListType.ANONYMOUS_ENQUIRY; import static de.caritas.cob.userservice.api.conversation.model.ConversationListType.REGISTERED_ENQUIRY; import static de.caritas.cob.userservice.api.testHelper.TestConstants.RC_TOKEN; @@ -114,7 +113,6 @@ void getAnonymousEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultant AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -192,7 +190,6 @@ void getRegisteredEnquiries_Should_ReturnOK_When_ProperlyAuthorizedWithConsultan AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -263,7 +260,6 @@ void acceptAnonymousEnquirys_Should_ReturnOK_When_ProperlyAuthorizedWithConsulta AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -382,7 +378,6 @@ void getAnonymousEnquiryDetails_Should_ReturnUnauthorized_When_NoKeycloakAuthori authorities = { USER_DEFAULT, CONSULTANT_DEFAULT, - VIEW_ALL_PEER_SESSIONS, ASSIGN_CONSULTANT_TO_SESSION, ASSIGN_CONSULTANT_TO_ENQUIRY, VIEW_AGENCY_CONSULTANTS, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java index 054710b11..be9691676 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerAuthorizationIT.java @@ -89,7 +89,6 @@ void getSessions_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthor AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -138,7 +137,6 @@ void getSessions_Should_ReturnOkAndCallSessionAdminService_When_userAdminAuthori AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -183,7 +181,6 @@ void generateViolationReport_Should_ReturnForbiddenAndCallNoMethods_When_noUserA AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -232,7 +229,6 @@ void getConsultants_Should_ReturnOkAndCallConsultantAdminFilterService_When_user AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -281,7 +277,6 @@ void getConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_userA AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -329,7 +324,6 @@ void getConsultantAgencies_Should_ReturnOkAndCallConsultantAdminFacade_When_user AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -377,7 +371,6 @@ void createConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_us AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -429,7 +422,6 @@ void updateConsultant_Should_ReturnOkAndCallConsultantAdminFilterService_When_us AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -489,8 +481,7 @@ void setConsultantAgenciesShouldReturnUnauthorizedAndCallNoMethodsWhenNoKeycloak AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, AuthorityValue.USER_DEFAULT, - AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS + AuthorityValue.VIEW_AGENCY_CONSULTANTS }) void setConsultantAgenciesShouldReturnForbiddenAndCallNoMethodsIfNotUserAdmin() throws Exception { mvc.perform( @@ -542,7 +533,6 @@ void setConsultantAgenciesShouldReturnOkAndCallConsultantAdminFacade() throws Ex AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -595,7 +585,6 @@ void changeAgencyType_Should_ReturnCreatedAndCallConsultantAdmin_When_userAdminA AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -648,7 +637,6 @@ void deleteConsultantAgency_Should_ReturnCreatedAndCallConsultantAdmin_When_user AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -711,7 +699,6 @@ void deleteAsker_Should_ReturnUnauthorizedAndCallNoMethods_When_noKeycloakAuthor AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -753,7 +740,6 @@ void deleteAsker_Should_ReturnOkAndCallUserAdminFacade_When_userAdminAuthority() AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java index 1bdb9ca2d..203663190 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerAuthorizationIT.java @@ -199,7 +199,6 @@ void registerUser_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thro AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -262,7 +261,6 @@ void registerNewConsultingType_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrf AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -325,7 +323,6 @@ void getEnquiriesForAgency_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycl AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -387,7 +384,6 @@ void acceptEnquiry_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAutho AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -448,7 +444,6 @@ void createEnquiryMessage_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeyclo AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -512,7 +507,6 @@ void createEnquiryMessage_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfToken AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -574,7 +568,6 @@ void updateAbsence_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAutho AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -635,7 +628,6 @@ void updateAbsence_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thr AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -696,7 +688,6 @@ void getUserData_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthori AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -758,7 +749,6 @@ void getUserData_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() throw AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -821,7 +811,6 @@ void getUserData_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() throw AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -881,7 +870,6 @@ void importConsultants_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakA AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.START_CHAT, @@ -942,7 +930,6 @@ void importAskers_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthor AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.START_CHAT, @@ -1003,7 +990,6 @@ void importAskers_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens() thro AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.START_CHAT, @@ -1083,8 +1069,7 @@ void searchConsultantsShouldReturnUnauthorizedWhenNoKeycloakAuthorization() thro AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, AuthorityValue.UPDATE_CHAT, - AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS + AuthorityValue.VIEW_AGENCY_CONSULTANTS }) void searchConsultantsShouldReturnForbiddenWhenNoUserAdminAuthority() throws Exception { mvc.perform( @@ -1120,7 +1105,6 @@ void getConsultants_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -1209,7 +1193,6 @@ void updatePassword_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth authorities = { AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, @@ -1276,7 +1259,6 @@ void updateKey_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza AuthorityValue.USER_DEFAULT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -1337,7 +1319,6 @@ void createChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriz AuthorityValue.USER_DEFAULT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -1415,7 +1396,6 @@ void startChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza AuthorityValue.USER_DEFAULT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -1497,7 +1477,6 @@ void joinChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizat AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -1594,7 +1573,6 @@ void getChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizati AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -1690,7 +1668,6 @@ void stopChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthorizat AuthorityValue.USER_DEFAULT, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, @@ -1770,7 +1747,6 @@ void getChatMembers_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuth AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -1871,7 +1847,6 @@ void leaveChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriza AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -1962,7 +1937,6 @@ void banUserFromChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAut AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.STOP_CHAT, @@ -2018,7 +1992,6 @@ void updateE2eInChats_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAu AuthorityValue.UPDATE_CHAT, AuthorityValue.USER_ADMIN, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, }) void updateE2eInChats_Should_ReturnForbiddenAndCallNoMethods_WhenNoUserOrConsultantAuthority() throws Exception { @@ -2060,7 +2033,6 @@ void updateChat_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakAuthoriz AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2134,7 +2106,6 @@ void updateChat_Should_ReturnOK_WhenProperlyAuthorizedWithUpdateChatAuthority() AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.START_CHAT, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.STOP_CHAT, @@ -2194,7 +2165,6 @@ void updateEmailAddress_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloak AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2266,7 +2236,6 @@ void deleteEmailAddress_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloak AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2334,7 +2303,6 @@ void deleteEmailAddress_Should_ReturnOK_WhenProperlyAuthorizedWithUpdateChatAuth AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2395,7 +2363,6 @@ void updateMobileToken_Should_ReturnUnauthorizedAndCallNoMethods_WhenNoKeycloakA AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2466,7 +2433,6 @@ void updateSessionData_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloak AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2534,7 +2500,6 @@ void patchUser_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAuthoriz AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2586,7 +2551,6 @@ void updateUserData_Should_ReturnUnauthorizedAndCallNoMethods_When_NoKeycloakAut AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2700,7 +2664,6 @@ void archiveSession_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() th AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2751,7 +2714,6 @@ void dearchiveSession_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2807,7 +2769,6 @@ void addMobileAppToken_Should_ReturnForbiddenAndCallNoMethods_When_NoCsrfToken() AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2862,7 +2823,6 @@ void deleteSessionAndInactiveUser_Should_ReturnForbiddenAndCallNoMethods_WhenNoC AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.USER_ADMIN, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2916,7 +2876,6 @@ void deactivateAndFlagUserAccountForDeletion_Should_ReturnForbidden_WhenNoConsul AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -2972,7 +2931,6 @@ void startTwoFactorAuthByEmailSetup_Should_ReturnForbiddenAndCallNoMethods_When_ AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -3039,7 +2997,6 @@ void activateTwoFactorAuthByApp_Should_ReturnBadRequest_When_RequestBody_Is_Miss AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -3108,7 +3065,6 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -3163,7 +3119,6 @@ void getConsultantPublicData_Should_ReturnOk_When_CsrfTokensAreGiven() throws Ex AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, @@ -3215,7 +3170,6 @@ void getSessionForId_should_return_forbidden_and_call_no_methods_when_no_csrf_to AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY, AuthorityValue.TECHNICAL_DEFAULT, AuthorityValue.VIEW_AGENCY_CONSULTANTS, - AuthorityValue.VIEW_ALL_PEER_SESSIONS, AuthorityValue.CREATE_NEW_CHAT, AuthorityValue.START_CHAT, AuthorityValue.STOP_CHAT, diff --git a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java index d06ba4f91..878be9dc5 100644 --- a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java @@ -56,9 +56,8 @@ void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsu List result = Authority.getAuthoritiesByUserRole(UserRole.MAIN_CONSULTANT); assertNotNull(result); - assertTrue(result.contains(AuthorityValue.VIEW_ALL_PEER_SESSIONS)); assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY)); - assertEquals(2, result.size()); + assertEquals(1, result.size()); } @Test From 213978cac3d7f3f613f31f8d32393aa0efaa5434 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 12:09:29 +0200 Subject: [PATCH 49/64] CARITAS-243 - Remove isPeerChat from sessionDTO --- api/userservice.yaml | 3 --- .../api/service/session/SessionMapper.java | 1 - .../api/service/session/SessionMapperTest.java | 17 ++++------------- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index 1d1251e6f..f619cfb72 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -2031,9 +2031,6 @@ components: type: string example: xGklslk2JJKK description: Rocket.Chat room ID - isPeerChat: - type: boolean - example: false askerRcId: type: string example: 8ertjlasdKJA diff --git a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java index 9527d9d6a..b62a47dd5 100644 --- a/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java +++ b/src/main/java/de/caritas/cob/userservice/api/service/session/SessionMapper.java @@ -66,7 +66,6 @@ public SessionDTO convertToSessionDTO(Session session) { .messageDate(toUnixTime(session.getEnquiryMessageDate())) .isTeamSession(session.isTeamSession()) .language(LanguageCode.fromValue(session.getLanguageCode().name())) - .isPeerChat(session.isPeerChat()) .registrationType(session.getRegistrationType().name()) .createDate(toIsoTime(session.getCreateDate())) .topic(new SessionTopicDTO().id(session.getMainTopicId())); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionMapperTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionMapperTest.java index f408e8d5a..ba0da7b6e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionMapperTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionMapperTest.java @@ -12,10 +12,10 @@ import org.jeasy.random.EasyRandom; import org.junit.jupiter.api.Test; -public class SessionMapperTest { +class SessionMapperTest { @Test - public void + void convertToSessionDTO_Should_returnSessionDTOWithRegistrationType_When_registrationTypeIsAnonymous() { Session session = new EasyRandom().nextObject(Session.class); session.setRegistrationType(ANONYMOUS); @@ -26,7 +26,7 @@ public class SessionMapperTest { } @Test - public void + void convertToSessionDTO_Should_returnSessionDTOWithCreateDateInIsoFormat_When_registrationTypeIsAnonymous() { Session session = new EasyRandom().nextObject(Session.class); LocalDateTime createDate = new EasyRandom().nextObject(LocalDateTime.class); @@ -38,7 +38,7 @@ public class SessionMapperTest { } @Test - public void + void convertToSessionDTO_Should_returnSessionDTOWithRegistrationType_When_registrationTypeIsRegistered() { Session session = new EasyRandom().nextObject(Session.class); session.setRegistrationType(REGISTERED); @@ -47,13 +47,4 @@ public class SessionMapperTest { assertThat(sessionDTO.getRegistrationType(), is("REGISTERED")); } - - @Test - public void convertToSessionDTO_Should_returnSessionDTOWithPeerChatInfo() { - var session = new EasyRandom().nextObject(Session.class); - - var sessionDTO = new SessionMapper().convertToSessionDTO(session); - - assertThat(sessionDTO.getIsPeerChat(), is(session.isPeerChat())); - } } From 79191a87613c9ea6ce51a34e6006486b2cf85305 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 12:13:01 +0200 Subject: [PATCH 50/64] CARITAS-243 - Remove PEER_CONSULTANT --- .../de/caritas/cob/userservice/api/config/auth/UserRole.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java index 9ece84b32..44c2ee651 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java @@ -12,7 +12,6 @@ public enum UserRole { USER("user"), CONSULTANT("consultant"), TECHNICAL("technical"), - PEER_CONSULTANT("peer-consultant"), MAIN_CONSULTANT("main-consultant"), GROUP_CHAT_CONSULTANT("group-chat-consultant"), USER_ADMIN("user-admin"), From acbfee50fa4f7717f0d90457a71c708bce6165e9 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 12:23:54 +0200 Subject: [PATCH 51/64] CARITAS-243 - Remove isPeerChat from Session --- .../java/de/caritas/cob/userservice/api/model/Session.java | 3 --- .../api/adapters/web/controller/UserControllerIT.java | 4 ---- .../cob/userservice/api/port/out/SessionRepositoryIT.java | 1 - .../api/service/session/SessionServiceTest.java | 3 --- .../cob/userservice/api/testHelper/TestConstants.java | 7 ------- 5 files changed, 18 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/model/Session.java b/src/main/java/de/caritas/cob/userservice/api/model/Session.java index e61f613e7..4ea8573a5 100644 --- a/src/main/java/de/caritas/cob/userservice/api/model/Session.java +++ b/src/main/java/de/caritas/cob/userservice/api/model/Session.java @@ -160,9 +160,6 @@ public Session( @Column(name = "is_team_session", columnDefinition = "tinyint(4) default '0'") private boolean teamSession; - @Column(name = "is_peer_chat", columnDefinition = "tinyint(4) unsigned default '0'") - private boolean isPeerChat; - @Column(nullable = false, columnDefinition = "bit default false") private Boolean isConsultantDirectlySet; diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java index ccd19474b..dcd592e40 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserControllerIT.java @@ -170,7 +170,6 @@ class UserControllerIT { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); private final Session SESSION_WITHOUT_CONSULTANT = @@ -187,7 +186,6 @@ class UserControllerIT { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); private final Session TEAM_SESSION = @@ -205,7 +203,6 @@ class UserControllerIT { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(true) - .isPeerChat(false) .build(); private final Session TEAM_SESSION_WITHOUT_GROUP_ID = @@ -222,7 +219,6 @@ class UserControllerIT { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(true) - .isPeerChat(false) .build(); private final ConsultantResponseDTO CONSULTANT_RESPONSE_DTO = diff --git a/src/test/java/de/caritas/cob/userservice/api/port/out/SessionRepositoryIT.java b/src/test/java/de/caritas/cob/userservice/api/port/out/SessionRepositoryIT.java index 7dd5016ae..7b2d064c5 100644 --- a/src/test/java/de/caritas/cob/userservice/api/port/out/SessionRepositoryIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/port/out/SessionRepositoryIT.java @@ -60,7 +60,6 @@ void saveShouldSaveSession() { assertEquals(sessionData.get(0), foundSession.getSessionData().get(0)); assertEquals(sessionData.get(1), foundSession.getSessionData().get(1)); assertFalse(foundSession.isTeamSession()); - assertFalse(foundSession.isPeerChat()); } private void givenValidSession() { diff --git a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java index 8c97d027f..324335acb 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/session/SessionServiceTest.java @@ -138,7 +138,6 @@ class SessionServiceTest { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); private final Session SESSION_WITH_CONSULTANT = @@ -153,7 +152,6 @@ class SessionServiceTest { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); private final Session ACCEPTED_SESSION = @@ -169,7 +167,6 @@ class SessionServiceTest { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); private final ConsultantAgency CONSULTANT_AGENCY_1 = diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index 29a65108f..0cea60e9e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -803,7 +803,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); public static final Session SESSION_WITH_ASKER_AND_CONSULTANT = @@ -821,7 +820,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); public static final Session TEAM_SESSION_WITH_ASKER_AND_CONSULTANT = @@ -839,7 +837,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(true) - .isPeerChat(false) .build(); public static final Session ANONYMOUS_ENQUIRY_WITHOUT_CONSULTANT = @@ -855,7 +852,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); public static final Session SESSION_WITHOUT_CONSULTANT = @@ -872,7 +868,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(true) - .isPeerChat(false) .build(); public static final Session SESSION_WITHOUT_CONSULTANT_NO_RC_USER_ID = @@ -889,7 +884,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(false) - .isPeerChat(false) .build(); public static final Session U25_SESSION_WITHOUT_CONSULTANT = @@ -906,7 +900,6 @@ public class TestConstants { .createDate(nowInUtc()) .updateDate(nowInUtc()) .teamSession(true) - .isPeerChat(false) .build(); public static final List SESSION_LIST = Collections.singletonList(SESSION); public static final Set SESSION_SET = From 4136b92ba53af9e76c2c418888d9f54287f7aef3 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 12:32:57 +0200 Subject: [PATCH 52/64] CARITAS-243 - Fix tests --- .../ConsultantAgencyRelationCreatorServiceIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java index a570f9515..f8c37b12e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/consultant/create/agencyrelation/ConsultantAgencyRelationCreatorServiceIT.java @@ -168,7 +168,7 @@ class ConsultantAgencyRelationCreatorServiceIT { @Test void createNewConsultantAgency_Should_updateKeycloakRoles_When_ParamsAreValid() { - var roleSetName = "peer"; + var roleSetName = "consultant"; var createConsultantAgencyDTO = new CreateConsultantAgencyDTO(); createConsultantAgencyDTO.setAgencyId(15L); createConsultantAgencyDTO.setRoleSetKey(roleSetName); From 215c1e5af19ebfaa753ea66b977bcf0a7b81c22e Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 12:47:03 +0200 Subject: [PATCH 53/64] CARITAS-243 - Fix tests --- .../UnauthorizedMembersProviderTest.java | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java index a096ebfac..830a9f00d 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/UnauthorizedMembersProviderTest.java @@ -49,8 +49,6 @@ class UnauthorizedMembersProviderTest { Consultant teamConsultant2 = easyRandom.nextObject(Consultant.class); Consultant mainConsultant = easyRandom.nextObject(Consultant.class); Consultant mainConsultant2 = easyRandom.nextObject(Consultant.class); - Consultant peerConsultant = easyRandom.nextObject(Consultant.class); - Consultant peerConsultant2 = easyRandom.nextObject(Consultant.class); RocketChatCredentials techUserRcCredentials = easyRandom.nextObject(RocketChatCredentials.class); List initialMemberList; @@ -71,10 +69,6 @@ void setup() throws SecurityException { mainConsultant.setTeamConsultant(true); mainConsultant2.setRocketChatId("mainConsultantRcId2"); mainConsultant2.setTeamConsultant(true); - peerConsultant.setRocketChatId("peerConsultantRcId"); - peerConsultant.setTeamConsultant(true); - peerConsultant2.setRocketChatId("peerConsultantRcId2"); - peerConsultant2.setTeamConsultant(true); techUserRcCredentials.setRocketChatUserId("techUserRcId"); initialMemberList = asList( @@ -87,8 +81,6 @@ void setup() throws SecurityException { new GroupMemberDTO("teamConsultantRcId2", null, "name", null, null), new GroupMemberDTO("mainConsultantRcId", null, "name", null, null), new GroupMemberDTO("mainConsultantRcId2", null, "name", null, null), - new GroupMemberDTO("peerConsultantRcId", null, "name", null, null), - new GroupMemberDTO("peerConsultantRcId2", null, "name", null, null), new GroupMemberDTO("rcTechnicalRcId", null, "name", null, null), new GroupMemberDTO(ROCKET_CHAT_SYSTEM_USER_ID, null, "name", null, null), new GroupMemberDTO("techUserRcId", null, "name", null, null)); @@ -98,9 +90,7 @@ void setup() throws SecurityException { teamConsultant, teamConsultant2, mainConsultant, - mainConsultant2, - peerConsultant, - peerConsultant2) + mainConsultant2) .forEach( consultant -> when(consultantService.getConsultantByRcUserId(consultant.getRocketChatId())) @@ -191,17 +181,11 @@ void obtainConsultantsToRemoveShouldNotIncludeConsultantToKeep() unauthorizedMembersProvider.obtainConsultantsToRemove( RC_GROUP_ID, SESSION_WITH_ASKER_AND_CONSULTANT, newConsultant, initialMemberList); - assertThat(result.size(), is(7)); + assertThat(result.size(), is(5)); assertThat( result, contains( - normalConsultant, - teamConsultant, - teamConsultant2, - mainConsultant, - mainConsultant2, - peerConsultant, - peerConsultant2)); + normalConsultant, teamConsultant, teamConsultant2, mainConsultant, mainConsultant2)); } @Test @@ -219,9 +203,7 @@ void obtainConsultantsToRemoveShouldNotIncludeConsultantToKeep() teamConsultant, teamConsultant2, mainConsultant, - mainConsultant2, - peerConsultant, - peerConsultant2)); + mainConsultant2)); var result = unauthorizedMembersProvider.obtainConsultantsToRemove( From 400f9d5c55c48484650e7cbcf7081ed6530ea26b Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 6 Aug 2024 14:29:45 +0200 Subject: [PATCH 54/64] CARITAS-243 - Remove MAIN_CONSULTANT role and Authority adapt isTeamSession method name --- .../RocketChatOperationConditionProvider.java | 4 +- .../api/config/auth/Authority.java | 2 - .../userservice/api/config/auth/UserRole.java | 1 - .../api/config/auth/AuthorityTest.java | 10 --- .../NewDirectEnquiryEmailSupplierTest.java | 47 +++++------- .../NewEnquiryEmailSupplierTest.java | 46 ++++-------- .../api/testHelper/TestConstants.java | 71 +------------------ 7 files changed, 37 insertions(+), 144 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java index c90d99375..2d64f0ac6 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatOperationConditionProvider.java @@ -25,14 +25,14 @@ class RocketChatOperationConditionProvider { * @return true if consultant can be added */ boolean canAddToRocketChatGroup() { - return isEnquiry() || isTeamSessionAndMainConsultant(); + return isEnquiry() || isTeamSession(); } private boolean isEnquiry() { return this.session.getStatus().equals(SessionStatus.NEW); } - private boolean isTeamSessionAndMainConsultant() { + private boolean isTeamSession() { return this.session.getStatus().equals(SessionStatus.IN_PROGRESS) && this.session.isTeamSession() && canAddToTeamConsultingSession(); diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java index 27e7ec2c1..3eaac632e 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/Authority.java @@ -1,7 +1,6 @@ package de.caritas.cob.userservice.api.config.auth; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ANONYMOUS_DEFAULT; -import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.ASSIGN_CONSULTANT_TO_SESSION; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.CONSULTANT_CREATE; import static de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue.CONSULTANT_DEFAULT; @@ -31,7 +30,6 @@ public enum Authority { CONSULTANT( UserRole.CONSULTANT, List.of(CONSULTANT_DEFAULT, ASSIGN_CONSULTANT_TO_SESSION, VIEW_AGENCY_CONSULTANTS)), - MAIN_CONSULTANT(UserRole.MAIN_CONSULTANT, List.of(ASSIGN_CONSULTANT_TO_ENQUIRY)), TECHNICAL(UserRole.TECHNICAL, singletonList(TECHNICAL_DEFAULT)), NOTIFICATIONS_TECHNICAL( UserRole.NOTIFICATIONS_TECHNICAL, singletonList(AuthorityValue.NOTIFICATIONS_TECHNICAL)), diff --git a/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java b/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java index 44c2ee651..85aec0390 100644 --- a/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java +++ b/src/main/java/de/caritas/cob/userservice/api/config/auth/UserRole.java @@ -12,7 +12,6 @@ public enum UserRole { USER("user"), CONSULTANT("consultant"), TECHNICAL("technical"), - MAIN_CONSULTANT("main-consultant"), GROUP_CHAT_CONSULTANT("group-chat-consultant"), USER_ADMIN("user-admin"), SINGLE_TENANT_ADMIN("single-tenant-admin"), diff --git a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java index 878be9dc5..4bf0fb945 100644 --- a/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/config/auth/AuthorityTest.java @@ -50,16 +50,6 @@ void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleAnonymous assertEquals(1, result.size()); } - @Test - void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleMainConsultant() { - - List result = Authority.getAuthoritiesByUserRole(UserRole.MAIN_CONSULTANT); - - assertNotNull(result); - assertTrue(result.contains(AuthorityValue.ASSIGN_CONSULTANT_TO_ENQUIRY)); - assertEquals(1, result.size()); - } - @Test void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTechnical() { diff --git a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewDirectEnquiryEmailSupplierTest.java b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewDirectEnquiryEmailSupplierTest.java index c456023a4..cdc71f037 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewDirectEnquiryEmailSupplierTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewDirectEnquiryEmailSupplierTest.java @@ -3,9 +3,9 @@ import static de.caritas.cob.userservice.api.helper.CustomLocalDateTime.nowInUtc; import static de.caritas.cob.userservice.api.service.emailsupplier.EmailSupplier.TEMPLATE_NEW_DIRECT_ENQUIRY_NOTIFICATION; import static de.caritas.cob.userservice.api.testHelper.TestConstants.AGENCY_ID; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.MAIN_CONSULTANT; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.MAIN_CONSULTANT_ID; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.MAIN_CONSULTANT_WITH_NEW_EMAIL_NOTIFICATIONS; +import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT; +import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_2; +import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_ID; import static de.caritas.cob.userservice.api.testHelper.TestConstants.POSTCODE; import static java.util.Arrays.asList; import static org.hamcrest.MatcherAssert.assertThat; @@ -31,7 +31,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class NewDirectEnquiryEmailSupplierTest { +class NewDirectEnquiryEmailSupplierTest { private NewDirectEnquiryEmailSupplier newDirectEnquiryEmailSupplier; @@ -39,23 +39,23 @@ public class NewDirectEnquiryEmailSupplierTest { @Mock private ReleaseToggleService releaseToggleService; @BeforeEach - public void setup() { + void setup() { newDirectEnquiryEmailSupplier = new NewDirectEnquiryEmailSupplier(consultantAgencyRepository, null, releaseToggleService); newDirectEnquiryEmailSupplier.setAgencyId(AGENCY_ID); - newDirectEnquiryEmailSupplier.setConsultantId(MAIN_CONSULTANT_ID); + newDirectEnquiryEmailSupplier.setConsultantId(CONSULTANT_ID); newDirectEnquiryEmailSupplier.setPostCode(POSTCODE); } @Test - public void generateEmails_Should_ReturnEmptyList_When_NoParametersAreProvided() { + void generateEmails_Should_ReturnEmptyList_When_NoParametersAreProvided() { List generatedMails = newDirectEnquiryEmailSupplier.generateEmails(); assertThat(generatedMails, hasSize(0)); } @Test - public void generateEmails_Should_ReturnEmptyList_When_NoValidConsultantWasFound() { + void generateEmails_Should_ReturnEmptyList_When_NoValidConsultantWasFound() { var absentConsultant = new Consultant(); absentConsultant.setAbsent(true); absentConsultant.setEmail("email"); @@ -75,12 +75,12 @@ public void generateEmails_Should_ReturnEmptyList_When_NoValidConsultantWasFound } @Test - public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantHasBeenFound() { + void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantHasBeenFound() { var consultantAgency = new ConsultantAgency( - 0L, MAIN_CONSULTANT, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); + 0L, CONSULTANT_2, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); when(consultantAgencyRepository.findByConsultantIdAndAgencyIdAndDeleteDateIsNull( - MAIN_CONSULTANT_ID, AGENCY_ID)) + CONSULTANT_ID, AGENCY_ID)) .thenReturn(List.of(consultantAgency)); var generatedMails = newDirectEnquiryEmailSupplier.generateEmails(); @@ -91,7 +91,7 @@ public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantHa assertThat(generatedMail.getTemplate(), is(TEMPLATE_NEW_DIRECT_ENQUIRY_NOTIFICATION)); assertThat(generatedMail.getEmail(), is("email@email.com")); assertThat(generatedMail.getLanguage(), is(LanguageCode.DE)); - assertThat(generatedMail.getDialect(), is(MAIN_CONSULTANT.getDialect())); + assertThat(generatedMail.getDialect(), is(CONSULTANT_2.getDialect())); var templateData = generatedMail.getTemplateData(); assertThat(templateData, hasSize(3)); @@ -103,36 +103,27 @@ public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantHa } @Test - public void + void generateEmails_Should_ReturnEmptyList_When_NewNotificationsFeatureEnabledButConsultantNotificationsDisabled() { var consultantAgency = new ConsultantAgency( - 0L, MAIN_CONSULTANT, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); + 0L, CONSULTANT, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); when(consultantAgencyRepository.findByConsultantIdAndAgencyIdAndDeleteDateIsNull( - MAIN_CONSULTANT_ID, AGENCY_ID)) + CONSULTANT_ID, AGENCY_ID)) .thenReturn(List.of(consultantAgency)); - when(releaseToggleService.isToggleEnabled(ReleaseToggle.NEW_EMAIL_NOTIFICATIONS)) - .thenReturn(true); var generatedMails = newDirectEnquiryEmailSupplier.generateEmails(); Assertions.assertThat(generatedMails).isEmpty(); } @Test - public void + void generateEmails_Should_ReturnExpectedMailDTO_When_NewNotificationsFeatureEnabledAndConsultantHasNotificationsEnabled() { var consultantAgency = new ConsultantAgency( - 0L, - MAIN_CONSULTANT_WITH_NEW_EMAIL_NOTIFICATIONS, - AGENCY_ID, - nowInUtc(), - nowInUtc(), - nowInUtc(), - null, - null); + 0L, CONSULTANT_2, AGENCY_ID, nowInUtc(), nowInUtc(), nowInUtc(), null, null); when(consultantAgencyRepository.findByConsultantIdAndAgencyIdAndDeleteDateIsNull( - MAIN_CONSULTANT_ID, AGENCY_ID)) + CONSULTANT_ID, AGENCY_ID)) .thenReturn(List.of(consultantAgency)); when(releaseToggleService.isToggleEnabled(ReleaseToggle.NEW_EMAIL_NOTIFICATIONS)) .thenReturn(true); @@ -144,7 +135,7 @@ public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantHa assertThat(generatedMail.getTemplate(), is(TEMPLATE_NEW_DIRECT_ENQUIRY_NOTIFICATION)); assertThat(generatedMail.getEmail(), is("email@email.com")); assertThat(generatedMail.getLanguage(), is(LanguageCode.DE)); - assertThat(generatedMail.getDialect(), is(MAIN_CONSULTANT.getDialect())); + assertThat(generatedMail.getDialect(), is(CONSULTANT_2.getDialect())); var templateData = generatedMail.getTemplateData(); assertThat(templateData, hasSize(3)); assertThat(templateData.get(0).getKey(), is("name")); diff --git a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewEnquiryEmailSupplierTest.java b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewEnquiryEmailSupplierTest.java index 408978d55..e53d0543a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewEnquiryEmailSupplierTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/service/emailsupplier/NewEnquiryEmailSupplierTest.java @@ -3,8 +3,8 @@ import static de.caritas.cob.userservice.api.helper.CustomLocalDateTime.nowInUtc; import static de.caritas.cob.userservice.api.service.emailsupplier.EmailSupplier.TEMPLATE_NEW_ENQUIRY_NOTIFICATION; import static de.caritas.cob.userservice.api.testHelper.TestConstants.AGENCY_DTO_U25; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.MAIN_CONSULTANT; -import static de.caritas.cob.userservice.api.testHelper.TestConstants.MAIN_CONSULTANT_WITH_NEW_EMAIL_NOTIFICATIONS; +import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT; +import static de.caritas.cob.userservice.api.testHelper.TestConstants.CONSULTANT_2; import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -29,7 +29,7 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class NewEnquiryEmailSupplierTest { +class NewEnquiryEmailSupplierTest { private NewEnquiryEmailSupplier newEnquiryEmailSupplier; @@ -42,7 +42,7 @@ public class NewEnquiryEmailSupplierTest { @Mock private ReleaseToggleService releaseToggleService; @BeforeEach - public void setup() { + void setup() { this.newEnquiryEmailSupplier = new NewEnquiryEmailSupplier( consultantAgencyRepository, agencyService, releaseToggleService, null); @@ -50,14 +50,14 @@ public void setup() { } @Test - public void generateEmails_Should_ReturnEmptyList_When_NoParametersAreProvided() { + void generateEmails_Should_ReturnEmptyList_When_NoParametersAreProvided() { List generatedMails = newEnquiryEmailSupplier.generateEmails(); assertThat(generatedMails).isEmpty(); } @Test - public void generateEmails_Should_ReturnEmptyList_When_NoValidConsultantWasFound() { + void generateEmails_Should_ReturnEmptyList_When_NoValidConsultantWasFound() { Consultant absentConsultant = new Consultant(); absentConsultant.setAbsent(true); absentConsultant.setEmail("email"); @@ -76,14 +76,14 @@ public void generateEmails_Should_ReturnEmptyList_When_NoValidConsultantWasFound } @Test - public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantsWereFound() { + void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantsWereFound() { when(consultantAgencyRepository.findByAgencyIdAndDeleteDateIsNull(anyLong())) .thenReturn( asList( new ConsultantAgency( - 0L, MAIN_CONSULTANT, 0L, nowInUtc(), nowInUtc(), nowInUtc(), null, null), + 0L, CONSULTANT_2, 0L, nowInUtc(), nowInUtc(), nowInUtc(), null, null), new ConsultantAgency( - 1L, MAIN_CONSULTANT, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null))); + 1L, CONSULTANT_2, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null))); when(agencyService.getAgency(any())).thenReturn(AGENCY_DTO_U25); when(session.getPostcode()).thenReturn("12345"); @@ -106,7 +106,7 @@ public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantsW } @Test - public void + void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantsWereFoundAndNotificatonsForConsultantEnabled() { when(releaseToggleService.isToggleEnabled(ReleaseToggle.NEW_EMAIL_NOTIFICATIONS)) .thenReturn(true); @@ -114,23 +114,9 @@ public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantsW .thenReturn( asList( new ConsultantAgency( - 0L, - MAIN_CONSULTANT_WITH_NEW_EMAIL_NOTIFICATIONS, - 0L, - nowInUtc(), - nowInUtc(), - nowInUtc(), - null, - null), + 0L, CONSULTANT_2, 0L, nowInUtc(), nowInUtc(), nowInUtc(), null, null), new ConsultantAgency( - 1L, - MAIN_CONSULTANT_WITH_NEW_EMAIL_NOTIFICATIONS, - 1L, - nowInUtc(), - nowInUtc(), - nowInUtc(), - null, - null))); + 1L, CONSULTANT_2, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null))); when(agencyService.getAgency(any())).thenReturn(AGENCY_DTO_U25); when(session.getPostcode()).thenReturn("12345"); @@ -153,18 +139,16 @@ public void generateEmails_Should_ReturnExpectedMailDTO_When_PresentConsultantsW } @Test - public void + void generateEmails_Should_ReturnEmptyList_When_NewNotificationsFeatureEnabledButConsultantNotificationsDisabled() { when(consultantAgencyRepository.findByAgencyIdAndDeleteDateIsNull(anyLong())) .thenReturn( asList( new ConsultantAgency( - 0L, MAIN_CONSULTANT, 0L, nowInUtc(), nowInUtc(), nowInUtc(), null, null), + 0L, CONSULTANT, 0L, nowInUtc(), nowInUtc(), nowInUtc(), null, null), new ConsultantAgency( - 1L, MAIN_CONSULTANT, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null))); + 1L, CONSULTANT, 1L, nowInUtc(), nowInUtc(), nowInUtc(), null, null))); when(agencyService.getAgency(any())).thenReturn(AGENCY_DTO_U25); - when(releaseToggleService.isToggleEnabled(ReleaseToggle.NEW_EMAIL_NOTIFICATIONS)) - .thenReturn(true); List generatedMails = newEnquiryEmailSupplier.generateEmails(); diff --git a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java index 0cea60e9e..8a35d11b3 100644 --- a/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java +++ b/src/test/java/de/caritas/cob/userservice/api/testHelper/TestConstants.java @@ -361,8 +361,6 @@ public class TestConstants { public static final String USER_ID_3 = "df3322-fd33-asdf-3333-2332jk23j32j"; public static final String CONSULTANT_ID = "87ddcss-650d-42bb-8299-f8e3f6j8dk3"; public static final String CONSULTANT_ID_2 = "kd93kd-fd33-asdf-3333-2332jkkk39d"; - public static final String MAIN_CONSULTANT_ID = "asdj78wfjsdf"; - public static final String RC_USER_ID_MAIN_CONSULTANT = "xxxyyy"; public static final String ENCODING_PREFIX = "enc."; public static final String USERNAME_CONSULTANT_DECODED = "Consultantname!#123"; public static final String USERNAME_CONSULTANT_ENCODED = @@ -446,71 +444,6 @@ public class TestConstants { LanguageCode.de, null, null, - false, - null); - public static final Consultant MAIN_CONSULTANT = - new Consultant( - MAIN_CONSULTANT_ID, - RC_USER_ID_MAIN_CONSULTANT, - USERNAME, - "first name", - "last name", - EMAIL, - false, - false, - null, - false, - null, - null, - null, - null, - null, - null, - null, - null, - true, - true, - true, - null, - null, - ConsultantStatus.CREATED, - false, - LanguageCode.de, - null, - null, - false, - null); - - public static final Consultant MAIN_CONSULTANT_WITH_NEW_EMAIL_NOTIFICATIONS = - new Consultant( - MAIN_CONSULTANT_ID, - RC_USER_ID_MAIN_CONSULTANT, - USERNAME, - "first name", - "last name", - EMAIL, - false, - false, - null, - false, - null, - null, - null, - null, - null, - null, - null, - null, - true, - true, - true, - null, - null, - ConsultantStatus.CREATED, - false, - LanguageCode.de, - null, - null, true, "{'initialEnquiryNotificationEnabled': 'true','newChatMessageNotificationEnabled': 'true', 'reassignmentNotificationEnabled': 'true','appointmentNotificationEnabled': 'true'}"); @@ -1506,10 +1439,8 @@ public class TestConstants { public static final GroupMemberDTO GROUP_MEMBER_DTO_2 = new GroupMemberDTO(RC_USER_ID_2, null, USERNAME, null, null); - public static final GroupMemberDTO GROUP_MEMBER_DTO_MAIN_CONSULTANT = - new GroupMemberDTO(RC_USER_ID_MAIN_CONSULTANT, null, USERNAME, null, null); public static final List LIST_GROUP_MEMBER_DTO = - Arrays.asList(GROUP_MEMBER_DTO, GROUP_MEMBER_DTO_2, GROUP_MEMBER_DTO_MAIN_CONSULTANT); + Arrays.asList(GROUP_MEMBER_DTO, GROUP_MEMBER_DTO_2); /* * Passwords */ From cbc77f2033ddb95a9bce26bdbd8c0458b2b62de2 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 14 Aug 2024 10:00:34 +0200 Subject: [PATCH 55/64] CARITAS-243 - remove rc_feedback_group_id from userservice.session table --- .../0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml | 5 +++++ .../feebbackChatColumn-rollback.sql | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml index 018e0add9..b45b7b899 100644 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml @@ -11,4 +11,9 @@ stripComments="true"/> + + + diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql new file mode 100644 index 000000000..d74895be2 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +DROP `rc_feedback_group_id`; From be0d8a576874ce6193c9e27d9a525f005570a03c Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 14 Aug 2024 10:29:12 +0200 Subject: [PATCH 56/64] Revert "CARITAS-243 - remove rc_feedback_group_id from userservice.session table" This reverts commit cbc77f2033ddb95a9bce26bdbd8c0458b2b62de2. --- .../0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml | 5 ----- .../feebbackChatColumn-rollback.sql | 2 -- 2 files changed, 7 deletions(-) delete mode 100644 src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml index b45b7b899..018e0add9 100644 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml @@ -11,9 +11,4 @@ stripComments="true"/> - - - diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql deleted file mode 100644 index d74895be2..000000000 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feebbackChatColumn-rollback.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `userservice`.`session` -DROP `rc_feedback_group_id`; From 85ead4ccb0825663e8e69fa638ecddba1d9f6a33 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 14 Aug 2024 10:29:29 +0200 Subject: [PATCH 57/64] Revert "CARITAS-243 - Remove addition of the peer chat to session from the test db" This reverts commit ec2f9b575eebbf5c5981af525ec5619129361ff2. --- .../0014_changeSet.xml | 15 +++++++++++++++ .../add-is-peer-chat-to-session-rollback.sql | 2 ++ .../add-is-peer-chat-to-session.sql | 6 ++++++ 3 files changed, 23 insertions(+) create mode 100644 src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml create mode 100644 src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql create mode 100644 src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql diff --git a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml new file mode 100644 index 000000000..696ca6a89 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/0014_changeSet.xml @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql new file mode 100644 index 000000000..454c728fe --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session-rollback.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +DROP `is_peer_chat`; diff --git a/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql new file mode 100644 index 000000000..27daa8aa2 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0014_add_is_peer_chat_to_session/add-is-peer-chat-to-session.sql @@ -0,0 +1,6 @@ +ALTER TABLE `userservice`.`session` + ADD `is_peer_chat` tinyint(4) unsigned NOT NULL DEFAULT '0' + AFTER `rc_feedback_group_id`; +UPDATE `userservice`.`session` + SET `is_peer_chat` = '1' + WHERE `rc_feedback_group_id` IS NOT NULL; From abe2245d9b32b9035d88101de0c5a28618eba4aa Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 14 Aug 2024 10:50:30 +0200 Subject: [PATCH 58/64] CARITAS-243 - revert old migration changes deletion, added new migration to remove deleted columns --- .../0002_changeSet.xml | 10 ++++++++ .../feedbackChatColumn-rollback.sql | 2 ++ .../feedbackChatColumn.sql | 2 ++ .../0046_changeSet.xml | 25 +++++++++++++++++++ ...removeIs_peer_chatFromSession-rollback.sql | 6 +++++ .../removeIs_peer_chatFromSession.sql | 2 ++ ...m_advice_seekerFromConsultant-rollback.sql | 2 ++ ...ssage_from_advice_seekerFromConsultant.sql | 2 ++ ..._feedback_group_idFromSession-rollback.sql | 2 ++ .../removeRc_feedback_group_idFromSession.sql | 2 ++ 10 files changed, 55 insertions(+) create mode 100644 src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql create mode 100644 src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession.sql create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant.sql create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql create mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession.sql diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml index 018e0add9..421e15893 100644 --- a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/0002_changeSet.xml @@ -11,4 +11,14 @@ stripComments="true"/> + + + + + + diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql new file mode 100644 index 000000000..d74895be2 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn-rollback.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +DROP `rc_feedback_group_id`; diff --git a/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql new file mode 100644 index 000000000..bac6f24e0 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0002_monitoringKeys_feedbackChatClumn/feedbackChatColumn.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +ADD `rc_feedback_group_id` varchar(255) COLLATE 'utf8_unicode_ci' NULL AFTER `rc_group_id`; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml new file mode 100644 index 000000000..086c06a14 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql new file mode 100644 index 000000000..389602ba4 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql @@ -0,0 +1,6 @@ +ALTER TABLE `userservice`.`session` +ADD `is_peer_chat` tinyint(4) unsigned NOT NULL DEFAULT '0' +AFTER `rc_feedback_group_id`; +UPDATE `userservice`.`session` +SET `is_peer_chat` = '1' +WHERE `rc_feedback_group_id` IS NOT NULL; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession.sql new file mode 100644 index 000000000..454c728fe --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +DROP `is_peer_chat`; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql new file mode 100644 index 000000000..d084457a5 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql @@ -0,0 +1,2 @@ +alter table userservice.consultant + add notify_new_feedback_message_from_advice_seeker bit default true not null after notify_new_chat_message_from_advice_seeker; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant.sql new file mode 100644 index 000000000..91fda6142 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant.sql @@ -0,0 +1,2 @@ +alter table userservice.consultant +drop notify_new_feedback_message_from_advice_seeker; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql new file mode 100644 index 000000000..bac6f24e0 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +ADD `rc_feedback_group_id` varchar(255) COLLATE 'utf8_unicode_ci' NULL AFTER `rc_group_id`; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession.sql new file mode 100644 index 000000000..d74895be2 --- /dev/null +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession.sql @@ -0,0 +1,2 @@ +ALTER TABLE `userservice`.`session` +DROP `rc_feedback_group_id`; From 31d38e46a298e916b53184d98a82f4e6241f431a Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 14 Aug 2024 10:52:06 +0200 Subject: [PATCH 59/64] fix: CARITAS-243 - fix test name --- .../session/SetRocketChatRoomReadOnlyActionCommandTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java b/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java index 5c1acad6c..6ba19f6f7 100644 --- a/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/actions/session/SetRocketChatRoomReadOnlyActionCommandTest.java @@ -49,7 +49,7 @@ private static List sessionsWithoutInteractionsExpected() { } @Test - void execute_Should_useRocketChatServiceTwice_When_sessionHasGroupId() throws Exception { + void execute_Should_useRocketChatService_When_sessionHasGroupId() throws Exception { Session session = new Session(); session.setGroupId("group id"); From 165f7b9436500b5505965bf638128d18909c70d5 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 16 Aug 2024 12:44:04 +0200 Subject: [PATCH 60/64] fix: CARITAS-243 - fixed the changeSet id --- .../0046_remove_feeback_related_columns/0046_changeSet.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml index 086c06a14..e34845aff 100644 --- a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml @@ -2,7 +2,7 @@ - + From dfa28aae60d2f2814b69aa669fd127ab4a007892 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 19 Aug 2024 10:48:37 +0200 Subject: [PATCH 61/64] fix: CARITAS-243 - remove unhelpfull rollback procedures --- .../0046_changeSet.xml | 12 ------------ .../removeIs_peer_chatFromSession-rollback.sql | 6 ------ ...age_from_advice_seekerFromConsultant-rollback.sql | 2 -- ...emoveRc_feedback_group_idFromSession-rollback.sql | 2 -- 4 files changed, 22 deletions(-) delete mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql delete mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql delete mode 100644 src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml index e34845aff..d15e3693e 100644 --- a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml +++ b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/0046_changeSet.xml @@ -5,21 +5,9 @@ - - - - - - - - - diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql deleted file mode 100644 index 389602ba4..000000000 --- a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeIs_peer_chatFromSession-rollback.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE `userservice`.`session` -ADD `is_peer_chat` tinyint(4) unsigned NOT NULL DEFAULT '0' -AFTER `rc_feedback_group_id`; -UPDATE `userservice`.`session` -SET `is_peer_chat` = '1' -WHERE `rc_feedback_group_id` IS NOT NULL; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql deleted file mode 100644 index d084457a5..000000000 --- a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeNotify_new_feedback_message_from_advice_seekerFromConsultant-rollback.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table userservice.consultant - add notify_new_feedback_message_from_advice_seeker bit default true not null after notify_new_chat_message_from_advice_seeker; diff --git a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql b/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql deleted file mode 100644 index bac6f24e0..000000000 --- a/src/main/resources/db/changelog/changeset/0046_remove_feeback_related_columns/removeRc_feedback_group_idFromSession-rollback.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `userservice`.`session` -ADD `rc_feedback_group_id` varchar(255) COLLATE 'utf8_unicode_ci' NULL AFTER `rc_group_id`; From 01f0109f6a3b8dc7ff44ac57eb4f0a2ccaa7fc5b Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 26 Aug 2024 12:18:09 +0200 Subject: [PATCH 62/64] fix: CARITAS-243 - remove forwardMessageDTO --- api/userservice.yaml | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index f619cfb72..88d3841db 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -2100,8 +2100,6 @@ components: AliasMessageDTO: type: object properties: - forwardMessageDTO: - $ref: '#/components/schemas/ForwardMessageDTO' videoCallMessageDTO: $ref: '#/components/schemas/VideoCallMessageDTO' messageType: @@ -2109,36 +2107,6 @@ components: content: type: string - ForwardMessageDTO: - type: object - required: - - message - - timestamp - - username - - rcUserId - properties: - message: - type: string - example: "Lorem ipsum dolor sit amet, consetetur..." - timestamp: - type: string - description: "Full qualified timestamp" - example: "2018-11-15T09:33:00.057Z" - username: - type: string - example: "asker23" - displayName: - type: string - rcUserId: - type: string - example: "ag89h3tjkerg94t" - t: - type: string - org: - type: string - example: "Lorem ipsum dolor sit amet, consetetur..." - description: "Legacy fallback for stringified messages" - VideoCallMessageDTO: type: object required: From 6f77fec2cfccec18f9a83b9727a5f03199187519 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Mon, 26 Aug 2024 14:03:53 +0200 Subject: [PATCH 63/64] fix: CARITAS-243 - remove forwardMessage logic --- api/userservice.yaml | 1 - services/messageservice.yaml | 31 ------------------ .../deserializer/AliasJsonDeserializer.java | 32 ++----------------- .../deserializer/AliasMessageConverter.java | 18 ----------- .../AliasJsonDeserializerTest.java | 31 ------------------ .../AliasMessageConverterTest.java | 10 ------ 6 files changed, 2 insertions(+), 121 deletions(-) diff --git a/api/userservice.yaml b/api/userservice.yaml index 88d3841db..f79739c9a 100644 --- a/api/userservice.yaml +++ b/api/userservice.yaml @@ -2135,7 +2135,6 @@ components: - "APPOINTMENT_RESCHEDULED" - "FURTHER_STEPS" - "UPDATE_SESSION_DATA" - - "FORWARD" - "VIDEOCALL" - "FINISHED_CONVERSATION" - "USER_MUTED" diff --git a/services/messageservice.yaml b/services/messageservice.yaml index fd422594a..16dc1ed89 100644 --- a/services/messageservice.yaml +++ b/services/messageservice.yaml @@ -426,8 +426,6 @@ components: AliasMessageDTO: type: object properties: - forwardMessageDTO: - $ref: '#/components/schemas/ForwardMessageDTO' videoCallMessageDTO: $ref: '#/components/schemas/VideoCallMessageDTO' messageType: @@ -435,35 +433,6 @@ components: content: type: string - ForwardMessageDTO: - type: object - required: - - message - - timestamp - - username - - rcUserId - properties: - message: - type: string - example: "Lorem ipsum dolor sit amet, consetetur..." - org: - type: string - example: "Lorem ipsum dolor sit amet, consetetur..." - timestamp: - type: string - description: "Full qualified timestamp" - example: "2018-11-15T09:33:00.057Z" - username: - type: string - example: "asker23" - displayName: - type: string - rcUserId: - type: string - example: "ag89h3tjkerg94t" - t: - type: string - VideoCallMessageDTO: type: object required: diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializer.java b/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializer.java index 440689006..a81742662 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializer.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializer.java @@ -6,11 +6,9 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import de.caritas.cob.userservice.api.adapters.web.dto.AliasMessageDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.ForwardMessageDTO; import de.caritas.cob.userservice.api.adapters.web.dto.VideoCallMessageDTO; import de.caritas.cob.userservice.api.helper.UsernameTranscoder; import java.io.IOException; -import java.util.Optional; import org.apache.commons.lang3.StringUtils; /** Json Deserializer for the alias. */ @@ -20,11 +18,8 @@ public class AliasJsonDeserializer extends JsonDeserializer { private final AliasMessageConverter aliasMessageConverter = new AliasMessageConverter(); /** - * Deserializes the Rocket.Chat custom alias object. If the structure of the alias object is the - * representation only of the old {@link ForwardMessageDTO}, then the deserialization transforms - * the old {@link ForwardMessageDTO} into the current used {@link AliasMessageDTO} containing the - * {@link ForwardMessageDTO}. Otherwise the whole new {@link AliasMessageDTO} containing a {@link - * ForwardMessageDTO} or a {@link VideoCallMessageDTO} will be transformed. + * Deserializes the Rocket.Chat custom alias object. The whole new {@link AliasMessageDTO} + * containing a {@link VideoCallMessageDTO} will be transformed. * * @param jsonParser the json parser object containing the source object as a string * @param context the current context @@ -39,41 +34,18 @@ public AliasMessageDTO deserialize(JsonParser jsonParser, DeserializationContext return null; } - Optional forwardMessageDTO = - aliasMessageConverter.convertStringToForwardMessageDTO(aliasValue); - - if (forwardMessageDTO.isPresent()) { - return buildAliasMessageDTOByOldForwardDTO(forwardMessageDTO.get()); - } - return buildAliasMessageDTOWithPossibleVideoCallMessageDTO(aliasValue); } - private AliasMessageDTO buildAliasMessageDTOByOldForwardDTO(ForwardMessageDTO forwardMessageDTO) { - forwardMessageDTO.setUsername( - usernameTranscoder.decodeUsername(forwardMessageDTO.getUsername())); - return new AliasMessageDTO().forwardMessageDTO(forwardMessageDTO); - } - private AliasMessageDTO buildAliasMessageDTOWithPossibleVideoCallMessageDTO(String aliasValue) { AliasMessageDTO alias = aliasMessageConverter.convertStringToAliasMessageDTO(aliasValue).orElse(null); if (nonNull(alias)) { - decodeUsernameOfForwardMessageDTOIfNonNull(alias); decodeUsernameOfVideoCallMessageDTOIfNonNull(alias); } return alias; } - private void decodeUsernameOfForwardMessageDTOIfNonNull(AliasMessageDTO alias) { - if (nonNull(alias.getForwardMessageDTO())) { - alias - .getForwardMessageDTO() - .setUsername( - usernameTranscoder.decodeUsername(alias.getForwardMessageDTO().getUsername())); - } - } - private void decodeUsernameOfVideoCallMessageDTOIfNonNull(AliasMessageDTO alias) { if (nonNull(alias.getVideoCallMessageDTO())) { alias diff --git a/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverter.java b/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverter.java index b83662cc5..e26927654 100644 --- a/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverter.java +++ b/src/main/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverter.java @@ -7,7 +7,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import de.caritas.cob.userservice.api.adapters.web.dto.AliasMessageDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.ForwardMessageDTO; import java.io.IOException; import java.util.Optional; import lombok.extern.slf4j.Slf4j; @@ -16,23 +15,6 @@ @Slf4j public class AliasMessageConverter { - /** - * Maps a given String to a {@link ForwardMessageDTO}. - * - * @param alias String - * @return Optional of {@link ForwardMessageDTO} - */ - public Optional convertStringToForwardMessageDTO(String alias) { - try { - return ofNullable( - new ObjectMapper().readValue(decode(alias, UTF_8.name()), ForwardMessageDTO.class)); - } catch (IOException jsonParseEx) { - // This is not an error any more due to restructuring of the alias object. This is not a - // real error, but necessary due to legacy code - return empty(); - } - } - /** * Maps a given String to a {@link AliasMessageDTO}. * diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializerTest.java b/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializerTest.java index ebd21e1ce..81bc1acd4 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializerTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasJsonDeserializerTest.java @@ -4,7 +4,6 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -import static org.hamcrest.Matchers.nullValue; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; @@ -15,7 +14,6 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.ObjectMapper; import de.caritas.cob.userservice.api.adapters.web.dto.AliasMessageDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.ForwardMessageDTO; import de.caritas.cob.userservice.api.adapters.web.dto.VideoCallMessageDTO; import de.caritas.cob.userservice.api.helper.UsernameTranscoder; import java.io.ByteArrayInputStream; @@ -50,22 +48,6 @@ void aliasJsonDeserializer_Should_haveNoArgsConstructor() { assertTrue(ClassUtils.hasConstructor(AliasJsonDeserializer.class)); } - @Test - void deserialize_Should_convertAliasWithEncodedUsernameToForwardMessageDTO() throws IOException { - ForwardMessageDTO result = - deserializeOldAliasJson(MESSAGE_FORWARD_ALIAS_JSON_WITH_ENCODED_USERNAME) - .getForwardMessageDTO(); - assertThat(result.getUsername(), is(DECODED_USERNAME)); - } - - @Test - void deserialize_Should_convertAliasWithDecodedUsernameToForwardMessageDTO() throws IOException { - ForwardMessageDTO result = - deserializeOldAliasJson(MESSAGE_FORWARD_ALIAS_JSON_WITH_DECODED_USERNAME) - .getForwardMessageDTO(); - assertThat(result.getUsername(), is(DECODED_USERNAME)); - } - @Test void deserialize_Should_ReturnNull_IfAliasIsEmpty() throws IOException { AliasMessageDTO result = deserializeOldAliasJson(""); @@ -86,7 +68,6 @@ void deserialize_Should_returnAliasDTOWithDecodedUsername_When_usernameIsEncoded AliasMessageDTO result = deserializeNewAliasJson(aliasMessageDTO); - assertThat(result.getForwardMessageDTO(), nullValue()); assertThat(result.getVideoCallMessageDTO(), notNullValue()); assertThat(result.getVideoCallMessageDTO().getEventType(), is(IGNORED_CALL)); assertThat(result.getVideoCallMessageDTO().getInitiatorUserName(), is(DECODED_USERNAME)); @@ -106,7 +87,6 @@ void deserialize_Should_returnAliasDTOWithDecodedUsername_When_usernameIsDecoded AliasMessageDTO result = deserializeNewAliasJson(aliasMessageDTO); - assertThat(result.getForwardMessageDTO(), nullValue()); assertThat(result.getVideoCallMessageDTO(), notNullValue()); assertThat(result.getVideoCallMessageDTO().getEventType(), is(IGNORED_CALL)); assertThat(result.getVideoCallMessageDTO().getInitiatorUserName(), is(DECODED_USERNAME)); @@ -118,12 +98,6 @@ void deserialize_Should_returnAliasDTOWithDecodedUsernames_When_usernamesAreEnco String aliasMessageDTO = asJsonString( new AliasMessageDTO() - .forwardMessageDTO( - new ForwardMessageDTO() - .message("message") - .rcUserId("rcUserId") - .timestamp("timestamp") - .username(ENCODE_USERNAME)) .videoCallMessageDTO( new VideoCallMessageDTO() .eventType(IGNORED_CALL) @@ -132,11 +106,6 @@ void deserialize_Should_returnAliasDTOWithDecodedUsernames_When_usernamesAreEnco AliasMessageDTO result = deserializeNewAliasJson(aliasMessageDTO); - assertThat(result.getForwardMessageDTO(), notNullValue()); - assertThat(result.getForwardMessageDTO().getMessage(), is("message")); - assertThat(result.getForwardMessageDTO().getRcUserId(), is("rcUserId")); - assertThat(result.getForwardMessageDTO().getTimestamp(), is("timestamp")); - assertThat(result.getForwardMessageDTO().getUsername(), is(DECODED_USERNAME)); assertThat(result.getVideoCallMessageDTO(), notNullValue()); assertThat(result.getVideoCallMessageDTO().getEventType(), is(IGNORED_CALL)); assertThat(result.getVideoCallMessageDTO().getInitiatorUserName(), is(DECODED_USERNAME)); diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverterTest.java b/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverterTest.java index 1b870028a..dd8127e4a 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverterTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/rocketchat/dto/room/deserializer/AliasMessageConverterTest.java @@ -5,7 +5,6 @@ import static org.hamcrest.Matchers.is; import de.caritas.cob.userservice.api.adapters.web.dto.AliasMessageDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.ForwardMessageDTO; import java.util.Optional; import org.junit.jupiter.api.Test; @@ -20,15 +19,6 @@ class AliasMessageConverterTest { assertThat(result.isPresent(), is(false)); } - @Test - void - convertStringToForwardMessageDTO_Should_returnOptionalEmpty_When_jsonStringCanNotBeConverted() { - Optional result = - new AliasMessageConverter().convertStringToForwardMessageDTO("alias"); - - assertThat(result.isPresent(), is(false)); - } - @Test void convertStringToAliasMessageDTO_Should_returnExpectedResult_When_jsonStringContainsMessageTypeFinishedConversation() { From daf08f1f871794153ee861ef994a2d1193352c7d Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Wed, 11 Sep 2024 16:15:33 +0200 Subject: [PATCH 64/64] fix: CARITAS-243 Merge dev into this branch and fix merge issues --- .../service/rocketchat/RocketChatGroupOperation.java | 3 ++- .../RocketChatRemoveFromGroupOperationServiceTest.java | 2 +- .../facade/assignsession/AssignEnquiryFacadeTest.java | 3 ++- .../facade/assignsession/AssignSessionFacadeTest.java | 10 ---------- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java index af74cfc38..609e8c96a 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatGroupOperation.java @@ -46,7 +46,8 @@ String resolveTypeOfSession(Session session) { } void removeConsultantsFromSessionGroups(Session session, List consultants) { - removeConsultantsFromRocketChatGroup(session.getGroupId(), consultants); + removeConsultantsFromRocketChatGroup( + session.getGroupId(), consultants, rocketChatFacade::removeUserFromGroup); } void removeConsultantsFromSessionGroup(String rcGroupId, List consultants) { diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java index 07f5f9f98..1fdfc05f9 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/rocketchat/RocketChatRemoveFromGroupOperationServiceTest.java @@ -129,7 +129,7 @@ void removeFromGroupOrRollbackOnFailure_Should_executeRemoveForRocketChatGroup() this.removeService.removeFromGroupOrRollbackOnFailure(); - verify(this.rocketChatFacade, times(1)).removeUserFromGroup("rcId", "group"); + verify(this.rocketChatFacade, times(1)).removeUserFromGroupIgnoreGroupNotFound("rcId", "group"); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java index 6f39198c5..9b08351be 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignEnquiryFacadeTest.java @@ -189,7 +189,8 @@ void assignEnquiry_Should_removeAllUnauthorizedMembers_When_sessionIsNotATeamSes verifyAsync( (a) -> verify(this.rocketChatFacade, times(1)) - .removeUserFromGroup(consultantToRemove.getRocketChatId(), session.getGroupId())); + .removeUserFromGroupIgnoreGroupNotFound( + consultantToRemove.getRocketChatId(), session.getGroupId())); } @Test diff --git a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java index e4f611548..49809e8bd 100644 --- a/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java +++ b/src/test/java/de/caritas/cob/userservice/api/facade/assignsession/AssignSessionFacadeTest.java @@ -163,21 +163,11 @@ void assignSession_ShouldNot_removeTeamMembers_When_sessionIsTeamSession() { verify(this.rocketChatFacade, never()) .removeUserFromGroupIgnoreGroupNotFound( "teamConsultantRcId", session.getGroupId())); - verifyAsync( - a -> - verify(this.rocketChatFacade, never()) - .removeUserFromGroupIgnoreGroupNotFound( - "teamConsultantRcId", session.getFeedbackGroupId())); verifyAsync( a -> verify(this.rocketChatFacade, never()) .removeUserFromGroupIgnoreGroupNotFound( "teamConsultantRcId2", session.getGroupId())); - verifyAsync( - a -> - verify(this.rocketChatFacade, never()) - .removeUserFromGroupIgnoreGroupNotFound( - "teamConsultantRcId2", session.getFeedbackGroupId())); verifyAsync( a -> verify(this.emailNotificationFacade, times(1))