diff --git a/src/main/java/com/epam/ta/reportportal/core/imprt/ImportLaunchHandlerImpl.java b/src/main/java/com/epam/ta/reportportal/core/imprt/ImportLaunchHandlerImpl.java index 696e0f8e84..d59d459129 100644 --- a/src/main/java/com/epam/ta/reportportal/core/imprt/ImportLaunchHandlerImpl.java +++ b/src/main/java/com/epam/ta/reportportal/core/imprt/ImportLaunchHandlerImpl.java @@ -41,6 +41,8 @@ @Service public class ImportLaunchHandlerImpl implements ImportLaunchHandler { + private static final int MAX_FILE_SIZE = 32 * 1024 * 1024; + private ImportStrategyFactory importStrategyFactory; private MessageBus messageBus; @@ -81,6 +83,7 @@ private void validate(MultipartFile file) { expect(file.getOriginalFilename(), it -> it.endsWith(ZIP_EXTENSION) || it.endsWith(XML_EXTENSION)).verify(INCORRECT_REQUEST, "Should be a zip archive or an xml file " + file.getOriginalFilename() ); + expect(file.getSize(), size -> size <= MAX_FILE_SIZE).verify(INCORRECT_REQUEST, "File size is more than 32 Mb."); } private File transferToTempFile(MultipartFile file) { diff --git a/src/main/java/com/epam/ta/reportportal/ws/controller/LaunchController.java b/src/main/java/com/epam/ta/reportportal/ws/controller/LaunchController.java index 622fecea49..c1be158566 100644 --- a/src/main/java/com/epam/ta/reportportal/ws/controller/LaunchController.java +++ b/src/main/java/com/epam/ta/reportportal/ws/controller/LaunchController.java @@ -371,7 +371,7 @@ public DeleteBulkRS deleteLaunches(@PathVariable String projectName, @RequestBod @PostMapping(value = "/import", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE }) @ResponseStatus(OK) - @ApiOperation(value = "Import junit xml report", notes = "Only following formats are supported: zip.") + @ApiOperation(value = "Import junit xml report", notes = "Only following formats are supported: zip and xml.") public OperationCompletionRS importLaunch(@PathVariable String projectName, @RequestParam("file") MultipartFile file, @AuthenticationPrincipal ReportPortalUser user, HttpServletRequest request) { return importLaunchHandler.importLaunch(projectExtractor.extractProjectDetails(user, normalizeId(projectName)),