From 4827d14388d40fdffd95d560ae6500604aff578f Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Thu, 28 Mar 2019 17:50:06 +0530 Subject: Update test cases to fix the TOSCA issues Issue-ID: VNFSDK-352 Change-Id: I058dbe23a02244b90f3e9d58c136960249c7ffdf Signed-off-by: Kanagaraj Manickam k00365106 --- .../cvc/csar/cc/sol001/VTPValidateCSARR67895.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java') diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java index a45ba5e..c6075bc 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java @@ -19,12 +19,64 @@ 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-r67895.yaml") public class VTPValidateCSARR67895 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingDefinitionYamlcapabilitiesVirtualBindable extends CSARArchive.CSARErrorEntryMissing { + public CSARErrorEntryMissingDefinitionYamlcapabilitiesVirtualBindable(String defYaml, String entry) { + super(entry, defYaml); + this.setCode("0x1000"); + } + } + + public static class CSARErrorEntryMissingDefinitionYamlcapabilitiesVirtualLinkable extends CSARArchive.CSARErrorEntryMissing { + public CSARErrorEntryMissingDefinitionYamlcapabilitiesVirtualLinkable(String defYaml, String entry) { + super(entry, defYaml); + this.setCode("0x1000"); + } + } + @Override protected void validateCSAR(CSARArchive csar) throws Exception { + try (FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { + Map yaml = (Map) new Yaml().load(ipStream); + yaml = (Map) yaml.get("topology_template"); + Map nodeTmpls = (Map) yaml.get("node_templates"); + + boolean vlExist[] = new boolean[2]; + + for (Object nodeO : nodeTmpls.values()) { + Map node = (Map) nodeO; + if (node.containsKey("type")) { + String type = (String) node.get("type"); + if (type.equalsIgnoreCase("tosca.capabilities.nfv.VirtualBindable")) { + vlExist[0] = true; + + } + + if (type.equalsIgnoreCase("tosca.capabilities.nfv.VirtualLinkable")) { + vlExist[1] = true; + + } + } + } + + if (!vlExist[0]) + this.errors.add(new CSARErrorEntryMissingDefinitionYamlcapabilitiesVirtualBindable( + csar.getDefinitionYamlFile().getName(), + "capabilities VirtualBindable")); + + if (!vlExist[1]) + this.errors.add(new CSARErrorEntryMissingDefinitionYamlcapabilitiesVirtualLinkable( + csar.getDefinitionYamlFile().getName(), + "capabilities VirtualLinkable")); + } } @Override -- cgit 1.2.3-korg