summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2020-06-24 13:12:55 +0200
committerBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2020-06-25 08:30:30 +0200
commit4d94d239aa4f768f5348ac11401fa63d986f963d (patch)
treee2346655d5692c84dafbfd358097e85995c49b09
parent1335f80f88909934ad159530c62ab0f8800c4ec3 (diff)
Skip YAML validation in rule R816745, if onap_pm_dictionary is not present in non_mano_artifact_sets
Issue-ID: VNFSDK-594 Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com> Change-Id: I0e52bcc84583a65243fd821f6434f986d12fdadd
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java17
-rw-r--r--csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java37
-rw-r--r--csarvalidation/src/test/resources/pnf/r816745/csar-with-no-pm-dictionary.csarbin0 -> 6717 bytes
-rw-r--r--csarvalidation/src/test/resources/pnf/r816745/csar-with-pm-dictionary.csarbin0 -> 7156 bytes
4 files changed, 54 insertions, 0 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java
index ef901f9..47b963e 100644
--- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java
+++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java
@@ -20,16 +20,33 @@ import org.onap.cli.fw.schema.OnapCommandSchema;
import org.onap.cvc.csar.CSARArchive;
import org.onap.cvc.csar.cc.VTPValidateCSARBase;
+import java.util.List;
+import java.util.Map;
+
@OnapCommandSchema(schema = "vtp-validate-csar-r816745.yaml")
public class VTPValidateCSARR816745 extends VTPValidateCSARBase {
+ private static final String PM_DICTIONARY = "onap_pm_dictionary";
+
@Override
protected void validateCSAR(CSARArchive csar) throws Exception {
+ Map<String, Map<String, List<String>>> nonManoFields = csar.getManifest().getNonMano();
+ if(nonManoFields.containsKey(PM_DICTIONARY)) {
+ validateYamlFile(getLocationOfPmDictionaryFile(nonManoFields));
+ }
+ }
+ private String getLocationOfPmDictionaryFile(Map<String, Map<String, List<String>>> nonManoFields) {
+ return nonManoFields.get(PM_DICTIONARY).get("source").get(0);
+ }
+
+ private void validateYamlFile(String path) {
+ throw new UnsupportedOperationException("Under development");
}
@Override
protected String getVnfReqsNo() {
return "R816745";
}
+
}
diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java
index e75f27e..efe6917 100644
--- a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java
+++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java
@@ -18,22 +18,59 @@
package org.onap.cvc.csar.cc.sol004;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.onap.cli.fw.error.OnapCommandExecutionFailed;
+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;
public class VTPValidateCSARR816745IntegrationTest {
private static final boolean IS_PNF = true;
+ private static final String TEST_CSAR_DIRECTORY = "pnf/r816745/";
private VTPValidateCSARR816745 testCase;
+ @Rule
+ public ExpectedException exceptionRule = ExpectedException.none();
+
@Before
public void setUp() {
testCase = new VTPValidateCSARR816745();
}
@Test
+ public void shouldNotReportAnyErrorWhenCsarIsNotContainingPmDictionary() throws Exception {
+ // given
+ configureTestCase(testCase, TEST_CSAR_DIRECTORY + "csar-with-no-pm-dictionary.csar", "vtp-validate-csar-r816745.yaml", IS_PNF);
+
+ // when
+ testCase.execute();
+
+ // then
+ List<CSARArchive.CSARError> errors = testCase.getErrors();
+ assertThat(errors.size()).isEqualTo(0);
+ }
+
+ @Test
+ public void shouldThrowUnsupportedOperationExceptionWhenCsarContainsPmDictionary() throws Exception {
+ // given
+ configureTestCase(testCase, TEST_CSAR_DIRECTORY + "csar-with-pm-dictionary.csar", "vtp-validate-csar-r816745.yaml", IS_PNF);
+
+ // then
+ exceptionRule.expect(OnapCommandExecutionFailed.class);
+ exceptionRule.expectMessage("Under development");
+
+ // when
+ testCase.execute();
+ }
+
+ @Test
public void shouldReturnProperRequestNumber() {
assertThat(testCase.getVnfReqsNo()).isEqualTo("R816745");
}
diff --git a/csarvalidation/src/test/resources/pnf/r816745/csar-with-no-pm-dictionary.csar b/csarvalidation/src/test/resources/pnf/r816745/csar-with-no-pm-dictionary.csar
new file mode 100644
index 0000000..f0d4216
--- /dev/null
+++ b/csarvalidation/src/test/resources/pnf/r816745/csar-with-no-pm-dictionary.csar
Binary files differ
diff --git a/csarvalidation/src/test/resources/pnf/r816745/csar-with-pm-dictionary.csar b/csarvalidation/src/test/resources/pnf/r816745/csar-with-pm-dictionary.csar
new file mode 100644
index 0000000..861f602
--- /dev/null
+++ b/csarvalidation/src/test/resources/pnf/r816745/csar-with-pm-dictionary.csar
Binary files differ