summaryrefslogtreecommitdiffstats
path: root/csarvalidation/src/main/java/org/onap/cvc/csar/cc
diff options
context:
space:
mode:
authorBogumil Zebek <bogumil.zebek@nokia.com>2019-03-19 09:59:02 +0100
committerZebek Bogumil <bogumil.zebek@nokia.com>2019-03-22 13:24:43 +0100
commit5873269dcf426377a037e28a0b16bd18af582a7e (patch)
treebfd24cc65aa4cd929f1864734449223eae7e035b /csarvalidation/src/main/java/org/onap/cvc/csar/cc
parent0d4544eb82a2ca79d7724e5c1da70d3943db76eb (diff)
PNF TC R293901
Change-Id: I6acfa94ce0fac2b3c46688601c3ec553af4c8b66 Issue-ID: VNFSDK-386 Signed-off-by: Zebek Bogumil <bogumil.zebek@nokia.com>
Diffstat (limited to 'csarvalidation/src/main/java/org/onap/cvc/csar/cc')
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java10
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidatePnfCSARBase.java33
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR293901.java58
3 files changed, 98 insertions, 3 deletions
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 d07884d..d879ff3 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
@@ -42,14 +42,14 @@ public abstract class VTPValidateCSARBase extends OnapCommand {
String path = (String) getParametersMap().get("csar").getValue();
//execute
- try {
- CSARArchive csar = new CSARArchive();
+ try (CSARArchive csar = this.createArchiveInstance()){
csar.init(path);
csar.parse();
+ errors.addAll(csar.getErrors());
+
this.validateCSAR(csar);
- csar.cleanup();
} catch (Exception e) {
LOG.error(this.getVnfReqsNo() + ": Failed to validate CSAR" , e);
throw new OnapCommandExecutionFailed(e.getMessage());
@@ -65,4 +65,8 @@ public abstract class VTPValidateCSARBase extends OnapCommand {
this.getResult().setOutput(this.errors);
}
+
+ protected CSARArchive createArchiveInstance(){
+ return new CSARArchive();
+ }
}
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidatePnfCSARBase.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidatePnfCSARBase.java
new file mode 100644
index 0000000..2effffd
--- /dev/null
+++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidatePnfCSARBase.java
@@ -0,0 +1,33 @@
+/*
+ * 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;
+
+import org.onap.cvc.csar.CSARArchive;
+import org.onap.cvc.csar.PnfCSARArchive;
+
+import java.util.List;
+
+public abstract class VTPValidatePnfCSARBase extends VTPValidateCSARBase {
+ protected CSARArchive createArchiveInstance(){
+ return new PnfCSARArchive();
+ }
+
+ public List<CSARArchive.CSARError> getErrors(){
+ return this.errors;
+ }
+}
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR293901.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR293901.java
new file mode 100644
index 0000000..09edc34
--- /dev/null
+++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR293901.java
@@ -0,0 +1,58 @@
+/*
+ * 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.onap.cli.fw.schema.OnapCommandSchema;
+import org.onap.cvc.csar.CSARArchive;
+import org.onap.cvc.csar.PnfCSARError.PnfCSARErrorEntryMissing;
+import org.onap.cvc.csar.cc.VTPValidatePnfCSARBase;
+
+import java.util.Objects;
+
+@OnapCommandSchema(schema = "vtp-validate-csar-r293901.yaml")
+public class VTPValidateCSARR293901 extends VTPValidatePnfCSARBase {
+
+ private static final int UNKNOWN_LINE_NUMBER = -1;
+
+ @Override
+ protected void validateCSAR(CSARArchive csar) {
+ final CSARArchive.TOSCAMeta toscaMeta = csar.getToscaMeta();
+ if (Objects.isNull(toscaMeta.getEntryManifestMf())) {
+ this.errors.add(new PnfCSARErrorEntryMissing(
+ "ETSI-Entry-Manifest",
+ CSARArchive.TOSCA_Metadata__TOSCA_Meta,
+ UNKNOWN_LINE_NUMBER)
+ );
+ }
+ if (Objects.isNull(toscaMeta.getEntryChangeLog())) {
+ this.errors.add(new PnfCSARErrorEntryMissing(
+ "ETSI-Entry-Change-Log",
+ CSARArchive.TOSCA_Metadata__TOSCA_Meta,
+ UNKNOWN_LINE_NUMBER)
+ );
+ }
+ }
+
+ @Override
+ protected String getVnfReqsNo() {
+ return "R293901";
+ }
+
+
+}