1 package org.openecomp.sdc.vendorsoftwareproduct.impl.orchestration.csar.validation;
3 import org.junit.Before;
5 import org.openecomp.core.utilities.file.FileContentHandler;
6 import org.openecomp.sdc.common.utils.SdcCommon;
7 import org.openecomp.sdc.datatypes.error.ErrorMessage;
8 import java.io.IOException;
9 import java.util.ArrayList;
10 import java.util.List;
13 import static org.junit.Assert.assertTrue;
16 public class ONAPCsarValidatorTest {
18 ONAPCsarValidator onapCsarValidator;
19 private FileContentHandler contentHandler;
20 private List<String> folderList;
23 public void setUp() throws IOException{
24 onapCsarValidator = new ONAPCsarValidator();
25 contentHandler = new FileContentHandler();
26 folderList = new ArrayList<>();
28 contentHandler.addFile("TOSCA-Metadata/TOSCA.meta", ValidatorUtil.getFileResource("/validation.files/metafile/nonSOL004WithMetaDirectoryCompliantMetaFile.meta"));
29 contentHandler.addFile("MainServiceTemplate.mf", ValidatorUtil.getFileResource("/validation.files/manifest/sampleManifest.mf"));
30 contentHandler.addFile(TestConstants.TOSCA_DEFINITION_FILEPATH, ValidatorUtil.getFileResource(TestConstants.SAMPLE_DEFINITION_FILE_PATH));
34 public void testGivenCSARPackage_withValidContent_thenNoErrorsReturned() {
35 assertExpectedErrors("Valid CSAR Package should have 0 errors",
36 onapCsarValidator.validateContent(contentHandler, folderList), 0);
40 public void testGivenCSARPackage_withInvalidManifestFile_thenErrorsReturned() throws IOException{
41 contentHandler = new FileContentHandler();
42 contentHandler.addFile("TOSCA-Metadata/TOSCA.meta", ValidatorUtil.getFileResource("/validation.files/metafile/nonSOL004WithMetaDirectoryCompliantMetaFile.meta"));
43 contentHandler.addFile("MainServiceTemplate.mf", ValidatorUtil.getFileResource("/validation.files/manifest/invalidManifest.mf"));
44 contentHandler.addFile(TestConstants.TOSCA_DEFINITION_FILEPATH, ValidatorUtil.getFileResource(TestConstants.SAMPLE_DEFINITION_FILE_PATH));
46 assertExpectedErrors("CSAR package with invalid manifest file should have errors", onapCsarValidator.validateContent(contentHandler, folderList), 1);
51 public void testGivenCSARPackage_withUnwantedFolders_thenErrorsReturned(){
53 folderList.add("Files/");
54 assertExpectedErrors("CSAR package with unwanted folders should fail with errors", onapCsarValidator.validateContent(contentHandler, folderList), 1);
58 public void testGivenCSARPackage_withUnwantedFiles_thenErrorsReturned(){
60 contentHandler.addFile("ExtraFile.text", "".getBytes());
61 assertExpectedErrors("CSAR package with unwanted files should fail with errors",
62 onapCsarValidator.validateContent(contentHandler, folderList), 1);
65 private void assertExpectedErrors( String testCase, Map<String, List<ErrorMessage>> errors, int expectedErrors){
66 if(expectedErrors > 0){
67 List<ErrorMessage> errorMessages = errors.get(SdcCommon.UPLOAD_FILE);
68 assertTrue(testCase, errorMessages.size() == expectedErrors);
70 assertTrue(testCase,errors.size() == expectedErrors);