diff options
author | shangxdy <shang.xiaodong@zte.com.cn> | 2016-08-14 02:16:28 +0800 |
---|---|---|
committer | shangxdy <shang.xiaodong@zte.com.cn> | 2016-08-14 23:30:24 +0800 |
commit | 5559b0c06930deb1c7831efe599a1036574f50b3 (patch) | |
tree | eae0c84222cec4a15b1b5ae46656aeb157c01bbe /tosca2heat/tosca-parser/toscaparser/extensions | |
parent | bfdb0cd484dbabda2488d16536612dfe6d818a18 (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.yaml | 12 | ||||
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/extensions/nfv/tests/test_tosca_vRNC.py | 6 |
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( |