diff options
author | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2019-03-28 17:50:06 +0530 |
---|---|---|
committer | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2019-03-28 18:31:52 +0530 |
commit | 4827d14388d40fdffd95d560ae6500604aff578f (patch) | |
tree | c374ba32a0fc1bd62816be142e4c21de8ed2f66e /csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.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/VTPValidateCSARR95321.java')
-rw-r--r-- | csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java index fd9b2d6..c7daafe 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java @@ -19,13 +19,65 @@ 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-r95321.yaml") public class VTPValidateCSARR95321 extends VTPValidateCSARBase { + public static class CSARErrorEntryMissingDefinitionYamlRelationshipsVirtualBindsTo extends CSARArchive.CSARErrorEntryMissing { + public CSARErrorEntryMissingDefinitionYamlRelationshipsVirtualBindsTo(String defYaml, String entry) { + super(entry, defYaml); + this.setCode("0x1000"); + } + } + + public static class CSARErrorEntryMissingDefinitionYamlRelationshipsVirtualLinksTo extends CSARArchive.CSARErrorEntryMissing { + public CSARErrorEntryMissingDefinitionYamlRelationshipsVirtualLinksTo(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<String, ?> yaml = (Map<String, ?>) new Yaml().load(ipStream); + yaml = (Map<String, ?>) yaml.get("topology_template"); + Map<String, ?> nodeTmpls = (Map<String, ?>) yaml.get("node_templates"); + + boolean vlExist[] = new boolean[2]; + + for (Object nodeO : nodeTmpls.values()) { + Map<String, ?> node = (Map<String, ?>) nodeO; + if (node.containsKey("type")) { + String type = (String) node.get("type"); + if (type.equalsIgnoreCase("tosca.relationships.nfv.VirtualBindsTo")) { + vlExist[0] = true; + + } + + if (type.equalsIgnoreCase("tosca.relationships.nfv.VirtualLinksTo")) { + vlExist[1] = true; + + } + } + } + + if (!vlExist[0]) + this.errors.add(new CSARErrorEntryMissingDefinitionYamlRelationshipsVirtualBindsTo( + csar.getDefinitionYamlFile().getName(), + "Relationships VirtualBindsTo")); + + if (!vlExist[1]) + this.errors.add(new CSARErrorEntryMissingDefinitionYamlRelationshipsVirtualLinksTo( + csar.getDefinitionYamlFile().getName(), + "RelationshipsRelationships VirtualLinksTo")); + } } @Override |