diff options
Diffstat (limited to 'csarvalidation')
-rw-r--r-- | csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java | 20 | ||||
-rw-r--r-- | csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019.java | 26 | ||||
-rw-r--r-- | csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java | 9 | ||||
-rw-r--r-- | csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087IntegrationTest.java | 3 | ||||
-rw-r--r-- | csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092IntegrationTest.java | 16 | ||||
-rw-r--r-- | csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019IntegrationTest.java | 16 | ||||
-rw-r--r-- | csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234IntegrationTest.java | 62 | ||||
-rw-r--r-- | csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar (renamed from csarvalidation/src/test/resources/pnf/r10087/noToscaMetaFile.csar) | bin | 3621 -> 3621 bytes |
8 files changed, 133 insertions, 19 deletions
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 3d767ff..95b35bf 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 @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -58,10 +59,11 @@ public class VTPValidateCSARR146092 extends VTPValidateCSARBase { @Override protected void validateCSAR(CSARArchive csar) { - ValidateNonManoSection validateNonManoSection = ValidateNonManoSection.getInstance(csar); - List<CSARArchive.CSARError> csarErrors = validateNonManoSection.validate(); - - this.errors.addAll(csarErrors); + Optional<ValidateNonManoSection> validateNonManoSection = ValidateNonManoSection.getInstance(csar); + if(validateNonManoSection.isPresent()) { + List<CSARArchive.CSARError> csarErrors = validateNonManoSection.get().validate(); + this.errors.addAll(csarErrors); + } } @@ -71,10 +73,14 @@ public class VTPValidateCSARR146092 extends VTPValidateCSARBase { private final Map<String, Map<String, List<String>>> nonMano; private final List<CSARArchive.CSARError> errors = new ArrayList<>(); - static ValidateNonManoSection getInstance(CSARArchive csar) { - final String fileName = csar.getManifestMfFile().getName(); + static Optional<ValidateNonManoSection> getInstance(CSARArchive csar) { + final File manifestMfFile = csar.getManifestMfFile(); + if(manifestMfFile == null){ + return Optional.empty(); + } + final String fileName = manifestMfFile.getName(); final Map<String, Map<String, List<String>>> nonMano = csar.getManifest().getNonMano(); - return new ValidateNonManoSection(csar, fileName,nonMano); + return Optional.of(new ValidateNonManoSection(csar, fileName,nonMano)); } private ValidateNonManoSection(CSARArchive csar, String fileName, Map<String, Map<String, List<String>>> nonMano) { diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019.java index 3dea564..dc507dd 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019.java @@ -23,6 +23,7 @@ import org.onap.cvc.csar.CSARArchive; import org.onap.cvc.csar.PnfCSARError.PnfCSARErrorEntryMissing; import org.onap.cvc.csar.cc.VTPValidateCSARBase; +import java.io.File; import java.util.Objects; @OnapCommandSchema(schema = "vtp-validate-csar-r57019.yaml") @@ -30,15 +31,28 @@ public class VTPValidateCSARR57019 extends VTPValidateCSARBase { private static final int UNKNOWN_LINE_NUMBER = -1; + public static class ToscaMetaNotAvailableError extends CSARArchive.CSARErrorInvalidEntryValue { + public ToscaMetaNotAvailableError() { + super("", + "CSAR Archive", + "Unable to find TOSCA.meta file in TOSCA-metadata directory.",""); + this.setCode("0x1000"); + } + } + @Override protected void validateCSAR(CSARArchive csar) { - final CSARArchive.Manifest.Metadata metadata = csar.getManifest().getMetadata(); - final String fileName = csar.getManifestMfFile().getName(); + final CSARArchive.Manifest manifest = csar.getManifest(); + final CSARArchive.Manifest.Metadata metadata = manifest.getMetadata(); + final File manifestMfFile = csar.getManifestMfFile(); + if(manifestMfFile!=null) { + final String fileName = manifestMfFile.getName(); - validateMetadataValue(fileName, metadata.getProviderId(), "pnfd_provider"); - validateMetadataValue(fileName, metadata.getProductName(), "pnfd_name"); - validateMetadataValue(fileName, metadata.getReleaseDateTime(), "pnfd_release_date_time"); - validateMetadataValue(fileName, metadata.getPackageVersion(), "pnfd_archive_version"); + validateMetadataValue(fileName, metadata.getProviderId(), "pnfd_provider"); + validateMetadataValue(fileName, metadata.getProductName(), "pnfd_name"); + validateMetadataValue(fileName, metadata.getReleaseDateTime(), "pnfd_release_date_time"); + validateMetadataValue(fileName, metadata.getPackageVersion(), "pnfd_archive_version"); + } } diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java index 6400012..259d32f 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java @@ -24,10 +24,11 @@ import org.onap.cvc.csar.cc.VTPValidateCSARBase; @OnapCommandSchema(schema = "vtp-validate-csar-r87234.yaml") public class VTPValidateCSARR87234 extends VTPValidateCSARBase { - public static class CSARErrorInvalidEntryValueNonToscaMetaNotSupported extends CSARErrorInvalidEntryValue { - public CSARErrorInvalidEntryValueNonToscaMetaNotSupported() { - super("CSAR Mode", "CSAR Archive", - "Only " + CSARArchive.Mode.WITH_TOSCA_META_DIR.name() + " mode is supported", + static class CSARErrorInvalidEntryValueNonToscaMetaNotSupported extends CSARErrorInvalidEntryValue { + CSARErrorInvalidEntryValueNonToscaMetaNotSupported() { + super("CSAR Mode", + "CSAR Archive", + "Only csar package with TOSCA-Metadata directory is supported. Unable to find TOSCA.meta file in TOSCA-metadata directory.", CSARArchive.Mode.WITH_TOSCA_META_DIR.name()); this.setCode("0x1000"); } diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087IntegrationTest.java index 136baf0..7016a92 100644 --- a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087IntegrationTest.java +++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087IntegrationTest.java @@ -19,7 +19,6 @@ package org.onap.cvc.csar.cc.sol004; import org.junit.Before; import org.junit.Test; -import org.onap.cli.fw.output.OnapCommandResult; import org.onap.cvc.csar.CSARArchive; import java.util.List; @@ -46,7 +45,7 @@ public class VTPValidateCSARR10087IntegrationTest { @Test public void shouldReportThatDefinitionYAMLIsNotAvailable() throws Exception { // given - configureTestCase(testCase, "pnf/r10087/noToscaMetaFile.csar"); + configureTestCase(testCase, "pnf/noToscaMetaFile.csar"); // when testCase.execute(); 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 d5cb153..a59282c 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 @@ -115,4 +115,20 @@ public class VTPValidateCSARR146092IntegrationTest { ); } + @Test + public void shouldReportThatDefinitionYAMLIsNotAvailableWhenToscaMetaFileIsNotPresent() throws Exception { + // given + configureTestCase(testCase, "pnf/noToscaMetaFile.csar"); + + // when + testCase.execute(); + + // then + List<CSARArchive.CSARError> errors = testCase.getErrors(); + assertThat(errors.size()).isEqualTo(4); + assertThat(convertToMessagesList(errors)).contains( + "Missing. Entry [Definition YAML]" + ); + } + }
\ No newline at end of file diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019IntegrationTest.java index 8ec88ea..2328f2c 100644 --- a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019IntegrationTest.java +++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019IntegrationTest.java @@ -75,4 +75,20 @@ public class VTPValidateCSARR57019IntegrationTest { assertThat(errors.size()).isEqualTo(0); } + @Test + public void shouldReportThatDefinitionYAMLIsNotAvailableWhenToscaMetaFileIsNotPresent() throws Exception { + // given + configureTestCase(testCase, "pnf/noToscaMetaFile.csar"); + + // when + testCase.execute(); + + // then + List<CSARArchive.CSARError> errors = testCase.getErrors(); + assertThat(errors.size()).isEqualTo(4); + assertThat(convertToMessagesList(errors)).contains( + "Missing. Entry [Definition YAML]" + ); + } + }
\ No newline at end of file diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234IntegrationTest.java new file mode 100644 index 0000000..55ec14c --- /dev/null +++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234IntegrationTest.java @@ -0,0 +1,62 @@ +/* + * 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.cc.sol004; + +import org.junit.Before; +import org.junit.Test; +import org.onap.cvc.csar.CSARArchive; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.onap.cvc.csar.cc.sol004.IntegrationTestUtils.configureTestCase; +import static org.onap.cvc.csar.cc.sol004.IntegrationTestUtils.convertToMessagesList; + + +public class VTPValidateCSARR87234IntegrationTest { + + private VTPValidateCSARR87234 testCase; + + @Before + public void setUp() { + testCase = new VTPValidateCSARR87234(); + } + + @Test + public void shouldReturnProperRequestNumber() { + assertThat(testCase.getVnfReqsNo()).isEqualTo("R87234"); + } + + + @Test + public void shouldReportThatToscaMetadataDirectoryIsNotPresent() throws Exception { + // given + configureTestCase(testCase, "pnf/noToscaMetaFile.csar"); + + // when + testCase.execute(); + + // then + List<CSARArchive.CSARError> errors = testCase.getErrors(); + assertThat(errors.size()).isEqualTo(5); + assertThat(convertToMessagesList(errors)).contains( + "Invalid value. Entry [CSAR Mode]. Valid values are [WITH_TOSCA_META_DIR]. Only csar package with TOSCA-Metadata directory is supported. Unable to find TOSCA.meta file in TOSCA-metadata directory." + ); + } + +}
\ No newline at end of file diff --git a/csarvalidation/src/test/resources/pnf/r10087/noToscaMetaFile.csar b/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar Binary files differindex 331da92..331da92 100644 --- a/csarvalidation/src/test/resources/pnf/r10087/noToscaMetaFile.csar +++ b/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar |