diff --git a/.github/workflows/dockerImage.yml b/.github/workflows/dockerImage.yml
index 90d05e2..366082a 100644
--- a/.github/workflows/dockerImage.yml
+++ b/.github/workflows/dockerImage.yml
@@ -42,7 +42,7 @@ jobs:
run: mvn -B -Pprod clean package -DskipTests
- name: Maven Verify
run: mvn -B -Pprod clean verify
- - uses: actions/upload-artifact@v2
+ - uses: actions/upload-artifact@v4
with:
name: targetfiles
path: target/*.jar
@@ -73,7 +73,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Download buildfiles artifact
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: targetfiles
- name: Get current time
diff --git a/api/uploadservice.yaml b/api/uploadservice.yaml
index 9142714..a80d69f 100644
--- a/api/uploadservice.yaml
+++ b/api/uploadservice.yaml
@@ -105,82 +105,6 @@ paths:
description: INTERNAL SERVER ERROR - server encountered unexpected condition
security:
- Bearer: []
- /uploads/feedback/new/{feedbackRoomId}:
- post:
- tags:
- - upload-controller
- summary: 'Upload a file and send a message to to a Rocket.Chat feedback room
- [Authorization: authority for feedback chat]'
- operationId: uploadFileToFeedbackRoom
- parameters:
- - name: feedbackRoomId
- in: path
- description: Rocket.Chat room id
- required: true
- schema:
- type: string
- - name: RCToken
- in: header
- required: true
- schema:
- type: string
- - name: RCUserId
- in: header
- required: true
- schema:
- type: string
- requestBody:
- content:
- multipart/form-data:
- schema:
- required:
- - file
- - sendNotification
- properties:
- msg:
- type: string
- description: A text message
- description:
- type: string
- description: A description of the file
- tmId:
- type: string
- description: The thread message id (if you want upload a file to
- a thread)
- fileHeader:
- type: string
- description: Starting bytes of file which includes mimetype for verification
- t:
- type: string
- description: Type of message
- example: "e2e"
- file:
- type: string
- description: File to upload
- format: binary
- sendNotification:
- type: string
- description: Flag, whether an email notification should be sent
- or not (true/false)
- required: true
- responses:
- 201:
- description: CREATED - upload was successfully performed
- 400:
- description: BAD REQUEST - invalid/incomplete request or body object
- 401:
- description: UNAUTHORIZED - no/invalid Keycloak token
- 403:
- description: FORBIDDEN - no/invalid role/authorization
- 413:
- description: REQUEST ENTITY TOO LARGE - Maximum upload size exceeded
- 415:
- description: UNSUPPORTED MEDIA TYPE - Type of uploaded file is not allowed
- 500:
- description: INTERNAL SERVER ERROR - server encountered unexpected condition
- security:
- - Bearer: []
-
components:
schemas:
MasterKeyDto:
diff --git a/pom.xml b/pom.xml
index 4712236..3a8770d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,10 +16,23 @@
org.springframework.boot
spring-boot-starter-parent
- 2.7.5
+ 2.7.11
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ 2021.0.8
+ pom
+ import
+
+
+
+
UTF-8
UTF-8
@@ -82,6 +95,16 @@
org.springframework.boot
spring-boot-starter-actuator
+
+ org.springframework.cloud
+ spring-cloud-starter-sleuth
+ 3.1.11
+
+
+ org.springframework.cloud
+ spring-cloud-starter-zipkin
+ 2.2.8.RELEASE
+
diff --git a/services/userservice.yaml b/services/userservice.yaml
index e5f7c7b..f4e3b4f 100644
--- a/services/userservice.yaml
+++ b/services/userservice.yaml
@@ -538,33 +538,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/consultants:
get:
tags:
@@ -1180,10 +1153,6 @@ components:
type: string
example: xGklslk2JJKK
description: Rocket.Chat room ID
- feedbackGroupId:
- type: string
- example: 8ertjlasdKJA
- description: Rocket.Chat feedback room ID
askerRcId:
type: string
example: 8ertjlasdKJA
@@ -1198,9 +1167,6 @@ components:
messagesRead:
type: boolean
example: false
- feedbackRead:
- type: boolean
- example: true
isTeamSession:
type: boolean
example: false
@@ -1231,35 +1197,11 @@ components:
AliasMessageDTO:
type: object
properties:
- forwardMessageDTO:
- $ref: '#/components/schemas/ForwardMessageDTO'
videoCallMessageDTO:
$ref: '#/components/schemas/VideoCallMessageDTO'
messageType:
$ref: '#/components/schemas/MessageType'
- 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"
- rcUserId:
- type: string
- example: "ag89h3tjkerg94t"
-
VideoCallMessageDTO:
type: object
required:
@@ -1283,7 +1225,6 @@ components:
enum:
- "FURTHER_STEPS"
- "UPDATE_SESSION_DATA"
- - "FORWARD"
- "VIDEOCALL"
ConsultantSessionDTO:
@@ -1312,10 +1253,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
diff --git a/src/main/java/de/caritas/cob/uploadservice/api/authorization/Authority.java b/src/main/java/de/caritas/cob/uploadservice/api/authorization/Authority.java
index ca48350..21d392a 100644
--- a/src/main/java/de/caritas/cob/uploadservice/api/authorization/Authority.java
+++ b/src/main/java/de/caritas/cob/uploadservice/api/authorization/Authority.java
@@ -4,7 +4,6 @@
import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.CONSULTANT_DEFAULT;
import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.TECHNICAL_DEFAULT;
import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.USER_DEFAULT;
-import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.USE_FEEDBACK;
import static java.util.Collections.emptyList;
import static java.util.Collections.singletonList;
@@ -23,7 +22,6 @@ public enum Authority {
USER(UserRole.USER, singletonList(USER_DEFAULT)),
CONSULTANT(UserRole.CONSULTANT, singletonList(CONSULTANT_DEFAULT)),
- U25_CONSULTANT(UserRole.PEER_CONSULTANT, singletonList(USE_FEEDBACK)),
TECHNICAL(UserRole.TECHNICAL, singletonList(TECHNICAL_DEFAULT)),
ANONYMOUS(UserRole.ANONYMOUS, singletonList(ANONYMOUS_DEFAULT));
@@ -54,7 +52,6 @@ private AuthorityValue() {
public static final String CONSULTANT_DEFAULT = PREFIX + "CONSULTANT_DEFAULT";
public static final String USER_DEFAULT = PREFIX + "USER_DEFAULT";
- public static final String USE_FEEDBACK = PREFIX + "USE_FEEDBACK";
public static final String TECHNICAL_DEFAULT = PREFIX + "TECHNICAL_DEFAULT";
public static final String ANONYMOUS_DEFAULT = PREFIX + "ANONYMOUS_DEFAULT";
diff --git a/src/main/java/de/caritas/cob/uploadservice/api/authorization/UserRole.java b/src/main/java/de/caritas/cob/uploadservice/api/authorization/UserRole.java
index c7d20f3..a505658 100644
--- a/src/main/java/de/caritas/cob/uploadservice/api/authorization/UserRole.java
+++ b/src/main/java/de/caritas/cob/uploadservice/api/authorization/UserRole.java
@@ -11,7 +11,6 @@ public enum UserRole {
USER("user"),
CONSULTANT("consultant"),
TECHNICAL("technical"),
- PEER_CONSULTANT("peer-consultant"),
ANONYMOUS("anonymous");
private final String value;
diff --git a/src/main/java/de/caritas/cob/uploadservice/api/controller/UploadController.java b/src/main/java/de/caritas/cob/uploadservice/api/controller/UploadController.java
index 4dd630c..0ebfd93 100644
--- a/src/main/java/de/caritas/cob/uploadservice/api/controller/UploadController.java
+++ b/src/main/java/de/caritas/cob/uploadservice/api/controller/UploadController.java
@@ -11,10 +11,7 @@
import de.caritas.cob.uploadservice.api.service.LogService;
import de.caritas.cob.uploadservice.generated.api.controller.UploadsApi;
import io.swagger.annotations.Api;
-import java.util.Objects;
import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
@@ -105,54 +102,4 @@ public ResponseEntity uploadFileToRoom(
return new ResponseEntity<>(HttpStatus.CREATED);
}
-
- /**
- * Upload a file to a Rocket.Chat feedback room with a text message.
- *
- * @param feedbackRoomId Rocket.Chat feedback room id
- * @param rcToken Rocket.Chat token
- * @param rcUserId Rocket.Chat user id
- * @param file The file object as {@link MultipartFile}
- * @param sendNotification Flag, whether an email notification should be sent or not
- * @param msg The message
- * @param description The description
- * @param tmId Rocket.Chat thread message id
- * @return a ResponseEntity instance
- */
- @TempCleanup
- @Override
- public ResponseEntity uploadFileToFeedbackRoom(
- @PathVariable("feedbackRoomId") String feedbackRoomId,
- @RequestHeader String rcToken,
- @RequestHeader String rcUserId,
- @RequestPart MultipartFile file,
- @RequestParam String sendNotification,
- @RequestPart(required = false) String t,
- @RequestPart(required = false) String fileHeader,
- @RequestParam(required = false) String msg,
- @RequestParam(required = false) String description,
- @RequestParam(required = false) String tmId) {
-
- RocketChatCredentials rocketChatCredentials =
- RocketChatCredentials.builder().rocketChatUserId(rcUserId).rocketChatToken(rcToken).build();
-
- RocketChatUploadParameter rocketChatUploadParameter =
- RocketChatUploadParameter.builder()
- .roomId(feedbackRoomId)
- .description(description)
- .message(msg)
- .file(file)
- .tmId(tmId)
- .build();
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials,
- rocketChatUploadParameter,
- parseBoolean(sendNotification),
- t,
- fileHeader
- );
-
- return new ResponseEntity<>(HttpStatus.CREATED);
- }
}
diff --git a/src/main/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacade.java b/src/main/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacade.java
index 1528485..4b14564 100644
--- a/src/main/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacade.java
+++ b/src/main/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacade.java
@@ -20,9 +20,6 @@ public class EmailNotificationFacade {
@Value("${user.service.api.new.message.notification}")
private String userServiceApiSendNewMessageNotificationUrl;
- @Value("${user.service.api.new.feedback.message.notification}")
- private String userServiceApiSendNewFeedbackMessageNotificationUrl;
-
@Autowired
public EmailNotificationFacade(
EmailNotificationHelper emailNotificationHelper, AuthenticatedUser authenticatedUser) {
@@ -42,16 +39,4 @@ public void sendEmailNotification(String rcGroupId) {
authenticatedUser.getAccessToken(),
Optional.ofNullable(TenantContext.getCurrentTenant()));
}
-
- /**
- * Sends a new feedback message notification via the UserService (user data needed for sending the
- * mail will be read by the UserService, which in turn calls the UploadService).
- *
- * @param rcGroupId
- */
- public void sendFeedbackEmailNotification(String rcGroupId) {
- emailNotificationHelper.sendEmailFeedbackNotificationViaUserService(
- rcGroupId,
- authenticatedUser.getAccessToken(), Optional.ofNullable(TenantContext.getCurrentTenant()));
- }
}
diff --git a/src/main/java/de/caritas/cob/uploadservice/api/facade/UploadFacade.java b/src/main/java/de/caritas/cob/uploadservice/api/facade/UploadFacade.java
index 7dbbf78..daf6cb8 100644
--- a/src/main/java/de/caritas/cob/uploadservice/api/facade/UploadFacade.java
+++ b/src/main/java/de/caritas/cob/uploadservice/api/facade/UploadFacade.java
@@ -88,31 +88,6 @@ private UserRole resolveUserRole(AuthenticatedUser authenticatedUser) {
: UserRole.ASKER;
}
- /**
- * Upload a file with a message to a Rocket.Chat feedback room. The message and the description
- * are encrypted before it is sent to Rocket.Chat.
- *
- * @param rocketChatCredentials {@link RocketChatCredentials} container
- * @param rocketChatUploadParameter {@link RocketChatUploadParameter} container
- */
- public void uploadFileToFeedbackRoom(
- RocketChatCredentials rocketChatCredentials,
- RocketChatUploadParameter rocketChatUploadParameter,
- boolean sendNotification, String type, String fileHeader) {
-
- this.uploadTrackingService.validateUploadLimit(rocketChatUploadParameter.getRoomId());
-
- sanitizeAndEncryptParametersAndUploadToRocketChatRoom(
- rocketChatCredentials, rocketChatUploadParameter, type, fileHeader);
- this.liveEventNotificationService.sendLiveEvent(rocketChatUploadParameter.getRoomId(),
- authenticatedUser.getAccessToken(), TenantContext.getCurrentTenantOption());
- this.uploadTrackingService.trackUploadedFileForUser(rocketChatUploadParameter.getRoomId());
-
- if (sendNotification) {
- emailNotificationFacade.sendFeedbackEmailNotification(rocketChatUploadParameter.getRoomId());
- }
- }
-
private void sanitizeAndEncryptParametersAndUploadToRocketChatRoom(
RocketChatCredentials rocketChatCredentials,
RocketChatUploadParameter rocketChatUploadParameter, String type, String fileHeader) {
diff --git a/src/main/java/de/caritas/cob/uploadservice/api/helper/EmailNotificationHelper.java b/src/main/java/de/caritas/cob/uploadservice/api/helper/EmailNotificationHelper.java
index e426d13..c7f6b87 100644
--- a/src/main/java/de/caritas/cob/uploadservice/api/helper/EmailNotificationHelper.java
+++ b/src/main/java/de/caritas/cob/uploadservice/api/helper/EmailNotificationHelper.java
@@ -49,16 +49,6 @@ public void sendEmailNotificationViaUserService(
sendEmailNotificationCallingMethod(rcGroupId, userControllerApi::sendNewMessageNotification);
}
- @Async
- public void sendEmailFeedbackNotificationViaUserService(
- String rcGroupId, String accessToken,
- Optional currentTenant) {
- var userControllerApi = userServiceApiControllerFactory.createControllerApi();
- addDefaultHeaders(userControllerApi.getApiClient(), accessToken, currentTenant);
- sendEmailNotificationCallingMethod(rcGroupId,
- userControllerApi::sendNewFeedbackMessageNotification);
- }
-
private void sendEmailNotificationCallingMethod(String rcGroupId, Consumer newMessageNotificationConsumerMethod) {
try {
NewMessageNotificationDTO notificationDto = new NewMessageNotificationDTO().rcGroupId(
diff --git a/src/main/java/de/caritas/cob/uploadservice/config/SecurityConfig.java b/src/main/java/de/caritas/cob/uploadservice/config/SecurityConfig.java
index 0d089c7..80d5c1f 100644
--- a/src/main/java/de/caritas/cob/uploadservice/config/SecurityConfig.java
+++ b/src/main/java/de/caritas/cob/uploadservice/config/SecurityConfig.java
@@ -4,19 +4,13 @@
import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.CONSULTANT_DEFAULT;
import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.TECHNICAL_DEFAULT;
import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.USER_DEFAULT;
-import static de.caritas.cob.uploadservice.api.authorization.Authority.AuthorityValue.USE_FEEDBACK;
import de.caritas.cob.uploadservice.api.authorization.RoleAuthorizationAuthorityMapper;
import de.caritas.cob.uploadservice.filter.HttpTenantFilter;
import de.caritas.cob.uploadservice.filter.StatelessCsrfFilter;
-import org.keycloak.adapters.AdapterDeploymentContext;
-import org.keycloak.adapters.KeycloakConfigResolver;
-import org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver;
-import org.keycloak.adapters.springsecurity.AdapterDeploymentContextFactoryBean;
import org.keycloak.adapters.springsecurity.KeycloakConfiguration;
import org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationProvider;
import org.keycloak.adapters.springsecurity.client.KeycloakClientRequestFactory;
-import org.keycloak.adapters.springsecurity.config.KeycloakSpringConfigResolverWrapper;
import org.keycloak.adapters.springsecurity.config.KeycloakWebSecurityConfigurerAdapter;
import org.keycloak.adapters.springsecurity.filter.KeycloakAuthenticatedActionsFilter;
import org.keycloak.adapters.springsecurity.filter.KeycloakAuthenticationProcessingFilter;
@@ -26,8 +20,6 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -103,8 +95,6 @@ protected void configure(HttpSecurity http) throws Exception {
.hasAuthority(TECHNICAL_DEFAULT)
.antMatchers("/uploads/new/{roomId:[0-9A-Za-z]+}")
.hasAnyAuthority(USER_DEFAULT, CONSULTANT_DEFAULT, ANONYMOUS_DEFAULT)
- .antMatchers("/uploads/feedback/new/{feedbackRoomId:[0-9A-Za-z]+}")
- .hasAnyAuthority(USE_FEEDBACK)
.anyRequest()
.denyAll();
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index d34afcc..62b8fcc 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -47,7 +47,6 @@ springfox.documentation.swagger.v2.path=${springfox.docuPath}/v2/api-docs
# UserService API
user.service.api.url=:/users
user.service.api.new.message.notification=${user.service.api.url}/mails/messages/new
-user.service.api.new.feedback.message.notification=${user.service.api.url}/mails/messages/feedback/new
user.service.api.liveproxy.url=:
# CSRF token
csrf.header.property=
@@ -107,4 +106,8 @@ management.endpoint.health.show-details=never
management.endpoints.web.exposure.include=health
management.health.probes.enabled=true
management.metrics.mongo.command.enabled=false
-management.metrics.mongo.connectionpool.enabled=false
\ No newline at end of file
+management.metrics.mongo.connectionpool.enabled=false
+
+spring.zipkin.baseUrl=
+spring.sleuth.sampler.percentage=1.0
+spring.zipkin.sender.type=web
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/authorization/AuthorityTest.java b/src/test/java/de/caritas/cob/uploadservice/api/authorization/AuthorityTest.java
index 98cbfd9..ed60ef1 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/authorization/AuthorityTest.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/authorization/AuthorityTest.java
@@ -33,16 +33,6 @@ public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleUs
assertEquals(1, result.size());
}
- @Test
- public 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
public void getAuthoritiesByRoleName_Should_ReturnCorrectRoles_ForKeycloakRoleTechnical() {
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/authorization/RoleAuthorizationAuthorityMapperTest.java b/src/test/java/de/caritas/cob/uploadservice/api/authorization/RoleAuthorizationAuthorityMapperTest.java
index f22a2d6..3f47c66 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/authorization/RoleAuthorizationAuthorityMapperTest.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/authorization/RoleAuthorizationAuthorityMapperTest.java
@@ -28,7 +28,6 @@ public class RoleAuthorizationAuthorityMapperTest {
Sets.newSet(
UserRole.USER.getValue(),
UserRole.CONSULTANT.getValue(),
- UserRole.PEER_CONSULTANT.getValue(),
UserRole.ANONYMOUS.getValue());
@Test
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerAuthorizationTestIT.java b/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerAuthorizationTestIT.java
index fdbc05d..5a5f711 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerAuthorizationTestIT.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerAuthorizationTestIT.java
@@ -1,7 +1,6 @@
package de.caritas.cob.uploadservice.api.controller;
import static de.caritas.cob.uploadservice.helper.PathConstants.PATH_UPDATE_KEY;
-import static de.caritas.cob.uploadservice.helper.PathConstants.PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM;
import static de.caritas.cob.uploadservice.helper.PathConstants.PATH_UPLOAD_FILE_TO_ROOM;
import static de.caritas.cob.uploadservice.helper.TestConstants.CSRF_COOKIE;
import static de.caritas.cob.uploadservice.helper.TestConstants.CSRF_HEADER;
@@ -155,54 +154,6 @@ public void uploadFileToRoom_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTo
verifyNoMoreInteractions(uploadFacade);
}
- @Test
- public void uploadFileToFeedbackRoom_Should_Return401AndCallNoMethods_WhenNoKeycloakAuthorization()
- throws Exception {
-
- mvc.perform(
- post(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .cookie(csrfCookie)
- .header(CSRF_HEADER, CSRF_VALUE)
- .contentType(MediaType.APPLICATION_JSON)
- .accept(MediaType.APPLICATION_JSON))
- .andExpect(status().isUnauthorized());
-
- verifyNoMoreInteractions(rocketChatService);
- verifyNoMoreInteractions(uploadFacade);
- }
-
- @Test
- @WithMockUser
- public void uploadFileToFeedbackRoom_Should_Return403AndCallNoMethods_WhenNoUserOrConsultantAuthority()
- throws Exception {
-
- mvc.perform(
- post(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .cookie(csrfCookie)
- .header(CSRF_HEADER, CSRF_VALUE)
- .contentType(MediaType.APPLICATION_JSON)
- .accept(MediaType.APPLICATION_JSON))
- .andExpect(status().isForbidden());
-
- verifyNoMoreInteractions(rocketChatService);
- verifyNoMoreInteractions(uploadFacade);
- }
-
- @Test
- @WithMockUser(authorities = {AuthorityValue.CONSULTANT_DEFAULT, AuthorityValue.USER_DEFAULT})
- public void uploadFileToFeedbackRoom_Should_ReturnForbiddenAndCallNoMethods_WhenNoCsrfTokens()
- throws Exception {
-
- mvc.perform(
- post(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .contentType(MediaType.APPLICATION_JSON)
- .accept(MediaType.APPLICATION_JSON))
- .andExpect(status().isForbidden());
-
- verifyNoMoreInteractions(rocketChatService);
- verifyNoMoreInteractions(uploadFacade);
- }
-
@Test
@WithMockUser(authorities = {AuthorityValue.ANONYMOUS_DEFAULT})
public void uploadFileToRoom_Should_ReturnCreated_When_AnonymousAuthority()
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTest.java b/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTest.java
index 6616c39..23a4314 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTest.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTest.java
@@ -1,7 +1,5 @@
package de.caritas.cob.uploadservice.api.controller;
-import static de.caritas.cob.uploadservice.helper.MethodAndParameterConstants.UPLOAD_FILE_TO_FEEDBACK_ROOM_METHOD_NAME;
-import static de.caritas.cob.uploadservice.helper.MethodAndParameterConstants.UPLOAD_FILE_TO_FEEDBACK_ROOM_METHOD_PARAMS;
import static de.caritas.cob.uploadservice.helper.MethodAndParameterConstants.UPLOAD_FILE_TO_ROOM_METHOD_NAME;
import static de.caritas.cob.uploadservice.helper.MethodAndParameterConstants.UPLOAD_FILE_TO_ROOM_METHOD_PARAMS;
import static org.junit.Assert.assertNotNull;
@@ -10,7 +8,6 @@
import de.caritas.cob.uploadservice.api.facade.UploadFacade;
import de.caritas.cob.uploadservice.api.service.EncryptionService;
import java.lang.reflect.Method;
-import lombok.NonNull;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -40,17 +37,4 @@ public void test_Should_Fail_WhenMethodUploadFileToRoomDoesNotHaveTempCleanupAnn
assertNotNull(annotation);
}
-
- @Test
- public void test_Should_Fail_WhenMethodUploadFileToFeedbackRoomDoesNotHaveTempCleanupAnnotation()
- throws NoSuchMethodException {
-
- Class classToTest = uploadController.getClass();
- Method methodToTest =
- classToTest.getMethod(
- UPLOAD_FILE_TO_FEEDBACK_ROOM_METHOD_NAME, UPLOAD_FILE_TO_FEEDBACK_ROOM_METHOD_PARAMS);
- TempCleanup annotation = methodToTest.getAnnotation(TempCleanup.class);
-
- assertNotNull(annotation);
- }
}
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTestIT.java b/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTestIT.java
index 822c7f1..e81a97f 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTestIT.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/controller/UploadControllerTestIT.java
@@ -1,7 +1,6 @@
package de.caritas.cob.uploadservice.api.controller;
import static de.caritas.cob.uploadservice.helper.PathConstants.PATH_UPDATE_KEY;
-import static de.caritas.cob.uploadservice.helper.PathConstants.PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM;
import static de.caritas.cob.uploadservice.helper.PathConstants.PATH_UPLOAD_FILE_TO_ROOM;
import static de.caritas.cob.uploadservice.helper.TestConstants.FORM_PARAM_DESCRIPTION;
import static de.caritas.cob.uploadservice.helper.TestConstants.FORM_PARAM_DESCRIPTION_VALUE;
@@ -93,25 +92,6 @@ public void uploadFileToRoom_Should_ReturnNotFound_WhenRoomIdIsMissing() throws
.andExpect(status().isNotFound());
}
- @Test
- public void uploadFileToFeedbackRoom_Should_ReturnNotFound_WhenRoomIdIsMissing()
- throws Exception {
-
- MockPart fileToUpload = new MockPart(FORM_PARAM_FILE, "fileToUpload", "content".getBytes());
-
- mvc.perform(
- multipart(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM)
- .part(fileToUpload)
- .param(FORM_PARAM_SEND_NOTIFICATION, FORM_PARAM_SEND_NOTIFICATION_TRUE)
- .param(FORM_PARAM_DESCRIPTION, FORM_PARAM_DESCRIPTION_VALUE)
- .param(FORM_PARAM_MESSAGE, FORM_PARAM_MESSAGE_VALUE)
- .param(FORM_PARAM_TMID, FORM_PARAM_TMID_VALUE)
- .contentType(MediaType.MULTIPART_FORM_DATA)
- .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN)
- .header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
- .andExpect(status().isNotFound());
- }
-
@Test
public void uploadFileToRoom_Should_ReturnBadRequest_WhenFileIsMissing() throws Exception {
@@ -145,40 +125,6 @@ public void uploadFileToRoom_Should_ReturnBadRequest_WhenSendNotificationIsMissi
.andExpect(status().isBadRequest());
}
- @Test
- public void uploadFileToFeedbackRoom_Should_ReturnBadRequest_WhenFileIsMissing()
- throws Exception {
-
- mvc.perform(
- multipart(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .param(FORM_PARAM_SEND_NOTIFICATION, FORM_PARAM_SEND_NOTIFICATION_TRUE)
- .param(FORM_PARAM_DESCRIPTION, FORM_PARAM_DESCRIPTION_VALUE)
- .param(FORM_PARAM_MESSAGE, FORM_PARAM_MESSAGE_VALUE)
- .param(FORM_PARAM_TMID, FORM_PARAM_TMID_VALUE)
- .contentType(MediaType.MULTIPART_FORM_DATA)
- .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN)
- .header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
- .andExpect(status().isBadRequest());
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_ReturnBadRequest_WhenSendNotificationIsMissing()
- throws Exception {
-
- MockPart fileToUpload = new MockPart(FORM_PARAM_FILE, "fileToUpload", "content".getBytes());
-
- mvc.perform(
- multipart(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .part(fileToUpload)
- .param(FORM_PARAM_DESCRIPTION, FORM_PARAM_DESCRIPTION_VALUE)
- .param(FORM_PARAM_MESSAGE, FORM_PARAM_MESSAGE_VALUE)
- .param(FORM_PARAM_TMID, FORM_PARAM_TMID_VALUE)
- .contentType(MediaType.MULTIPART_FORM_DATA)
- .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN)
- .header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
- .andExpect(status().isBadRequest());
- }
-
@Test
public void uploadFileToRoom_Should_ReturnOk_WhenValidRequest() throws Exception {
@@ -197,24 +143,6 @@ public void uploadFileToRoom_Should_ReturnOk_WhenValidRequest() throws Exception
.andExpect(status().isCreated());
}
- @Test
- public void uploadFileToFeedbackRoom_Should_ReturnOk_WhenValidRequest() throws Exception {
-
- MockPart fileToUpload = new MockPart(FORM_PARAM_FILE, "fileToUpload", "content".getBytes());
-
- mvc.perform(
- multipart(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .part(fileToUpload)
- .param(FORM_PARAM_SEND_NOTIFICATION, FORM_PARAM_SEND_NOTIFICATION_TRUE)
- .param(FORM_PARAM_DESCRIPTION, FORM_PARAM_DESCRIPTION_VALUE)
- .param(FORM_PARAM_MESSAGE, FORM_PARAM_MESSAGE_VALUE)
- .param(FORM_PARAM_TMID, FORM_PARAM_TMID_VALUE)
- .contentType(MediaType.MULTIPART_FORM_DATA)
- .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN)
- .header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
- .andExpect(status().isCreated());
- }
-
@Test
public void updateKey_Should_ReturnOk_WhenProvidedWithNewKey() throws Exception {
@@ -256,22 +184,6 @@ public void uploadFileToRoom_Should_ReturnOk_When_notRequiredParamsAreMissing()
.andExpect(status().isCreated());
}
- @Test
- public void uploadFileToFeedbackRoom_Should_ReturnOk_When_notRequiredParamsAreMissing()
- throws Exception {
-
- MockPart fileToUpload = new MockPart(FORM_PARAM_FILE, "fileToUpload", "content".getBytes());
-
- mvc.perform(
- multipart(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .part(fileToUpload)
- .param(FORM_PARAM_SEND_NOTIFICATION, FORM_PARAM_SEND_NOTIFICATION_TRUE)
- .contentType(MediaType.MULTIPART_FORM_DATA)
- .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN)
- .header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
- .andExpect(status().isCreated());
- }
-
@Test
public void uploadFileToRoom_Should_ReturnForbiddenWithCustomHeader_When_quotaLimitIsReached()
throws Exception {
@@ -315,22 +227,4 @@ public void uploadFileToRoom_should_return_unsupported_media_type_on_InvalidFile
.header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
.andExpect(status().isUnsupportedMediaType());
}
-
- @Test
- public void uploadFileToFeedbackRoom_should_return_unsupported_media_type_on_InvalidFileTypeException()
- throws Exception {
- doThrow(InvalidFileTypeException.class).when(uploadFacade)
- .uploadFileToFeedbackRoom(any(RocketChatCredentials.class),
- any(RocketChatUploadParameter.class), anyBoolean(), nullable(String.class), nullable(String.class));
- MockPart fileToUpload = new MockPart(FORM_PARAM_FILE, "fileToUpload", "content".getBytes());
-
- mvc.perform(
- multipart(PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM + "/" + RC_ROOM_ID)
- .part(fileToUpload)
- .param(FORM_PARAM_SEND_NOTIFICATION, FORM_PARAM_SEND_NOTIFICATION_TRUE)
- .contentType(MediaType.MULTIPART_FORM_DATA)
- .header(RC_TOKEN_HEADER_PARAMETER_NAME, RC_TOKEN)
- .header(RC_USER_ID_HEADER_PARAMETER_NAME, RC_USER_ID))
- .andExpect(status().isUnsupportedMediaType());
- }
}
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacadeTest.java b/src/test/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacadeTest.java
index 403cce0..9bac85e 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacadeTest.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/facade/EmailNotificationFacadeTest.java
@@ -24,10 +24,6 @@ public class EmailNotificationFacadeTest {
"userServiceApiSendNewMessageNotificationUrl";
private static final String NOTIFICATION_API_URL =
"http://caritas.local/service/users/mails/messages/new";
- private static final String FIELD_NAME_NEW_FEEDBACK_MESSAGE_NOTIFICATION =
- "userServiceApiSendNewFeedbackMessageNotificationUrl";
- private static final String FEEDBACK_NOTIFICATION_API_URL =
- "http://caritas.local/service/users/mails/messages/feedback/new";
private static final String RC_GROUP_ID = "fR2Rz7dmWmHdXE8uz";
@Mock private EmailNotificationHelper emailNotificationHelper;
@@ -37,7 +33,6 @@ public class EmailNotificationFacadeTest {
@Before
public void setup() throws NoSuchFieldException, SecurityException {
ReflectionTestUtils.setField(emailNotificationFacade, FIELD_NAME_NEW_MESSAGE_NOTIFICATION, NOTIFICATION_API_URL);
- ReflectionTestUtils.setField(emailNotificationFacade, FIELD_NAME_NEW_FEEDBACK_MESSAGE_NOTIFICATION, FEEDBACK_NOTIFICATION_API_URL);
}
@Test
@@ -51,17 +46,4 @@ public void sendEmailNotification_Should_PassSendNewMessageNotificationUrl2Notif
.sendEmailNotificationViaUserService(
RC_GROUP_ID, KEYCLOAK_ACCESS_TOKEN, Optional.ofNullable((TenantContext.getCurrentTenant())));
}
-
- @Test
- public void
- sendFeedbackEmailNotification_Should_PassNewFeedbMsgNotificationUrl2NotificationHelper() {
-
- when(authenticatedUser.getAccessToken()).thenReturn(KEYCLOAK_ACCESS_TOKEN);
-
- emailNotificationFacade.sendFeedbackEmailNotification(RC_GROUP_ID);
-
- verify(emailNotificationHelper, times(1))
- .sendEmailFeedbackNotificationViaUserService(
- RC_GROUP_ID, KEYCLOAK_ACCESS_TOKEN, Optional.ofNullable(TenantContext.getCurrentTenant()));
- }
}
diff --git a/src/test/java/de/caritas/cob/uploadservice/api/facade/UploadFacadeTest.java b/src/test/java/de/caritas/cob/uploadservice/api/facade/UploadFacadeTest.java
index 5fb6bd7..9c82b61 100644
--- a/src/test/java/de/caritas/cob/uploadservice/api/facade/UploadFacadeTest.java
+++ b/src/test/java/de/caritas/cob/uploadservice/api/facade/UploadFacadeTest.java
@@ -214,83 +214,4 @@ public void uploadFileToRoom_Should_ThrowInternalServerErrorException_WheRocketC
uploadFacade.uploadFileToRoom(rocketChatCredentials, rocketChatUploadParameter, false, null, null);
}
-
- /**
- * Method: uploadFileToFeedbackRoom
- */
- @Test
- public void uploadFileToFeedbackRoom_Should_CallServicesCorrectly_WhenNoExceptionIsThrown()
- throws Exception {
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials, rocketChatUploadParameter, false, null, null);
-
- verify(rocketChatUploadParameterSanitizer, times(1)).sanitize(rocketChatUploadParameter);
- verify(rocketChatUploadParameterEncrypter, times(1)).encrypt(rocketChatUploadParameter);
- verify(rocketChatService, times(1)).roomsUpload(rocketChatCredentials,
- rocketChatUploadParameter);
- verify(rocketChatService, times(1)).markGroupAsReadForSystemUser(
- rocketChatUploadParameter.getRoomId());
- verify(uploadTrackingService, times(1)).validateUploadLimit(any());
- verify(uploadTrackingService, times(1)).trackUploadedFileForUser(any());
- verify(fileService).verifyMimeType(multipartFile);
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_sendEmailNotification_WhenParamIsTrue() {
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials, rocketChatUploadParameter, true, null, null);
-
- verify(emailNotificationFacade, times(1)).sendFeedbackEmailNotification(RC_ROOM_ID);
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_markGroupAsReadForSystemUser()
- throws RocketChatPostMarkGroupAsReadException {
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials, rocketChatUploadParameter, false, null, null);
-
- verify(rocketChatService, times(1)).markGroupAsReadForSystemUser(RC_ROOM_ID);
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_uploadToRocketChat() {
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials, rocketChatUploadParameter, false, null, null);
-
- verify(rocketChatService, times(1))
- .roomsUpload(
- Mockito.any(RocketChatCredentials.class), Mockito.any(RocketChatUploadParameter.class));
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_EncryptRocketChatParameter()
- throws CustomCryptoException {
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials, rocketChatUploadParameter, false, null, null);
-
- verify(rocketChatUploadParameterEncrypter, times(1)).encrypt(rocketChatUploadParameter);
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_SanitizeRocketChatParameter() {
-
- uploadFacade.uploadFileToFeedbackRoom(
- rocketChatCredentials, rocketChatUploadParameter, false, null, null);
-
- verify(rocketChatUploadParameterSanitizer, times(1)).sanitize(rocketChatUploadParameter);
- }
-
- @Test
- public void uploadFileToFeedbackRoom_Should_sendLiveNotification_When_UploadSucceeds() {
-
- uploadFacade.uploadFileToFeedbackRoom(rocketChatCredentials, rocketChatUploadParameter, false, null, null);
-
- verify(this.liveEventNotificationService, times(1))
- .sendLiveEvent(eq(rocketChatUploadParameter.getRoomId()), any(), any());
- }
}
diff --git a/src/test/java/de/caritas/cob/uploadservice/helper/MethodAndParameterConstants.java b/src/test/java/de/caritas/cob/uploadservice/helper/MethodAndParameterConstants.java
index cd71411..4f62362 100644
--- a/src/test/java/de/caritas/cob/uploadservice/helper/MethodAndParameterConstants.java
+++ b/src/test/java/de/caritas/cob/uploadservice/helper/MethodAndParameterConstants.java
@@ -19,16 +19,4 @@ public class MethodAndParameterConstants {
String.class,
String.class
};
- public static final String UPLOAD_FILE_TO_FEEDBACK_ROOM_METHOD_NAME = "uploadFileToFeedbackRoom";
- public static final Class>[] UPLOAD_FILE_TO_FEEDBACK_ROOM_METHOD_PARAMS =
- new Class[] {
- String.class,
- String.class,
- String.class,
- MultipartFile.class,
- String.class,
- String.class,
- String.class,
- String.class
- };
}
diff --git a/src/test/java/de/caritas/cob/uploadservice/helper/PathConstants.java b/src/test/java/de/caritas/cob/uploadservice/helper/PathConstants.java
index 3f597ea..9a3f001 100644
--- a/src/test/java/de/caritas/cob/uploadservice/helper/PathConstants.java
+++ b/src/test/java/de/caritas/cob/uploadservice/helper/PathConstants.java
@@ -4,5 +4,4 @@ public class PathConstants {
public static final String PATH_UPDATE_KEY = "/uploads/messages/key";
public static final String PATH_UPLOAD_FILE_TO_ROOM = "/uploads/new";
- public static final String PATH_UPLOAD_FILE_TO_FEEDBACK_ROOM = "/uploads/feedback/new";
}