in digital-document-service/src/it/java/com/epam/digital/data/platform/dgtldcmnt/controller/InternalApiDocumentControllerIT.java [130:162]
void shouldUploadAndDownloadDocumentWithMultiPartBody() {
var url = UriComponentsBuilder.newInstance().pathSegment("internal-api")
.pathSegment("v2")
.pathSegment("documents")
.pathSegment(rootProcessInstanceId)
.toUriString();
var uploadResponse = mockMvc.perform(multipart(url)
.file(new MockMultipartFile("file", filename, contentType, data))
.param("filename", filename)
.header(JwtAuthenticationFilter.AUTHORIZATION_HEADER, accessToken))
.andExpect(status().isOk())
.andReturn()
.getResponse()
.getContentAsString();
var metadata = getPayloadFromJSON(uploadResponse, RemoteDocumentMetadataDto.class);
var uriBuilder = UriComponentsBuilder.newInstance().pathSegment("internal-api")
.pathSegment("documents")
.pathSegment(rootProcessInstanceId)
.pathSegment(metadata.getId());
var request = get(uriBuilder.toUriString()).accept(MediaType.APPLICATION_JSON_VALUE);
request.header(JwtAuthenticationFilter.AUTHORIZATION_HEADER, accessToken);
var downloadResponse = mockMvc.perform(request)
.andExpect(status().isOk())
.andReturn()
.getResponse();
assertThat(downloadResponse).isNotNull();
assertThat(downloadResponse.getContentType()).isEqualTo(contentType);
assertThat(downloadResponse.getContentAsByteArray()).isEqualTo(data);
}