summaryrefslogtreecommitdiffstats
path: root/csarvalidation
diff options
context:
space:
mode:
Diffstat (limited to 'csarvalidation')
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092.java20
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019.java26
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java9
-rw-r--r--csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087IntegrationTest.java3
-rw-r--r--csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR146092IntegrationTest.java16
-rw-r--r--csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR57019IntegrationTest.java16
-rw-r--r--csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234IntegrationTest.java62
-rw-r--r--csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar (renamed from csarvalidation/src/test/resources/pnf/r10087/noToscaMetaFile.csar)bin3621 -> 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
index 331da92..331da92 100644
--- a/csarvalidation/src/test/resources/pnf/r10087/noToscaMetaFile.csar
+++ b/csarvalidation/src/test/resources/pnf/noToscaMetaFile.csar
Binary files differ