diff options
author | 2019-03-28 17:50:06 +0530 | |
---|---|---|
committer | 2019-03-28 18:31:52 +0530 | |
commit | 4827d14388d40fdffd95d560ae6500604aff578f (patch) | |
tree | c374ba32a0fc1bd62816be142e4c21de8ed2f66e /csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java | |
parent | d34c02725d33d4b9cfa3ac70742b47be65b31066 (diff) |
Update test cases to fix the TOSCA issues
Issue-ID: VNFSDK-352
Change-Id: I058dbe23a02244b90f3e9d58c136960249c7ffdf
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Diffstat (limited to 'csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java')
-rw-r--r-- | csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java index fac261a..c5f6319 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java @@ -19,13 +19,66 @@ package org.onap.cvc.csar.cc.sol001; import org.onap.cli.fw.schema.OnapCommandSchema; import org.onap.cvc.csar.CSARArchive; import org.onap.cvc.csar.cc.VTPValidateCSARBase; +import org.yaml.snakeyaml.Yaml; + +import java.io.FileInputStream; +import java.util.Map; @OnapCommandSchema(schema = "vtp-validate-csar-r32155.yaml") public class VTPValidateCSARR32155 extends VTPValidateCSARBase { + public static class CSARErrorEntryMissingVirtualLink extends CSARArchive.CSARErrorEntryMissing { + public CSARErrorEntryMissingVirtualLink(String entry, String file) { + super(entry, file); + this.setCode("0x1000"); + } + } + @Override protected void validateCSAR(CSARArchive csar) throws Exception { + try (FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { + + Map<String, ?> yaml = (Map<String, ?>) new Yaml().load(ipStream); + yaml = (Map<String, ?>) yaml.get("topology_template"); + Map<String, ?> yamlTmpls = (Map<String, ?>) yaml.get("node_templates"); + + boolean vlExist[] = new boolean[2]; + + for (Object node0 : yamlTmpls.values()) { + + Map<String, ?> node = (Map<String, ?>) node0; + + if (node.containsKey("type")) { + String type = (String) node.get("type"); + + if (type.equalsIgnoreCase("tosca.nodes.nfv.VnfVirtualLinkDesc")) { + + vlExist[0] = true; + } + + if (type.equalsIgnoreCase("tosca.capabilities.nfv.VirtualLinkable")) { + + vlExist[1] = true; + } + } + } + + if (!vlExist[0]) { + this.errors.add( + new CSARErrorEntryMissingVirtualLink( + "Virtual", + csar.getDefinitionYamlFile().getName())); + } + + if (!vlExist[1]) { + this.errors.add( + new CSARErrorEntryMissingVirtualLink( + "Virtual", + csar.getDefinitionYamlFile().getName())); + } + } + } @Override |