summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser/toscaparser/extensions
diff options
context:
space:
mode:
authorshangxdy <shang.xiaodong@zte.com.cn>2016-08-14 02:16:28 +0800
committershangxdy <shang.xiaodong@zte.com.cn>2016-08-14 23:30:24 +0800
commit5559b0c06930deb1c7831efe599a1036574f50b3 (patch)
treeeae0c84222cec4a15b1b5ae46656aeb157c01bbe /tosca2heat/tosca-parser/toscaparser/extensions
parentbfdb0cd484dbabda2488d16536612dfe6d818a18 (diff)
Add input validation in substitution_mapping class
Add input validation in class of substitution_mapping according to specification of http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/ TOSCA-Simple-Profile-YAML-v1.0.html: 1) The properties of substituted node template which be mapped must be in the inputs of nested service template which defines substutition mappings; 2) The inputs of nested service template which are not in properties of the substituted node template must have default values. 3) If the properties of node_type is required and no default value, must provide inputs for them; 4) Property names and the input names must be the same. JIRA:PARSER-79 Change-Id: Ie4664fe17c8279ad531ac9acec057f98d4e9281a Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser/extensions')
-rw-r--r--tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/data/vRNC/Definitions/vRNC.yaml12
-rw-r--r--tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/test_tosca_vRNC.py6
2 files changed, 16 insertions, 2 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/data/vRNC/Definitions/vRNC.yaml b/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/data/vRNC/Definitions/vRNC.yaml
index 21f79e2..7068c7a 100644
--- a/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/data/vRNC/Definitions/vRNC.yaml
+++ b/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/data/vRNC/Definitions/vRNC.yaml
@@ -71,6 +71,18 @@ topology_template:
description: mm additional block storage size
constraints:
- in_range: [ 1, 200 ]
+ id:
+ type: string
+ description: ID of this VNF
+ default: UMTS
+ vendor:
+ type: string
+ description: name of the vendor who generate this VNF
+ default: ZTE
+ version:
+ type: version
+ description: version of the software for this VNF
+ default: 1.0
substitution_mappings:
node_type: rnc.nodes.VNF
diff --git a/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/test_tosca_vRNC.py b/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/test_tosca_vRNC.py
index c839626..a0ffc21 100644
--- a/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/test_tosca_vRNC.py
+++ b/tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/test_tosca_vRNC.py
@@ -29,8 +29,10 @@ class ToscaVRNCTemplateTest(TestCase):
"tosca_simple_profile_for_nfv_1_0_0")
def test_input(self):
- first_input_name = "mm_storage_size"
- self.assertEqual(self.tosca.inputs[0].name, first_input_name)
+ input_names = sorted(["mm_storage_size", "id",
+ "vendor", "version"])
+ self.assertEqual(sorted([i.name for i in self.tosca.inputs]),
+ input_names)
def test_nodetemplates(self):
expected_node_list = sorted(