From 594a37fa17c3b9adfa9825510e0a7128fcf5632d Mon Sep 17 00:00:00 2001 From: talio Date: Wed, 3 Jan 2018 17:49:51 +0200 Subject: [PATCH] fix failing tests fix failing tests in uploadCSARFileTest.java, and changing error messages Change-Id: Ied1384d87551242d3eb48987990a6e8a72b26916 Issue-ID: SDC-874 Signed-off-by: talio --- .../impl/MonitoringUploadsManagerImpl.java | 7 +- .../OrchestrationTemplateCandidateManagerImpl.java | 5 +- .../BaseOrchestrationTemplateHandler.java | 13 +- .../OrchestrationTemplateCSARHandler.java | 5 +- .../types/ValidationResponse.java | 6 +- .../utils/VendorSoftwareProductUtils.java | 49 +------- .../org/openecomp/sdc/common/utils/CommonUtil.java | 36 ------ .../services/impl/CandidateServiceImplTest.java | 6 +- .../upload/csar/UploadCSARFileTest.java | 132 +++++++++------------ .../validation/UploadFileValidationTest.java | 2 +- .../test/resources/vspmanager.csar/SDCmock.csar | Bin 4211 -> 0 bytes .../resources/vspmanager.csar/SDCmockBrokenMF.csar | Bin 4022 -> 0 bytes .../resources/vspmanager.csar/SDCmockFail1.csar | Bin 4372 -> 0 bytes .../resources/vspmanager.csar/SDCmockFail2.csar | Bin 3263 -> 0 bytes .../resources/vspmanager.csar/SDCmockFail3.csar | Bin 4521 -> 0 bytes .../vspmanager.csar/invalidFileInRoot.csar | Bin 0 -> 7335 bytes .../vspmanager.csar/invalidManifestContent.csar | Bin 0 -> 5260 bytes .../missingMainServiceTemplate.csar | Bin 0 -> 4013 bytes .../src/test/resources/vspmanager.csar/notCsar.txt | 0 .../vspmanager.csar/successfulUpload.csar | Bin 0 -> 5681 bytes .../org/openecomp/sdc/common/errors/Messages.java | 2 +- .../filedatastructuremodule/CandidateService.java | 5 +- .../CandidateServiceImpl.java | 21 +++- 23 files changed, 107 insertions(+), 182 deletions(-) delete mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/common/utils/CommonUtil.java delete mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmock.csar delete mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockBrokenMF.csar delete mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail1.csar delete mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail2.csar delete mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail3.csar create mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/invalidFileInRoot.csar create mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/invalidManifestContent.csar create mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/missingMainServiceTemplate.csar create mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/notCsar.txt create mode 100644 openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/successfulUpload.csar diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java index 8e8b273015..d278962bdb 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java @@ -57,6 +57,8 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; +import static org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder.getErrorWithParameters; + public class MonitoringUploadsManagerImpl implements MonitoringUploadsManager { private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage(); private final ComponentArtifactDao componentArtifactDao; @@ -109,7 +111,8 @@ public class MonitoringUploadsManagerImpl implements MonitoringUploadsManager { LoggerErrorCode.DATA_ERROR.getErrorCode(), INVALID + type .toString() + " zip file"); throw new CoreException(new MonitoringUploadErrorBuilder( - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage()).build()); + getErrorWithParameters(Messages.NO_FILE_WAS_UPLOADED_OR_FILE_NOT_EXIST.getErrorMessage(), + "zip")).build()); } else { Map> errors = new HashMap<>(); try { @@ -137,7 +140,7 @@ public class MonitoringUploadsManagerImpl implements MonitoringUploadsManager { MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.UPLOAD_MONITORING_FILE, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), INVALID + type - .toString() + "zip file" ); + .toString() + "zip file"); throw new CoreException(new MonitoringUploadErrorBuilder(exception.getMessage()).build()); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/OrchestrationTemplateCandidateManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/OrchestrationTemplateCandidateManagerImpl.java index c9bb956a18..093192e858 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/OrchestrationTemplateCandidateManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/OrchestrationTemplateCandidateManagerImpl.java @@ -55,6 +55,8 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import static org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder.getErrorWithParameters; + public class OrchestrationTemplateCandidateManagerImpl implements OrchestrationTemplateCandidateManager { private static final Logger LOGGER = @@ -156,7 +158,8 @@ public class OrchestrationTemplateCandidateManagerImpl if (!candidateDataEntity.isPresent()) { ErrorMessage errorMessage = new ErrorMessage(ErrorLevel.ERROR, - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage()); + getErrorWithParameters(Messages.NO_FILE_WAS_UPLOADED_OR_FILE_NOT_EXIST.getErrorMessage + (), "")); LOGGER.error(errorMessage.getMessage()); MDC_DATA_DEBUG_MESSAGE.debugExitMessage(VSP_ID, vspId); diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/BaseOrchestrationTemplateHandler.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/BaseOrchestrationTemplateHandler.java index d20dc07b63..f25f6d780b 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/BaseOrchestrationTemplateHandler.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/BaseOrchestrationTemplateHandler.java @@ -31,12 +31,12 @@ public abstract class BaseOrchestrationTemplateHandler implements OrchestrationT CandidateService candidateService) { UploadFileResponse uploadFileResponse = new UploadFileResponse(); uploadFileResponse.setOnboardingType(getHandlerType()); - if (isNotEmptyFileToUpload(fileToUpload, uploadFileResponse, candidateService)) { + if (isNotEmptyFileToUpload(fileSuffix, fileToUpload, uploadFileResponse, candidateService)) { return uploadFileResponse; } byte[] uploadedFileData = FileUtils.toByteArray(fileToUpload); - if (isInvalidRawZipData(uploadFileResponse, uploadedFileData, candidateService)) { + if (isInvalidRawZipData(fileSuffix, uploadFileResponse, uploadedFileData, candidateService)) { return uploadFileResponse; } @@ -75,11 +75,11 @@ public abstract class BaseOrchestrationTemplateHandler implements OrchestrationT CandidateService candidateService, UploadFileResponse uploadFileResponse); - private boolean isNotEmptyFileToUpload(InputStream fileToUpload, + private boolean isNotEmptyFileToUpload(String fileSuffix, InputStream fileToUpload, UploadFileResponse uploadFileResponse, CandidateService candidateService) { Optional errorMessage = - candidateService.validateNonEmptyFileToUpload(fileToUpload); + candidateService.validateNonEmptyFileToUpload(fileToUpload, fileSuffix); if (errorMessage.isPresent()) { uploadFileResponse.addStructureError(SdcCommon.UPLOAD_FILE, errorMessage.get()); return true; @@ -87,11 +87,12 @@ public abstract class BaseOrchestrationTemplateHandler implements OrchestrationT return false; } - protected boolean isInvalidRawZipData(UploadFileResponse uploadFileResponse, + protected boolean isInvalidRawZipData(String fileSuffix, + UploadFileResponse uploadFileResponse, byte[] uploadedFileData, CandidateService candidateService) { Optional errorMessage; - errorMessage = candidateService.validateRawZipData(uploadedFileData); + errorMessage = candidateService.validateRawZipData(fileSuffix, uploadedFileData); if (errorMessage.isPresent()) { uploadFileResponse.addStructureError(SdcCommon.UPLOAD_FILE, errorMessage.get()); return true; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationTemplateCSARHandler.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationTemplateCSARHandler.java index 16147553fe..bc999de4fe 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationTemplateCSARHandler.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationTemplateCSARHandler.java @@ -160,9 +160,10 @@ public class OrchestrationTemplateCSARHandler extends BaseOrchestrationTemplateH } @Override - protected boolean isInvalidRawZipData(UploadFileResponse uploadFileResponse, + protected boolean isInvalidRawZipData(String fileSuffix, + UploadFileResponse uploadFileResponse, byte[] uploadedFileData, CandidateService candidateService) { - return super.isInvalidRawZipData(uploadFileResponse, uploadedFileData, candidateService); + return super.isInvalidRawZipData(fileSuffix, uploadFileResponse, uploadedFileData, candidateService); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/ValidationResponse.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/ValidationResponse.java index 09e7a40ec5..316b1a4049 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/ValidationResponse.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/ValidationResponse.java @@ -64,7 +64,7 @@ public class ValidationResponse { valid = false; } - VendorSoftwareProductUtils.setErrorsIntoLogger(vspErrors, serviceName, targetServiceName); + VendorSoftwareProductUtils.setErrorsIntoLogger(vspErrors, targetServiceName); } @@ -103,7 +103,7 @@ public class ValidationResponse { } VendorSoftwareProductUtils - .setErrorsIntoLogger(uploadDataErrors, serviceName, targetServiceName); + .setErrorsIntoLogger(uploadDataErrors, targetServiceName); } public Map> getCompilationErrors() { @@ -125,7 +125,7 @@ public class ValidationResponse { } VendorSoftwareProductUtils - .setErrorsIntoLogger(uploadDataErrors, serviceName, targetServiceName); + .setErrorsIntoLogger(uploadDataErrors, targetServiceName); } public QuestionnaireValidationResult getQuestionnaireValidationResult() { diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VendorSoftwareProductUtils.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VendorSoftwareProductUtils.java index 08528408d6..369efe38bc 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VendorSoftwareProductUtils.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VendorSoftwareProductUtils.java @@ -34,7 +34,6 @@ import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorDescription; -import org.openecomp.sdc.logging.types.LoggerServiceName; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentMonitoringUploadEntity; import org.openecomp.sdc.vendorsoftwareproduct.types.OrchestrationTemplateActionResponse; import org.slf4j.MDC; @@ -48,9 +47,8 @@ import java.util.Map; public class VendorSoftwareProductUtils { - private static final String MANUAL = "Manual"; protected static Logger logger = - (Logger) LoggerFactory.getLogger(VendorSoftwareProductUtils.class); + LoggerFactory.getLogger(VendorSoftwareProductUtils.class); /** * Add file names to upload file response. @@ -69,21 +67,6 @@ public class VendorSoftwareProductUtils { uploadFileResponse.removeFileFromList(SdcCommon.MANIFEST_NAME); } - /** - * Validate raw zip data. - * - * @param uploadedFileData the uploaded file data - * @param errors the errors - */ - public static void validateRawZipData(byte[] uploadedFileData, - Map> errors) { - if (uploadedFileData.length == 0) { - MDC.put(LoggerConstants.ERROR_DESCRIPTION, LoggerErrorDescription.INVALID_ZIP); - ErrorMessage.ErrorMessageUtil.addMessage(SdcCommon.UPLOAD_FILE, errors).add( - new ErrorMessage(ErrorLevel.ERROR, - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); - } - } /** * Validate content zip data. @@ -94,7 +77,7 @@ public class VendorSoftwareProductUtils { public static void validateContentZipData(FileContentHandler contentMap, Map> errors) { MDC.put(LoggerConstants.ERROR_DESCRIPTION, LoggerErrorDescription.INVALID_ZIP); - if (contentMap.getFileList().size() == 0) { + if (contentMap.getFileList().isEmpty()) { ErrorMessage.ErrorMessageUtil.addMessage(SdcCommon.UPLOAD_FILE, errors) .add(new ErrorMessage(ErrorLevel.ERROR, Messages.INVALID_ZIP_FILE.getErrorMessage())); } @@ -119,21 +102,13 @@ public class VendorSoftwareProductUtils { } - private static boolean isTrapOrPoll(MonitoringUploadType type) { - return type.equals(MonitoringUploadType.SNMP_POLL) || - type.equals(MonitoringUploadType.SNMP_TRAP); - } - - /** * Sets errors into logger. - * - * @param errors the errors - * @param serviceName the service name + * @param errors the errors * @param targetServiceName the target service name */ public static void setErrorsIntoLogger(Map> errors, - LoggerServiceName serviceName, String targetServiceName) { + String targetServiceName) { MdcDataErrorMessage mdcDataErrorMessage = new MdcDataErrorMessage(targetServiceName, LoggerConstants.TARGET_ENTITY_DB, ErrorLevel.ERROR.name(), null, null); @@ -153,13 +128,11 @@ public class VendorSoftwareProductUtils { /** * Sets errors into logger. - * - * @param errors the errors - * @param serviceName the service name + * @param errors the errors * @param targetServiceName the target service name */ public static void setErrorsIntoLogger(Collection errors, - LoggerServiceName serviceName, String targetServiceName) { + String targetServiceName) { MdcDataErrorMessage mdcDataErrorMessage = new MdcDataErrorMessage(targetServiceName, LoggerConstants.TARGET_ENTITY_DB, ErrorLevel.ERROR.name(), null, null); @@ -173,14 +146,4 @@ public class VendorSoftwareProductUtils { logger.error(error.message()); } } - - /*public static boolean isManual(String vspId, Version version, VendorSoftwareProductInfoDao - vspInfoDao) { - String onboardingMethod = vspInfoDao.get(new VspDetails(vspId, version)).getOnboardingMethod(); - if (MANUAL.equals(onboardingMethod)) { - return true; - } - return false; - }*/ - } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/common/utils/CommonUtil.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/common/utils/CommonUtil.java deleted file mode 100644 index 29b404664e..0000000000 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/common/utils/CommonUtil.java +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdc.common.utils; - -import org.openecomp.core.utilities.file.FileContentHandler; -import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum; - -import java.io.IOException; - -public class CommonUtil { - - public static FileContentHandler validateAndUploadFileContent(OnboardingTypesEnum type, - byte[] uploadedFileData) - throws IOException { - throw new IOException(); - } - -} diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/CandidateServiceImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/CandidateServiceImplTest.java index 1c9d61b51b..5c4557360e 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/CandidateServiceImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/CandidateServiceImplTest.java @@ -66,19 +66,19 @@ public class CandidateServiceImplTest { @Test public void shouldReturnOptionalPresentIfInputStreamIsNull() { - assertTrue(candidateService.validateNonEmptyFileToUpload(null).isPresent()); + assertTrue(candidateService.validateNonEmptyFileToUpload(null, "zip").isPresent()); } // end validateNonEmptyFileToUpload tests // start validateNonEmptyFileToUpload tests @Test public void shouldReturnOptionalEmptyIfUploadedFileDataIsNotNull() { - assertEquals(candidateService.validateRawZipData(new byte[]{}), Optional.empty()); + assertEquals(candidateService.validateRawZipData("zip", new byte[]{}), Optional.empty()); } @Test public void shouldReturnOptionalPresentIfUploadedFileDataIsNull() { - assertTrue(candidateService.validateRawZipData(null).isPresent()); + assertTrue(candidateService.validateRawZipData("zip", null).isPresent()); } // end validateNonEmptyFileToUpload tests // start heatStructureTreeToFileDataStructure tests diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/csar/UploadCSARFileTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/csar/UploadCSARFileTest.java index 046163515f..bd3b0b433a 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/csar/UploadCSARFileTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/csar/UploadCSARFileTest.java @@ -17,6 +17,7 @@ package org.openecomp.sdc.vendorsoftwareproduct.upload.csar; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; @@ -35,6 +36,8 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.util.List; import java.util.function.Predicate; @@ -58,12 +61,14 @@ public class UploadCSARFileTest { @Mock private ManifestCreatorNamingConventionImpl manifestCreator; + @InjectMocks private OrchestrationTemplateCandidateManagerImpl candidateManager; - public static String id001 = null; - - public static Version activeVersion002 = null; + private static String id001 = "dummyId"; + private static Version activeVersion002 = new Version("dummyVersion"); + private static final String BASE_DIR = "/vspmanager.csar"; + private static final String CSAR = "csar"; @BeforeMethod @@ -76,115 +81,90 @@ public class UploadCSARFileTest { @Test public void testSuccessfulUploadFile() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); + VspDetails vspDetails = new VspDetails(id001, activeVersion002); doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); - try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/SDCmock.csar")) { - UploadFileResponse uploadFileResponse = - candidateManager.upload(id001, activeVersion002, is, "csar", "SDCmock"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); - assertEquals(0, uploadFileResponse.getErrors().size()); - assertTrue(uploadFileResponse.getErrors().isEmpty()); - } + testCsarUpload("successfulUpload.csar", 0); } @Test - public void testFail1UploadFile() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); + public void testIllegalUploadInvalidFileInRoot() throws Exception { + VspDetails vspDetails = new VspDetails(id001, activeVersion002); doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); - try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/SDCmockFail1.csar")) { - UploadFileResponse uploadFileResponse = - candidateManager.upload(id001, activeVersion002, is, - "csar", "SDCmockFail1"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); - assertEquals(1, uploadFileResponse.getErrors().size()); - assertTrue(uploadFileResponse.getErrors().values().stream().anyMatch( - getListPredicate(Messages.CSAR_FILES_NOT_ALLOWED.getErrorMessage().substring(0, 7)))); - } - } - - private Predicate> getListPredicate(String substring) { - return error -> isEquals(substring, error); - } - - private boolean isEquals(String substring, List error) { - return error.iterator().next().getMessage().contains(substring); + UploadFileResponse response = testCsarUpload("invalidFileInRoot.csar", 1); + assertTrue(response.getErrors().values().stream().anyMatch( + getListPredicate(Messages.CSAR_FILES_NOT_ALLOWED.getErrorMessage().substring(0, 7)))); } @Test - public void testFail2UploadFile() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); + public void testIllegalUploadMissingMainServiceTemplate() throws Exception { + VspDetails vspDetails = new VspDetails(id001, activeVersion002); doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); - try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/SDCmockFail2.csar")) { - UploadFileResponse uploadFileResponse = - candidateManager.upload(id001, activeVersion002, is, - "csar", "SDCmockFail2"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); - assertEquals(1, uploadFileResponse.getErrors().size()); - assertTrue(uploadFileResponse.getErrors().values().stream().anyMatch( - getListPredicate(Messages.CSAR_FILE_NOT_FOUND.getErrorMessage().substring(0, 7)))); - } - } - - @Test - public void testFail3UploadFile() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); - doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); - - try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/SDCmockFail3.csar")) { - UploadFileResponse uploadFileResponse = - candidateManager.upload(id001, activeVersion002, is, - "csar", "SDCmockFail3"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); - assertEquals(1, uploadFileResponse.getErrors().size()); - } + UploadFileResponse response = testCsarUpload("missingMainServiceTemplate.csar", 1); + assertTrue(response.getErrors().values().stream().anyMatch( + getListPredicate(Messages.CSAR_FILE_NOT_FOUND.getErrorMessage().substring(0, 7)))); } @Test public void testUploadFileIsNotZip() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); + VspDetails vspDetails = new VspDetails(id001, activeVersion002); doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); - try (InputStream is = new ByteArrayInputStream("Thia is not a zip file".getBytes());) { - UploadFileResponse uploadFileResponse = - candidateManager.upload(id001, activeVersion002, is, - "csar", "file"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); - assertFalse(uploadFileResponse.getErrors().isEmpty()); - assertTrue(uploadFileResponse.getErrors().values().stream().anyMatch( - getListPredicate(Messages.CSAR_FILE_NOT_FOUND.getErrorMessage().substring(0, 7)))); - } + UploadFileResponse response = testCsarUpload("notCsar.txt", 1); + assertEquals("no csar file was uploaded or file doesn't exist", + response.getErrors().values().iterator().next().get(0).getMessage()); } @Test public void testUploadFileIsEmpty() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); + VspDetails vspDetails = new VspDetails(id001, activeVersion002); doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); try (InputStream is = new ByteArrayInputStream(new byte[]{})) { UploadFileResponse uploadFileResponse = candidateManager.upload(id001, activeVersion002, is, "csar", "file"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); assertEquals(1, uploadFileResponse.getErrors().size()); } } @Test - public void testMFError() throws Exception { - VspDetails vspDetails = new VspDetails("dummyId", new Version(1, 0)); + public void testInvalidManifestContent() throws Exception { + VspDetails vspDetails = new VspDetails(id001, activeVersion002); doReturn(vspDetails).when(vspInfoDaoMock).get(any(VspDetails.class)); - try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/SDCmockBrokenMF.csar")) { - UploadFileResponse uploadFileResponse = - candidateManager.upload(id001, activeVersion002, is, "csar", "SDCmockBrokenMF"); - assertEquals(uploadFileResponse.getOnboardingType(), OnboardingTypesEnum.CSAR); - assertEquals(1, uploadFileResponse.getErrors().size()); - assertTrue(uploadFileResponse.getErrors().values().stream() - .anyMatch(getListPredicate(Messages.MANIFEST_NO_METADATA.getErrorMessage()))); + try (InputStream is = getClass() + .getResourceAsStream(BASE_DIR + "/invalidManifestContent.csar")) { + UploadFileResponse response = + candidateManager.upload(id001, activeVersion002, is, "csar", "invalidManifestContent"); + assertEquals(1, response.getErrors().size()); + assertEquals(response.getErrors().values().iterator().next().get(0).getMessage(), + "Manifest " + + "contains invalid line : aaa: vCSCF"); + + } + } + + private Predicate> getListPredicate(String substring) { + return error -> isEquals(substring, error); + } + + private boolean isEquals(String substring, List error) { + return error.iterator().next().getMessage().contains(substring); + } + + private UploadFileResponse testCsarUpload(String csarFileName, int expectedErrorsNumber) + throws IOException { + UploadFileResponse uploadFileResponse; + try (InputStream is = getClass() + .getResourceAsStream(BASE_DIR + File.separator + csarFileName)) { + uploadFileResponse = + candidateManager.upload(id001, activeVersion002, is, CSAR, csarFileName); + assertEquals(expectedErrorsNumber, uploadFileResponse.getErrors().size()); } + return uploadFileResponse; } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/validation/UploadFileValidationTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/validation/UploadFileValidationTest.java index 0be5bef352..0aa3e4037d 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/validation/UploadFileValidationTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/upload/validation/UploadFileValidationTest.java @@ -77,7 +77,7 @@ public class UploadFileValidationTest { USER1); Assert.assertEquals(uploadFileResponse.getErrors().get(SdcCommon.UPLOAD_FILE).get(0) .getMessage(), - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage()); + Messages.NO_FILE_WAS_UPLOADED_OR_FILE_NOT_EXIST.getErrorMessage()); } @Test(dependsOnMethods = "testUploadEmptyFile") diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmock.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmock.csar deleted file mode 100644 index f69efd2bb813aed10a5bd249cc5d4ce60afb8487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4211 zcmbVPTT@$A6b=L^p-^ZIx6%R%rG;|o4GJ{jS}c$hV!1Wn`6=7V*-J~&z@R%bdLb?Vgd(MSJ+-*?vGRf23m`tXPNUr0bZ@)ecj_*Yyve3}j6ZE>n z-pNqd?OCV|%`Gl@7D_{&pznJ4Io;5e*qFWmdhq*q?Ewyq8l5)2kGF&2+I4qemcu5V zW+p~F@15}ld|}^GK<3Go=_d5PsZ2B#T1tDeiI#Me>1^B^7yL`pZvVi_bSUf#udtWF z_3PfyfH%16^LPini`V^F47joAM+ZX}mmp7MLga(Dz!DI+99e*zmdbaZqO1ZBfa&0o zeu&d+5L@8vp|g-cF4%WcbjWTy-$?;afWzQw1H@?%Xa$eWiw?P0)1JNsbrdWHXTWX{ zCv50iS$sefW*j?5m>Bz>pNf$tc6Y7RZL$I>_NiZ(9N=Ye7BSs7!$! z?e&Z!zzVL=>xOd>bX7yOXq$9pCHgAld2nbg5*R!Nh0`wrrvrV8n;z(9&~8A35mFAjr(F)5rS4t9EApzW3zj_*fl z;R^tx7RXNJ!=FEcczQ=n`=o#j(jk{rAKuM@!i5ByqVKieupE|($PpBFP@Pu_)M7su zu;qulkb=MNH$kZcCmJ>5i_n@GJHXXV&1|C`NPX}L zP0+`45X*;!Wz1faAkABx)J+c)i=gPHl-1GKpfv5_5l#Z_AYW{B?&lsBf&$w#bN2Zc zAhyK9=37jT8tiNWR5KD?*^C!K^2vjmE(#qTvi9Y7^+K8JZVrfep%jtvHVIz1jn%m4``Cy@4{7f{99?Y_aoba`h`bUTKDB zCCjLmFRq_D(;4iR=8(x_Q=-pYRD7u``D)=R)K;k3jN_T?K11Pgzj_-@kdX zpe&bjPZa|s^E%KWMHvdG4PtqUr|vAsJXXQ}m}}VI2!o)i86tR%wwm0vEoNUmc&5)) zWbd&#Qq+)#p$(jtRwK6lqRL2yQg6B88gxS~{{a4yo3Bl=TrcU{~lG<4xd2(N6ya3!|F4 zDw^#m{TlI1RhL`4__6x&!yc|P_X4OInN$asI;0v+eyG`EjA+j)o1(X0LTxWi`~YgW z22F_)D(XyKE%KNL8Hj$#sk3|TA7C*<)MRB;J-FkW_~YaDpYEYP`S;z|bG zI>pzur=sjUJFq9b{OFenZS)T4E<*-i&@89NE=MQckNA2lb3E_vw9}EqcPWD_>Ze>c z>39d?>w1Tt^}W}-lbM?MV#lw)!5#5K$=mBnki?H3Uw1iD(-5B~^r9d|IW&stUtbqb AnE(I) diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockBrokenMF.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockBrokenMF.csar deleted file mode 100644 index 02593a1d2f4196b3a30f1f7df14f9b39ae387e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4022 zcmbVOTT@e46i!G`!bOk?H&LLKiy#ENfGBtH0wh8#Hvubz7$A@YNCE;9v@@M)XVgw- zoUu=>4}Ec_FP%QrPOlG6YX@yRPH$st$HzYQFZBD)IvkQ?&}lQ@xAxkXv-jF-uf4LJ zc9Yp^;BWtQj$Khyk(LalEg1Gry4>MVwG#uCCWB!$l4bwro39RnBPkd}=EV$l2R*K^ zXDk$Uxo2&mY5$yiwkYHddgsG0nTDopt?3P52A^-+8DPNqSfgXV$JfEIZN(Ls;Yo1_@+=J%>bx>}=vUX0Qev1efX{j(|W5cwk0!$P`U``Zm<_U;#J@c7i|= z*a{})r6o&CJBlvw$!FF_Upq|R3fc?|NHLgzG8}A%tg}@^4nBUz5{{bl6em*!6=uymcLpOmA5U_*UqP9#e zh;o$uPR^H>JO+8b3Bp%Y3t0+sQ}wj#GFY(s+Xvk>?RBq@paO)Y5Lt$Td;j@%_Tw+r z9{NXMu~l}jS3x%|OhFEeU#3m$SN#QTrXNB*AZVeWYq%ui}nwwGGX`zPlDeF+wZ$fr4Qv9EEmHn%UQSRT>WNMrq*( z0HYR2Ph{s0pF%vnAx*oafDF?MrYrAaOCl!%HD4IZZUuLKUK02`Z zyPJ@LXZManDF;XEwZ>PVonY($7uU4rMz#Zq4?cq2#Ykr00ZAZF6{s(_i?VT@$J@bC zh0-FDaTx)Z=yV2FHJ#x4>mDSKNpGa{P@-WCO6|$}C}}P4*ist=*#iQ(D^j+OqAcy> z<=7`JMJPI&=>az6Y@e$v$UF|@lt9Q6laTQhQnG{d0L*A4vzRv8C!g7t{XQidtM$#b zlx)|NZ%=4kW;o$Xk=fABy1W5>GV?P@0Ec+^HK~l$ZqQWL2^r|@tmH**pj%QHihZCO zCS_Unos0|}rstVu0Y7+}s*D>o0eS9BhO2PV2%+O%Q6phU4fS_e0cZtAc|)n zKe~(JRq2^V!Oy#Xxh4&e4e5DmbgDCO(W9fht$*H@Q3>bzf4Xy@v+thU^3((LSQuvr^ACtgp_KFS;&Q$rW|oQ*5W!1qtIAqlXDW*ZFGxda`p!nXS&bqz zw1N{dYN)X{zx>Br9jMVC0v=TcZ_}ABh|~@y<}09jseb>QiNeXOn$6G~uC8dJ{@N)0 z0MPe<7p(1vSeN>u6lxY}Zcj^Q__H+!tc~PL{~}FO0}`4CY@>aGS^jehmZWGbqg_Mp z@ycTBDQ5of?{v}6YO1Li8dDdR;gD)H`JkptV?^sKKfZCDft3z+!@^N=vSIaKk(L$A@hXZ=pW+_sut@oBL*vmhfyeZm`#BHzu?wX(#S$vKY66zYHm&-g$Ue7AcKJT%n62+T`@UQD4`3MN!7c z$}fDLZm!OS4uD&)OxBayuWP-cJb!o4 z9`_{??Iw(gHX!O{5n~I6Wpp*k)zRCbuWx0J?H?k~n-KqDqBo+tWS5b7*Qj4qUynB8 sMgQ?SL(K7CNc_*&n*uA8Y`vm{hJJm0-DywUfv7ZK76n)c6DUpp0vOlCKL7v# diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail1.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail1.csar deleted file mode 100644 index 5e3ee6f387356f94cfd39e9b6f387325eb634a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4372 zcmbVQTTfh76do8T43|Rda4RjKP+BMqy+MI8T#E%}3S+rLTNtJT3=Bh=Ib6%oXpEY) zH6~5;Nlo<8Hy^C=`e3vMt4Y(Ssj2bNNB@G~ch=#|nPF(78w?_%pxX@5FnM@nu9LGQ3etiNQOGhKJAgZw^=yfaJ ziIC#<%-ce<3yYrll8`6pyP-U%8@du1(-%Mwe*d05z=4ryr=#D;+d;*)?hedw*!a`T zz=#*T)4qUD@ht{qo@|+FLhqaEM3bQ|5o?iVV%k;YLJOo|UQ6<_YU0L3K74iZ&xE2l!9EZZ`7lKoPUe!$xbTjA#0SA~XYRk-$ zC};WH#r`tWCLl-b5dM-{$a0XAs;6J8V9~~JAM~7Tue&;i3ZO_K@)!!v{qeiGkG|5L zaD4<8TUF0iHFWdR4CLVCDt+Q}ZM~q)4M1oc1T7SFk5(7XSfF--oC`ysu?#}M<>?-# z*POh$?=YknyaMK3hXAzss>{)%*8()Oh$k+j{ZR+MG+JWQ;pFr+sBs1`URFJz0)K@q}*}l!~?O>~7 zv4~_`hQSpsIs>bQi{SqAJ|u9EtC7V`F~S;@+LQND(p#Rfl{N^n7XDgX zaYQU7C_0+C0yO09ovSR!JWk}4K*$@Fknt8$vXlJ)%xEODnBLkiui4fX{AxDV>N{hp z*$%lBuXDZvybmS8WXgqh$?XfornCj73ZP{kqBR48=Vdpv2-(RYXfQg}sBmj{LyHGI zV1#sBorTP1)&bV~%$aElr@8$R#Motsrj-x_ZL*ck1zhkJ28K2+v_Wq2<2PCvMUe^m zcn%`@u%MLLYXYQsi<7$PVPX*!-juRx`!y&HDLldnpdI9k_09v_!vavyG{u~K;RT2- zv9S3TlcNqhn*ddeL{}E$MUZ&vkgkhDM+dFFd7V8_X1f{#VrJL*qP9q(<*9v<&AlQY zvNd@QiA{w}GMV!C*jnvt)sI#jNBv%#!VOr~I>5~y43JeFAX3Xj*msAt7X zsFp3PpFZ0W?2_h?iKCOEPhaAfYF`+Fo0V;64qM8B$aNltaCQ2^h+c`Cm& zhjULB10?f0&@M$O3TG3<(j-saIgoj*oc%G^u)kpjL1iOE@H%bPIcrufKArC__{rvmUhIa*=-}C42x)oX_b+$=T#TYze)dLd zD(%!Sk8>RWu07xbYX=~>(ZI44THfhuxGNW%-YG1)sG)`bDg;tK;`g+Hn7wowP^A~%@Si+e^$}3efuTU(rMxcP{(y> zYLrmXX6kB|$2`cu_LrPGyXXD^7BfV3W?JQgJHGKhK5qNz9_kZ+-+f&kbKVTnqug7~ zOC||=w$(W|8t&od8^J*EfPFk7+N~DVP@ZEcqi9t%r~^?iN$GtQe zmkDi*4j3*`QNEyAcDG%QPOKlX^+@J;-koc=Bk}KGQLboL0K=qX9f++P9eUP1!RSs# za{LP+Zw*oIh#zXcUsr=9cJ$bK?1_$(l8ug_|9z1Z9XqtyKVjy_k@;+TUejHuxOa3% TGG6C@Fw#vkNhZ_&6xRL)Ossg} diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail2.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail2.csar deleted file mode 100644 index 4874578ad9a9e7ef13d9512d6235f4a6482591c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3263 zcmbVO+fy556kiBbLZMJhxs(ENij}rB(5a<>goH~KND3Jt6zBz#G(aE(nk@HAM;{z# zw2n{uqz}IO=7aUY%Y!pI!_sVpv6eg$jF06y=&_#yj!Va40^$9!{w-b)BnBY_COA z-mQ;r@%&V9vlJzC+G!B z>dH%{rypt;ioTf}$o1q19wBWQVH_a`MS1_5`#GG$Mq?9N6D?m3ag> zz;$}v@fHMK&7f7RJ-V`f_#WgS7~I-VOtiq@@$12GVpMZ80^0`qLBI!Ai|JXoFUFg^ z9^iWArL&MzZiu+^D&#qkhw7wXn_%P4A775N_jlZxK?6`liF^Z!XMg%x^^@=QD~yl8 z?rI%5xCGmFe*rQ$w@IIPU5^*6r3ncA2Ej@tL(`Y)7wj;vgFFjUpt~7D!0-&;q}M#W zZR`wW6ub@A+=Br0^J?K3(fiQ-`=@&;s2O_E01Bo>`I~%Pv})Y@Ksqj-gtl`6z^nx- zih1$3Zy}z4EL|r=K_=-?K$?#qR>EK)fv&^P`!?+j(hzwQ$_?u0DuUSroes^Wd${Oy_H`x|ut`-MvhA5Bq`QU%!St!Axf20VN>sD$se}C&uANyuAY))g(P4 znV0+E27}JTYGV*We?Ec)su+z5-V`GoNohU%0-E0P8QbWCAV)!+SSjTD3zh z#dMxmfcY>A6r~#0jZiFMEomz(6@X_M!dnKx=jAB$3`y4z444jgtGu;Gq2~iGFhd6J zEJ9YY>Hu3~w(?Sy$2|NBV&+|lo{ba}ZO+T#0tVc}#L)MJ7358R`hk~Ols#aK&q1~x z)}3Ybng!W?z(eguSXc!0yP{hU--prl3LoJD&<%28r~f4HVI3&w3A1Joz6x<5Jsf_( z;+TP(Lx5IhVxWTgA}G9kI%A7LM}v;hn(HGl7KgeM(#@r7#q@~M>(sG;ub|MQr9sZO zdo%7Tf0d#P?_Ip-omyvsQmfq6m&4kOMS-;~duF6IMs|MT=R$gSZqx#1-};u12a_|* zvFheshK8{;LfhEb0sG%M<4}ywESa3ieuCun!x|84+Y}5qb>x%9xI3>m~(nS9a1Wiu37)6S>)R135?S=*VbhB4N3$ywQrVZvOa1BOa(@&&^xhu!k% sSpBfJvz6mzFNULz4;m}qGtnGlW_!u%mvEwi2Eh}dGA3TL97ytkO diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail3.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/SDCmockFail3.csar deleted file mode 100644 index c009a042e46a6af3c733b335dcdb9fa9e0f9e82f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4521 zcmbVPTTfh76do8TmktH$a4RjK&{8NJdV>PxPO-pD%UJI80>gBGfng{!2MUy-(HJ#p zYfPHxlbYzGZ$4P#^}%QjR+FYtQ&Z!kkNyR}@2oRt&KZU_I{DURud~lyYwx}GI(yts zYl_{%U-@i-Q&lvUl?kOIr1+;jUL{=XMn~0Tv8+e(od10L^%2ncZge6QnL2wzK9Ay? z2rC}%ydylju;`sH3wuNU>&kP6VJI=5{vbvO1a=$&0gRf1HouRzLyBX~6P%&j#M89F z<5}OdKj>Hdi$R$ud!}13`i45uRA?z3$rf7DEtb=9Z=4G(PI&?Y%Tr;+uPk$v!L{qY z@PIG0;`jOneGAtESPX=*5WoOK=NG|`*}w`ww?L&J;BsUhd`cSMeF|9(+6zht9qb1? zxeB%kn%RFE9LNJ*I4(MPPYd5k0UZMkgI4OnPJ)0o(BV1J!FTK0)3>0Gf=WQspdJuV z25JYT7iDFNr4ynT^yG8GzUhC~b}Ln@(G@Onor`0%5*GlGx~kP#joPIHADtJK+(+k}Sa)AIRC|}gJ znI%z9@wuDhWo1r)kG6mX%Id%mfjFrK#&rW!vi{o#eaAZMuZ*JsC?bScLU8Vn-_3vY zmG*?|Bgk;n^lcu6Ze5xIADXubbIeBaUesCY?GN|Ah7@*BpU5-A@2J^4)Y=j}k8N~sRU`&Lo)X72j4z%AA!;xIb z488y`Yk}-kKK%JJu%~y#v_}MZhyl5!`S5NI6fPvtxb&g3&jFx9?r2~v~0R$ATiEO_F zd1!!#2hbH7ir$G`Bti8@~wFyb@-jO}4YUfD7Kn#L)ag8{#HEexsdP z6q}%*=O9)Oi^^HOCO|ZAa#AEwj!gwmu~-Us*jnvtHGp39qkgZ_ptSKY32N3MQ^{DU1nL&MDwAto;qlsK zdRDrGX2rtViBnyn9_bFAJT@u%^m%@%c16IrSvf7NVM}>n`L2WDJY!cu4%-Pk1n~Wv z#|z8zIQLXBfU~Xxog&I1T+LuhlRR~&L9AnkI38;a#~Wc1R5yWzuF-ZhZ*`N^*9e~J zGl#O%nw=?H%EQnOnvz~4&HcqyzufCWi|Zj^{^W2&&-H@Yx_CC2LRua8{RK5u3FL50Ju07xf)eVAiqk&}+TH$N$%*x!aSqmWRB3i;OGc@L#zz5O6_yqH# zy1F7-b0y;%@lMuM*t_|$`tieFt~2)ns2-Wn97`Kq%ccO-Y%xakXH|_`w_ieQH%bM3?%@QiwOx>;WmW8^J{Ig8HLJ#A3-+%s0tY91Pqa7mOEQyb&&NF4;qUkqNR8k2BFua4`{b9tCK^Z?0JIbTjc1(#}VI-RgULf&b9}V__AgSMY}5)CLJF@ zeA^h%vn~|IaBL`}iGtzv!W53gp?(pF diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/invalidFileInRoot.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/invalidFileInRoot.csar new file mode 100644 index 0000000000000000000000000000000000000000..95adb41d229e0b49429cba58e1faf12c9d3b4a1c GIT binary patch literal 7335 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 L0HFVHxPX5FUQOlA literal 0 HcmV?d00001 diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/invalidManifestContent.csar b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/resources/vspmanager.csar/invalidManifestContent.csar new file mode 100644 index 0000000000000000000000000000000000000000..75ed22187c3d6f170b59d67eeeb729e770e02526 GIT binary patch literal 5260 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 literal 0 HcmV?d00001 diff --git a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java index 038778be88..f994652751 100644 --- a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java +++ b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java @@ -53,7 +53,7 @@ public enum Messages { MODULE_IN_MANIFEST_VOL_ENV_NO_VOL("Module '%s', has volume Env. reference with no Volume " + "reference"), ILLEGAL_MANIFEST("Illegal Manifest"), - NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST("no zip file was uploaded or zip file doesn't exist"), + NO_FILE_WAS_UPLOADED_OR_FILE_NOT_EXIST("no %s file was uploaded or file doesn't exist"), MAPPING_OBJECTS_FAILURE("Failed to map object %s to %s. Exception message: %s"), MORE_THEN_ONE_VOL_FOR_HEAT("heat contains more then one vol. selecting only first vol"), FILE_CONTENT_MAP("failed to load %s content"), diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java index 697dab27e9..08dc908a3f 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/filedatastructuremodule/CandidateService.java @@ -40,9 +40,10 @@ import java.util.Map; import java.util.Optional; public interface CandidateService { - Optional validateNonEmptyFileToUpload(InputStream heatFileToUpload); + Optional validateNonEmptyFileToUpload(InputStream heatFileToUpload, + String fileSuffix); - Optional validateRawZipData(byte[] uploadedFileData); + Optional validateRawZipData(String fileSuffix, byte[] uploadedFileData); OrchestrationTemplateCandidateData createCandidateDataEntity( CandidateDataEntityTo candidateDataEntityTo, InputStream zipFileManifest, diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java index 45746ed84e..e6e89a6cd4 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java @@ -71,6 +71,8 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; +import static org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder.getErrorWithParameters; + public class CandidateServiceImpl implements CandidateService { protected static final Logger logger = LoggerFactory.getLogger(CandidateServiceImpl.class); private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); @@ -90,27 +92,32 @@ public class CandidateServiceImpl implements CandidateService { } @Override - public Optional validateNonEmptyFileToUpload(InputStream fileToUpload) { + public Optional validateNonEmptyFileToUpload(InputStream fileToUpload, + String fileSuffix) { mdcDataDebugMessage.debugEntryMessage(null); + String errorMessage = + getErrorWithParameters(Messages.NO_FILE_WAS_UPLOADED_OR_FILE_NOT_EXIST.getErrorMessage(), + fileSuffix); + if (Objects.isNull(fileToUpload)) { return Optional.of(new ErrorMessage(ErrorLevel.ERROR, - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); + errorMessage)); } else { try { int available = fileToUpload.available(); if (available == 0) { mdcDataDebugMessage.debugExitMessage(null); return Optional.of(new ErrorMessage(ErrorLevel.ERROR, - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); + errorMessage)); } } catch (IOException e) { logger.debug(e.getMessage(), e); mdcDataDebugMessage.debugExitMessage(null); return Optional.of(new ErrorMessage(ErrorLevel.ERROR, - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); + errorMessage)); } } @@ -119,10 +126,12 @@ public class CandidateServiceImpl implements CandidateService { } @Override - public Optional validateRawZipData(byte[] uploadedFileData) { + public Optional validateRawZipData(String fileSuffix, + byte[] uploadedFileData) { if (Objects.isNull(uploadedFileData)) { return Optional.of(new ErrorMessage(ErrorLevel.ERROR, - Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); + getErrorWithParameters(Messages.NO_FILE_WAS_UPLOADED_OR_FILE_NOT_EXIST.getErrorMessage(), + fileSuffix))); } return Optional.empty(); } -- 2.16.6