From 3fe13e71ea3f66258e2a5d17871c1afbca27b28f Mon Sep 17 00:00:00 2001 From: maopengzhang Date: Sat, 27 Oct 2018 14:23:29 +0800 Subject: support pnf properties and metadata support pnf properties and metadata Change-Id: I9095b9aea87bb5e7e17278879ad74d69eafcd805 Issue-ID: VFC-1158 Signed-off-by: maopengzhang --- catalog/pub/utils/toscaparser/pnfmodel.py | 3 ++- .../pub/utils/toscaparser/testdata/pnf/ran-du.csar | Bin 2703 -> 2688 bytes catalog/pub/utils/toscaparser/tests.py | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/catalog/pub/utils/toscaparser/pnfmodel.py b/catalog/pub/utils/toscaparser/pnfmodel.py index 1acf6d4c..e092e927 100644 --- a/catalog/pub/utils/toscaparser/pnfmodel.py +++ b/catalog/pub/utils/toscaparser/pnfmodel.py @@ -30,10 +30,11 @@ class PnfdInfoModel(BaseInfoModel): tosca.nodetemplates) self.basepath = self.get_base_path(tosca) self.pnf = {} + self.get_substitution_mappings(tosca) self.get_all_cp(nodeTemplates) def get_substitution_mappings(self, tosca): - pnf_substitution_mappings = tosca.tpl['topology_template']['substitution_mappings'] + pnf_substitution_mappings = tosca.tpl['topology_template'].get('substitution_mappings', None) if pnf_substitution_mappings: self.pnf['type'] = pnf_substitution_mappings['node_type'] self.pnf['properties'] = pnf_substitution_mappings['properties'] diff --git a/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar b/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar index 73210685..45168a96 100644 Binary files a/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar and b/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar differ diff --git a/catalog/pub/utils/toscaparser/tests.py b/catalog/pub/utils/toscaparser/tests.py index 004911d9..8c6f57e9 100644 --- a/catalog/pub/utils/toscaparser/tests.py +++ b/catalog/pub/utils/toscaparser/tests.py @@ -58,8 +58,11 @@ class TestToscaparser(TestCase): self.remove_temp_dir() csar_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/pnf/ran-du.csar" pnfd_json = parse_pnfd(csar_path) - metadata = json.loads(pnfd_json).get("metadata") + pnfd_dict = json.loads(pnfd_json) + metadata = pnfd_dict.get("metadata") self.assertEqual("RAN_DU", metadata.get("template_name", "")) + descriptor_id = pnfd_dict["pnf"]["properties"]["descriptor_id"] + self.assertEqual(1, descriptor_id) def test_nsd_parse(self): self.remove_temp_dir() -- cgit 1.2.3-korg