diff options
Diffstat (limited to 'csarvalidation')
26 files changed, 124 insertions, 235 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/ZipFileContentValidator.java b/csarvalidation/src/main/java/org/onap/cvc/csar/ZipFileContentValidator.java deleted file mode 100644 index 801d8cf..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/ZipFileContentValidator.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2019 Nokia - * <p> - * 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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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. - * - */ - -package org.onap.cvc.csar; - -import java.util.ArrayList; -import java.util.List; - -public class ZipFileContentValidator { - - public static class CSARErrorCertMissing extends CSARArchive.CSARError { - CSARErrorCertMissing() { - super("0x1008"); - this.message = "Missing. Cert file is not available!"; - } - } - - public static class CSARErrorCMSMissing extends CSARArchive.CSARError { - CSARErrorCMSMissing() { - super("0x1009"); - this.message = "Missing. CMS file is not available!"; - } - } - - public List<CSARArchive.CSARError> validate(FileArchive.Workspace workspace){ - final ArrayList<CSARArchive.CSARError> retValue = new ArrayList<>(); - - if(!workspace.getPathToCertFile().isPresent()){ - retValue.add(new CSARErrorCertMissing()); - } - - if(!workspace.getPathToCmsFile().isPresent()){ - retValue.add(new CSARErrorCMSMissing()); - } - - return retValue; - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java index eafdbde..6e67df9 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java @@ -22,9 +22,7 @@ import org.onap.cli.fw.error.OnapCommandExecutionFailed; import org.onap.cli.fw.input.OnapCommandParameter; import org.onap.cvc.csar.CSARArchive; import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.FileArchive; import org.onap.cvc.csar.PnfCSARArchive; -import org.onap.cvc.csar.ZipFileContentValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,8 +32,6 @@ import java.util.List; public abstract class VTPValidateCSARBase extends OnapCommand { protected static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARBase.class); - private final ZipFileContentValidator zipFileContentValidator = new ZipFileContentValidator(); - protected abstract void validateCSAR(CSARArchive csar) throws Exception; protected abstract String getVnfReqsNo(); @@ -52,12 +48,6 @@ public abstract class VTPValidateCSARBase extends OnapCommand { try (CSARArchive csar = isPnf ? new PnfCSARArchive(): new CSARArchive()){ csar.init(path); - - FileArchive.Workspace workspace = csar.getWorkspace(); - if(workspace.isZip()) { - errors.addAll(zipFileContentValidator.validate(workspace)); - } - csar.parse(); errors.addAll(csar.getErrors()); diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java index 6150a04..b84dea7 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java @@ -31,13 +31,12 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; @OnapCommandSchema(schema = "vtp-validate-csar-r146092.yaml") public class VTPValidateCSARR146092 extends VTPValidateCSARBase { private static final int UNKNOWN_LINE_NUMBER = -1; - private static final String SOURCE_ELEMENT_TAG = "source"; + private static final String SOURCE_ELEMENT_TAG = "Source"; private static class MissingSourceElementUnderAttributeError extends PnfCSARError { private MissingSourceElementUnderAttributeError(String attributeName, String fileName) { @@ -96,7 +95,7 @@ public class VTPValidateCSARR146092 extends VTPValidateCSARBase { List<String> attributeNames = Arrays.asList( "onap_ves_events", "onap_pm_dictionary", - "onap_yang_module", + "onap_yang_modules", "onap_others" ); @@ -123,21 +122,23 @@ public class VTPValidateCSARR146092 extends VTPValidateCSARBase { private void validateSourceElementsUnderAttribute(String attributeName) { Map<String, List<String>> attributeElements = this.nonMano.get(attributeName); - List<String> attributeElementNames = attributeElements.keySet().stream() - .map(String::toLowerCase) - .collect(Collectors.toList()); + Set<String> attributeElementNames = attributeElements.keySet(); if (!attributeElementNames.contains(SOURCE_ELEMENT_TAG)) { this.errors.add(new MissingSourceElementUnderAttributeError(attributeName, this.fileName)); } else { - for (String pathToFile : attributeElements.get(SOURCE_ELEMENT_TAG)) { - File fileFromCsar = this.csar.getFileFromCsar(pathToFile); - if (!fileFromCsar.exists()) { - this.errors.add( - new InvalidPathToFileError(attributeName, - pathToFile, this.fileName) - ); - } + validateThatSourceFileExists(attributeName, attributeElements); + } + } + + private void validateThatSourceFileExists(String attributeName, Map<String, List<String>> attributeElements) { + for (String pathToFile : attributeElements.get(SOURCE_ELEMENT_TAG)) { + File fileFromCsar = this.csar.getFileFromCsar(pathToFile); + if (!fileFromCsar.exists()) { + this.errors.add( + new InvalidPathToFileError(attributeName, + pathToFile, this.fileName) + ); } } } diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965.java index 621ede0..97efd11 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965.java @@ -36,34 +36,46 @@ public class VTPValidateCSARR787965 extends VTPValidateCSARBase { private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR787965.class); - public static class CSARErrorInvalidSignature extends CSARArchive.CSARError { + static class CSARErrorInvalidSignature extends CSARArchive.CSARError { CSARErrorInvalidSignature() { super("0x3001"); this.message = "Invalid CSAR signature!"; } } - @Override - protected void validateCSAR(CSARArchive csar) throws OnapCommandException { + static class CsarFileNotAvailableError extends CSARArchive.CSARError { + CsarFileNotAvailableError() { + super("0x3002"); + this.message = "Missing. Csar file is not available!"; + } + } - try { - final CmsSignatureValidator securityManager = new CmsSignatureValidator(); + static class SignatureWithCertificationOnlyWarning extends CSARArchive.CSARError { + SignatureWithCertificationOnlyWarning() { + super("0x3003"); + this.message = "Warning. Zip package probably is valid. " + + "It contains only signature with certification cms and csar package. " + + "Unable to verify csar signature."; + } + } - FileArchive.Workspace workspace = csar.getWorkspace(); - final Optional<Path> pathToCsarFile = workspace.getPathToCsarFile(); - final Optional<Path> pathToCertFile = workspace.getPathToCertFile(); - final Optional<Path> pathToCmsFile = workspace.getPathToCmsFile(); - if (workspace.isZip() && pathToCsarFile.isPresent() && pathToCertFile.isPresent() && pathToCmsFile.isPresent()) { - byte[] csarContent = Files.readAllBytes(pathToCsarFile.get()); - byte[] signature = Files.readAllBytes(pathToCmsFile.get()); - byte[] publicCertification = Files.readAllBytes(pathToCertFile.get()); + static class BrokenZipPackageError extends CSARArchive.CSARError { + BrokenZipPackageError() { + super("0x3004"); + this.message = "Missing. Unable to find certification files."; + } + } - if (!securityManager.verifySignedData(signature, publicCertification,csarContent)) { - this.errors.add(new CSARErrorInvalidSignature()); - } - } + @Override + protected void validateCSAR(CSARArchive csar) throws OnapCommandException { + + try { + FileArchive.Workspace workspace = csar.getWorkspace(); + if (workspace.isZip()) { + verifyZipStructure(workspace); + } } catch (Exception e) { LOG.error("Internal VTPValidateCSARR787965 command error", e); throw new OnapCommandException("0x3000", "Internal VTPValidateCSARR787965 command error. See logs."); @@ -71,6 +83,35 @@ public class VTPValidateCSARR787965 extends VTPValidateCSARBase { } + private void verifyZipStructure(FileArchive.Workspace workspace) throws Exception { + final Optional<Path> pathToCsarFile = workspace.getPathToCsarFile(); + final Optional<Path> pathToCertFile = workspace.getPathToCertFile(); + final Optional<Path> pathToCmsFile = workspace.getPathToCmsFile(); + if(!pathToCsarFile.isPresent()) { + this.errors.add(new CsarFileNotAvailableError()); + } else { + if (pathToCertFile.isPresent() && pathToCmsFile.isPresent()) { + verifyTwoFileCertification(pathToCsarFile.get(), pathToCertFile.get(), pathToCmsFile.get()); + } else if (pathToCmsFile.isPresent()) { + this.errors.add(new SignatureWithCertificationOnlyWarning()); + } else { + this.errors.add(new BrokenZipPackageError()); + } + } + } + + private void verifyTwoFileCertification(Path pathToCsarFile, Path pathToCertFile, Path pathToCmsFile) throws Exception { + final CmsSignatureValidator securityManager = new CmsSignatureValidator(); + + byte[] csarContent = Files.readAllBytes(pathToCsarFile); + byte[] signature = Files.readAllBytes(pathToCmsFile); + byte[] publicCertification = Files.readAllBytes(pathToCertFile); + + if (!securityManager.verifySignedData(signature, publicCertification,csarContent)) { + this.errors.add(new CSARErrorInvalidSignature()); + } + } + @Override protected String getVnfReqsNo() { return "R787965"; diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/PnfCSARArchiveTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/PnfCSARArchiveTest.java index ca85c7a..810ef0f 100644 --- a/csarvalidation/src/test/java/org/onap/cvc/csar/PnfCSARArchiveTest.java +++ b/csarvalidation/src/test/java/org/onap/cvc/csar/PnfCSARArchiveTest.java @@ -26,6 +26,8 @@ import static org.assertj.core.api.Assertions.assertThat; public class PnfCSARArchiveTest { + public static final String SOURCE_TAG = "Source"; + @Test public void shouldUseDataStoredInManifestMfFileToConfigurePnfCSARArchive() throws Exception { // given @@ -61,16 +63,16 @@ public class PnfCSARArchiveTest { private void verifyThatNonManoArtifactsWereSet(PnfCSARArchive.PnfManifest manifest) { Map<String, Map<String, List<String>>> nonManoArtifacts = manifest.getNonMano(); - assertThat(nonManoArtifacts.get("onap_ves_events").get("source")) + assertThat(nonManoArtifacts.get("onap_ves_events").get(SOURCE_TAG)) .isEqualTo(Lists.newArrayList("Artifacts/Events/VES_registration.yml") ); - assertThat(nonManoArtifacts.get("onap_pm_dictionary").get("source")) + assertThat(nonManoArtifacts.get("onap_pm_dictionary").get(SOURCE_TAG)) .isEqualTo(Lists.newArrayList("Artifacts/Measurements/PM_Dictionary.yaml") ); - assertThat(nonManoArtifacts.get("onap_yang_module").get("source")) + assertThat(nonManoArtifacts.get("onap_yang_modules").get(SOURCE_TAG)) .isEqualTo(Lists.newArrayList("Artifacts/Yang_module/Yang_module.yaml") ); - assertThat(nonManoArtifacts.get("onap_others").get("source")) + assertThat(nonManoArtifacts.get("onap_others").get(SOURCE_TAG)) .isEqualTo(Lists.newArrayList( "Artifacts/scripts/install.sh", "Artifacts/Informational/user_guide.txt", diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/ZipFileContentValidatorTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/ZipFileContentValidatorTest.java deleted file mode 100644 index 7da91f8..0000000 --- a/csarvalidation/src/test/java/org/onap/cvc/csar/ZipFileContentValidatorTest.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 2019 Nokia - * <p> - * 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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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. - * - */ - -package org.onap.cvc.csar; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; - -import java.nio.file.Path; -import java.util.List; -import java.util.stream.Collectors; - -import static org.assertj.core.api.Assertions.assertThat; - -@RunWith(MockitoJUnitRunner.class) -public class ZipFileContentValidatorTest { - - @Mock - Path rootFolder; - @Mock - Path pathToCsarWorkspace; - @Mock - Path certFile; - @Mock - Path csarFile; - @Mock - Path cmsFile; - - private ZipFileContentValidator zipFileContentValidator; - - - @Before - public void setUp(){ - zipFileContentValidator = new ZipFileContentValidator(); - } - - @Test - public void shouldReportThatCertFileAndCmsFileIsNotAvailable() { - // given - FileArchive.Workspace workspace = FileArchive.Workspace.forZip( - rootFolder, - pathToCsarWorkspace, - null, - null, - null - ); - - // when - List<CSARArchive.CSARError> errors = zipFileContentValidator.validate(workspace); - - // then - assertThat(errors.size()).isEqualTo(2); - assertThat(errors.stream().map(CSARArchive.CSARError::getMessage).collect(Collectors.toList())).contains( - "Missing. Cert file is not available!", "Missing. CMS file is not available!" - ); - } - - @Test - public void shouldReportThatCertFileIsNotAvailable() { - // given - FileArchive.Workspace workspace = FileArchive.Workspace.forZip( - rootFolder, - pathToCsarWorkspace, - null, - cmsFile, - csarFile - ); - - // when - List<CSARArchive.CSARError> errors = zipFileContentValidator.validate(workspace); - - // then - assertThat(errors.size()).isEqualTo(1); - assertThat(errors.stream().map(CSARArchive.CSARError::getMessage).collect(Collectors.toList())).contains( - "Missing. Cert file is not available!" - ); - } - - @Test - public void shouldReportThatCmsFileIsNotAvailable() { - // given - FileArchive.Workspace workspace = FileArchive.Workspace.forZip( - rootFolder, - pathToCsarWorkspace, - certFile, - null, - csarFile - ); - - // when - List<CSARArchive.CSARError> errors = zipFileContentValidator.validate(workspace); - - // then - assertThat(errors.size()).isEqualTo(1); - assertThat(errors.stream().map(CSARArchive.CSARError::getMessage).collect(Collectors.toList())).contains( - "Missing. CMS file is not available!" - ); - } - - @Test - public void shouldNotReportAnyErrorWhenAllFilesAreAvailable() { - // given - FileArchive.Workspace workspace = FileArchive.Workspace.forZip( - rootFolder, - pathToCsarWorkspace, - certFile, - cmsFile, - csarFile - ); - - // when - List<CSARArchive.CSARError> errors = zipFileContentValidator.validate(workspace); - - // then - assertThat(errors.size()).isEqualTo(0); - } -}
\ No newline at end of file diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092IntegrationTest.java index ba51882..0e0f35d 100644 --- a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092IntegrationTest.java +++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092IntegrationTest.java @@ -69,7 +69,7 @@ public class VTPValidateCSARR146092IntegrationTest { assertThat(convertToMessagesList(errors)).contains( "Missing. Entry [onap_ves_events]", "Missing. Entry [onap_pm_dictionary]", - "Missing. Entry [onap_yang_module]", + "Missing. Entry [onap_yang_modules]", "Missing. Entry [onap_others]" ); } @@ -87,7 +87,7 @@ public class VTPValidateCSARR146092IntegrationTest { List<CSARArchive.CSARError> errors = testCase.getErrors(); assertThat(errors.size()).isEqualTo(1); assertThat(convertToMessagesList(errors)).contains( - "Missing. Entry [source under onap_ves_events]" + "Missing. Entry [Source under onap_ves_events]" ); } @@ -104,7 +104,7 @@ public class VTPValidateCSARR146092IntegrationTest { List<CSARArchive.CSARError> errors = testCase.getErrors(); assertThat(errors.size()).isEqualTo(1); assertThat(convertToMessagesList(errors)).contains( - "Invalid. Entry [source under onap_ves_events has invalid 'Artifacts/Deployment/Events/RadioNode.yml' path]" + "Invalid. Entry [Source under onap_ves_events has invalid 'Artifacts/Deployment/Events/RadioNode.yml' path]" ); } diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965IntegrationTest.java index c19fe99..ffbf87e 100644 --- a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965IntegrationTest.java +++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR787965IntegrationTest.java @@ -60,6 +60,42 @@ public class VTPValidateCSARR787965IntegrationTest { } @Test + public void shouldReportThatZipContainsSignatureWithCertificationFileAndPackageIsProbableValid() throws Exception { + + // given + configureTestCase(testCase, "pnf/r787965/signature-and-certificate.zip"); + + // when + testCase.execute(); + + // then + List<CSARArchive.CSARError> errors = testCase.getErrors(); + assertThat(errors.size()).isEqualTo(1); + assertThat(convertToMessagesList(errors)).contains( + "Warning. Zip package probably is valid. " + + "It contains only signature with certification cms and csar package. " + + "Unable to verify csar signature." + ); + } + + @Test + public void shouldReportThatZipPackageIsBroken() throws Exception { + + // given + configureTestCase(testCase, "pnf/r787965/broken.zip"); + + // when + testCase.execute(); + + // then + List<CSARArchive.CSARError> errors = testCase.getErrors(); + assertThat(errors.size()).isEqualTo(1); + assertThat(convertToMessagesList(errors)).contains( + "Missing. Unable to find certification files." + ); + } + + @Test public void shouldDoNotReportAnyErrorWhenPackageHasValidSignature() throws Exception { // given @@ -73,5 +109,4 @@ public class VTPValidateCSARR787965IntegrationTest { assertThat(errors.size()).isEqualTo(0); } - }
\ No newline at end of file diff --git a/csarvalidation/src/test/resources/pnf/README.txt b/csarvalidation/src/test/resources/pnf/README.txt new file mode 100644 index 0000000..8984d6f --- /dev/null +++ b/csarvalidation/src/test/resources/pnf/README.txt @@ -0,0 +1,6 @@ +How to sign CSAR file +--------------------- +openssl req -new -nodes -x509 -keyout root-private-key.pem > root.cert +openssl req -new -nodes -keyout sample-pnf-private-key.pem > sample-pnf-request.pem +openssl x509 -req -CA root.cert -CAkey root-private-key.pem -CAcreateserial < sample-pnf-request.pem > sample-pnf.cert +openssl cms -sign -binary -nocerts -outform pem -signer sample-pnf.cert -inkey sample-pnf-private-key.pem < sample-pnf.csar > sample-pnf.cms
\ No newline at end of file diff --git a/csarvalidation/src/test/resources/pnf/dummyPnfv2.csar b/csarvalidation/src/test/resources/pnf/dummyPnfv2.csar Binary files differindex dd45b66..bf2d912 100644 --- a/csarvalidation/src/test/resources/pnf/dummyPnfv2.csar +++ b/csarvalidation/src/test/resources/pnf/dummyPnfv2.csar diff --git a/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar b/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar Binary files differindex 331da92..f01cf20 100644 --- a/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar +++ b/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar diff --git a/csarvalidation/src/test/resources/pnf/r10087/invalidChangeHistoryLog.csar b/csarvalidation/src/test/resources/pnf/r10087/invalidChangeHistoryLog.csar Binary files differindex 56b145f..f1b8ab5 100644 --- a/csarvalidation/src/test/resources/pnf/r10087/invalidChangeHistoryLog.csar +++ b/csarvalidation/src/test/resources/pnf/r10087/invalidChangeHistoryLog.csar diff --git a/csarvalidation/src/test/resources/pnf/r10087/invalidEntryDefinitionsInToscaMeta.csar b/csarvalidation/src/test/resources/pnf/r10087/invalidEntryDefinitionsInToscaMeta.csar Binary files differindex d07dcbf..beb73d8 100644 --- a/csarvalidation/src/test/resources/pnf/r10087/invalidEntryDefinitionsInToscaMeta.csar +++ b/csarvalidation/src/test/resources/pnf/r10087/invalidEntryDefinitionsInToscaMeta.csar diff --git a/csarvalidation/src/test/resources/pnf/r10087/invalidManifestFile.csar b/csarvalidation/src/test/resources/pnf/r10087/invalidManifestFile.csar Binary files differindex 83a37cb..96f3916 100644 --- a/csarvalidation/src/test/resources/pnf/r10087/invalidManifestFile.csar +++ b/csarvalidation/src/test/resources/pnf/r10087/invalidManifestFile.csar diff --git a/csarvalidation/src/test/resources/pnf/r10087/invalidTestDirectory.csar b/csarvalidation/src/test/resources/pnf/r10087/invalidTestDirectory.csar Binary files differindex b31d8cf..65fb622 100644 --- a/csarvalidation/src/test/resources/pnf/r10087/invalidTestDirectory.csar +++ b/csarvalidation/src/test/resources/pnf/r10087/invalidTestDirectory.csar diff --git a/csarvalidation/src/test/resources/pnf/r146092/missingFieldsInNonManoArtifactManifest.csar b/csarvalidation/src/test/resources/pnf/r146092/missingFieldsInNonManoArtifactManifest.csar Binary files differindex 545dd16..5f48c14 100644 --- a/csarvalidation/src/test/resources/pnf/r146092/missingFieldsInNonManoArtifactManifest.csar +++ b/csarvalidation/src/test/resources/pnf/r146092/missingFieldsInNonManoArtifactManifest.csar diff --git a/csarvalidation/src/test/resources/pnf/r146092/missingNonManoArtifactInManifest.csar b/csarvalidation/src/test/resources/pnf/r146092/missingNonManoArtifactInManifest.csar Binary files differindex 0bb0e16..f1a5055 100644 --- a/csarvalidation/src/test/resources/pnf/r146092/missingNonManoArtifactInManifest.csar +++ b/csarvalidation/src/test/resources/pnf/r146092/missingNonManoArtifactInManifest.csar diff --git a/csarvalidation/src/test/resources/pnf/r146092/noSourceElementInNonManoArtifactEntryManifest.csar b/csarvalidation/src/test/resources/pnf/r146092/noSourceElementInNonManoArtifactEntryManifest.csar Binary files differindex edeaf9b..78360dc 100644 --- a/csarvalidation/src/test/resources/pnf/r146092/noSourceElementInNonManoArtifactEntryManifest.csar +++ b/csarvalidation/src/test/resources/pnf/r146092/noSourceElementInNonManoArtifactEntryManifest.csar diff --git a/csarvalidation/src/test/resources/pnf/r146092/sourceElementWithUnknownFileInNonManoArtifactEntryManifest.csar b/csarvalidation/src/test/resources/pnf/r146092/sourceElementWithUnknownFileInNonManoArtifactEntryManifest.csar Binary files differindex 434d614..d4c7993 100644 --- a/csarvalidation/src/test/resources/pnf/r146092/sourceElementWithUnknownFileInNonManoArtifactEntryManifest.csar +++ b/csarvalidation/src/test/resources/pnf/r146092/sourceElementWithUnknownFileInNonManoArtifactEntryManifest.csar diff --git a/csarvalidation/src/test/resources/pnf/r293901/allMandatoryEntriesDefinedInTOSCAMeta.csar b/csarvalidation/src/test/resources/pnf/r293901/allMandatoryEntriesDefinedInTOSCAMeta.csar Binary files differindex f22366a..1dd4dfd 100644 --- a/csarvalidation/src/test/resources/pnf/r293901/allMandatoryEntriesDefinedInTOSCAMeta.csar +++ b/csarvalidation/src/test/resources/pnf/r293901/allMandatoryEntriesDefinedInTOSCAMeta.csar diff --git a/csarvalidation/src/test/resources/pnf/r293901/noMandatoryEntriesInTOSCAMeta.csar b/csarvalidation/src/test/resources/pnf/r293901/noMandatoryEntriesInTOSCAMeta.csar Binary files differindex 9ef56cf..70a1939 100644 --- a/csarvalidation/src/test/resources/pnf/r293901/noMandatoryEntriesInTOSCAMeta.csar +++ b/csarvalidation/src/test/resources/pnf/r293901/noMandatoryEntriesInTOSCAMeta.csar diff --git a/csarvalidation/src/test/resources/pnf/r57019/allMandatoryEntriesDefinedInMetadataManifest.csar b/csarvalidation/src/test/resources/pnf/r57019/allMandatoryEntriesDefinedInMetadataManifest.csar Binary files differindex 3311713..b23a689 100644 --- a/csarvalidation/src/test/resources/pnf/r57019/allMandatoryEntriesDefinedInMetadataManifest.csar +++ b/csarvalidation/src/test/resources/pnf/r57019/allMandatoryEntriesDefinedInMetadataManifest.csar diff --git a/csarvalidation/src/test/resources/pnf/r57019/noMandatoryEntriesInMetadataManifest.csar b/csarvalidation/src/test/resources/pnf/r57019/noMandatoryEntriesInMetadataManifest.csar Binary files differindex 6b16ed5..570693d 100644 --- a/csarvalidation/src/test/resources/pnf/r57019/noMandatoryEntriesInMetadataManifest.csar +++ b/csarvalidation/src/test/resources/pnf/r57019/noMandatoryEntriesInMetadataManifest.csar diff --git a/csarvalidation/src/test/resources/pnf/r787965/broken.zip b/csarvalidation/src/test/resources/pnf/r787965/broken.zip Binary files differnew file mode 100644 index 0000000..5447a8f --- /dev/null +++ b/csarvalidation/src/test/resources/pnf/r787965/broken.zip diff --git a/csarvalidation/src/test/resources/pnf/r787965/signature-and-certificate.zip b/csarvalidation/src/test/resources/pnf/r787965/signature-and-certificate.zip Binary files differnew file mode 100644 index 0000000..47470f4 --- /dev/null +++ b/csarvalidation/src/test/resources/pnf/r787965/signature-and-certificate.zip diff --git a/csarvalidation/src/test/resources/pnf/signed-package-valid-signature.zip b/csarvalidation/src/test/resources/pnf/signed-package-valid-signature.zip Binary files differindex 15437d6..b946585 100644 --- a/csarvalidation/src/test/resources/pnf/signed-package-valid-signature.zip +++ b/csarvalidation/src/test/resources/pnf/signed-package-valid-signature.zip |