bedf599cf55f3c1b412f1bb79f9a81bfdf35e2a0
[sdc.git] /
1 package org.openecomp.sdc.vendorsoftwareproduct.impl.orchestration.csar.validation;
2
3 import org.junit.Before;
4 import org.junit.Test;
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;
11 import java.util.Map;
12
13 import static org.junit.Assert.assertTrue;
14
15
16 public class ONAPCsarValidatorTest {
17
18     ONAPCsarValidator onapCsarValidator;
19     private FileContentHandler contentHandler;
20     private List<String> folderList;
21
22     @Before
23     public void setUp() throws IOException{
24         onapCsarValidator = new ONAPCsarValidator();
25         contentHandler = new FileContentHandler();
26         folderList = new ArrayList<>();
27
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));
31     }
32
33     @Test
34     public void testGivenCSARPackage_withValidContent_thenNoErrorsReturned() {
35         assertExpectedErrors("Valid CSAR Package should have 0 errors",
36                 onapCsarValidator.validateContent(contentHandler, folderList), 0);
37     }
38
39     @Test
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));
45
46         assertExpectedErrors("CSAR package with invalid manifest file should have errors", onapCsarValidator.validateContent(contentHandler, folderList), 1);
47
48     }
49
50     @Test
51     public void testGivenCSARPackage_withUnwantedFolders_thenErrorsReturned(){
52
53         folderList.add("Files/");
54         assertExpectedErrors("CSAR package with unwanted folders should fail with errors", onapCsarValidator.validateContent(contentHandler, folderList), 1);
55     }
56
57     @Test
58     public void testGivenCSARPackage_withUnwantedFiles_thenErrorsReturned(){
59
60         contentHandler.addFile("ExtraFile.text", "".getBytes());
61         assertExpectedErrors("CSAR package with unwanted files should fail with errors",
62                 onapCsarValidator.validateContent(contentHandler, folderList), 1);
63     }
64
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);
69         }else{
70             assertTrue(testCase,errors.size() == expectedErrors);
71         }
72     }
73 }