From 720a001e3f9f43d38d4c49c00f2507131664addd Mon Sep 17 00:00:00 2001 From: "aravind.est" Date: Tue, 15 Jul 2025 12:55:26 +0100 Subject: [PATCH] CSAR validation return type removed CSAR validation errors are thrown as part of exception, so the return type has been removed Issue-ID: NONRTRIC-1080 Change-Id: Ie4f95451f32ae3af485554aa8b600e302d566931 Signed-off-by: aravind.est --- .../oransc/rappmanager/rest/RappController.java | 34 +++++++++------------- .../csar/validator/RappValidationHandler.java | 5 ++-- .../csar/validator/RappValidationHandlerTest.java | 3 +- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/rapp-manager-application/src/main/java/org/oransc/rappmanager/rest/RappController.java b/rapp-manager-application/src/main/java/org/oransc/rappmanager/rest/RappController.java index a8335f6..3af2bd9 100644 --- a/rapp-manager-application/src/main/java/org/oransc/rappmanager/rest/RappController.java +++ b/rapp-manager-application/src/main/java/org/oransc/rappmanager/rest/RappController.java @@ -79,27 +79,19 @@ public class RappController { @PostMapping("{rapp_id}") public ResponseEntity createRapp(@PathVariable("rapp_id") String rappId, @Valid @RequestPart("file") MultipartFile csarFilePart) throws IOException { - if (rappValidationHandler.isValidRappPackage(csarFilePart)) { - File csarFile = new File( - rappCsarConfigurationHandler.getRappPackageLocation(rappManagerConfiguration.getCsarLocation(), - rappId, csarFilePart.getOriginalFilename()).toUri()); - csarFile.getParentFile().mkdirs(); - Files.copy(csarFilePart.getInputStream(), csarFile.getAbsoluteFile().toPath(), - StandardCopyOption.REPLACE_EXISTING); - Rapp rapp = Rapp.builder().name(rappId).packageLocation(rappManagerConfiguration.getCsarLocation()) - .packageName(csarFile.getName()).state(RappState.COMMISSIONED).build(); - rapp.setRappResources(rappCsarConfigurationHandler.getRappResource(rapp)); - rapp.setAsdMetadata(rappCsarConfigurationHandler.getAsdMetadata(rapp)); - rappCacheService.putRapp(rapp); - return ResponseEntity.accepted().build(); - } else { - if (rappId == null) { - logger.info("Invalid Rapp package with null rAppId"); - } else { - logger.info("Invalid Rapp package for {}", rappId); - } - throw new RappHandlerException(HttpStatus.BAD_REQUEST, "Invalid rApp package."); - } + rappValidationHandler.isValidRappPackage(csarFilePart); + File csarFile = new File( + rappCsarConfigurationHandler.getRappPackageLocation(rappManagerConfiguration.getCsarLocation(), rappId, + csarFilePart.getOriginalFilename()).toUri()); + csarFile.getParentFile().mkdirs(); + Files.copy(csarFilePart.getInputStream(), csarFile.getAbsoluteFile().toPath(), + StandardCopyOption.REPLACE_EXISTING); + Rapp rapp = Rapp.builder().name(rappId).packageLocation(rappManagerConfiguration.getCsarLocation()) + .packageName(csarFile.getName()).state(RappState.COMMISSIONED).build(); + rapp.setRappResources(rappCsarConfigurationHandler.getRappResource(rapp)); + rapp.setAsdMetadata(rappCsarConfigurationHandler.getAsdMetadata(rapp)); + rappCacheService.putRapp(rapp); + return ResponseEntity.accepted().build(); } @PutMapping("{rapp_id}") diff --git a/rapp-manager-models/src/main/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandler.java b/rapp-manager-models/src/main/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandler.java index f44ed92..d3fb54a 100644 --- a/rapp-manager-models/src/main/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandler.java +++ b/rapp-manager-models/src/main/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandler.java @@ -1,6 +1,6 @@ /* * ============LICENSE_START====================================================================== - * Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. + * Copyright (C) 2024-2025 OpenInfra Foundation Europe. All rights reserved. * =============================================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,10 +31,9 @@ public class RappValidationHandler { private final List rappValidators; - public boolean isValidRappPackage(MultipartFile multipartFile) { + public void isValidRappPackage(MultipartFile multipartFile) { List validatorList = rappValidators.stream().sorted(Comparator.comparing(RappValidator::getOrder)).toList(); validatorList.forEach(rappValidator -> rappValidator.validate(multipartFile, null)); - return true; } } diff --git a/rapp-manager-models/src/test/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandlerTest.java b/rapp-manager-models/src/test/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandlerTest.java index 7325747..e6b46b3 100644 --- a/rapp-manager-models/src/test/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandlerTest.java +++ b/rapp-manager-models/src/test/java/org/oransc/rappmanager/models/csar/validator/RappValidationHandlerTest.java @@ -19,6 +19,7 @@ package org.oransc.rappmanager.models.csar.validator; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; @@ -63,7 +64,7 @@ class RappValidationHandlerTest { MultipartFile multipartFile = new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), new FileInputStream(rappCsarPath)); - assertEquals(Boolean.TRUE, rappValidationHandler.isValidRappPackage(multipartFile)); + assertDoesNotThrow(() -> rappValidationHandler.isValidRappPackage(multipartFile)); } @ParameterizedTest -- 2.16.6