diff options
author | shangxdy <shang.xiaodong@zte.com.cn> | 2016-06-15 01:40:50 +0800 |
---|---|---|
committer | shangxdy <shang.xiaodong@zte.com.cn> | 2016-06-15 01:40:50 +0800 |
commit | 9c1920c1d2b8946abb68b109597d181a7690bc9f (patch) | |
tree | f0a9323d8ef7ef6b89b0a7b655bc95294fdf437f /tosca2heat/tosca-parser/toscaparser | |
parent | 37c637988622dde3425390fb861800ffdaf2b6cb (diff) |
The relationship type's parent_type definition is not complete
1. Relationship type define parent_type, but it shall include custom def,
so the method of is_derived_from in group entity may be error when it's called.
2. The bug will submit to openstack community.
Change-Id: Ia12b18543e3b1d28bfb946abd11b546a9eba9669
JIRA: PARSER-55
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser')
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/elements/relationshiptype.py | 2 | ||||
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/tests/test_toscatpl.py | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/elements/relationshiptype.py b/tosca2heat/tosca-parser/toscaparser/elements/relationshiptype.py index 9462d38..25440ca 100644 --- a/tosca2heat/tosca-parser/toscaparser/elements/relationshiptype.py +++ b/tosca2heat/tosca-parser/toscaparser/elements/relationshiptype.py @@ -26,7 +26,7 @@ class RelationshipType(StatefulEntityType): '''Return a relationship this reletionship is derived from.''' prel = self.derived_from(self.defs) if prel: - return RelationshipType(prel) + return RelationshipType(prel, self.custom_def) @property def valid_target_types(self): diff --git a/tosca2heat/tosca-parser/toscaparser/tests/test_toscatpl.py b/tosca2heat/tosca-parser/toscaparser/tests/test_toscatpl.py index 3fd49bf..564f4cd 100644 --- a/tosca2heat/tosca-parser/toscaparser/tests/test_toscatpl.py +++ b/tosca2heat/tosca-parser/toscaparser/tests/test_toscatpl.py @@ -211,6 +211,10 @@ class ToscaTemplateTest(TestCase): for key in relation.keys(): rel_tpl = relation.get(key).get_relationship_template() if rel_tpl: + self.assertEqual( + rel_tpl[0].type, "tosca.relationships.ConnectsTo") + self.assertTrue(rel_tpl[0].is_derived_from( + "tosca.relationships.Root")) interfaces = rel_tpl[0].interfaces for interface in interfaces: self.assertEqual(config_interface, @@ -728,5 +732,7 @@ class ToscaTemplateTest(TestCase): "data/test_tosca_custom_rel_with_script.yaml") tosca = ToscaTemplate(tosca_tpl) rel = tosca.relationship_templates[0] + self.assertEqual(rel.type, "tosca.relationships.HostedOn") + self.assertTrue(rel.is_derived_from("tosca.relationships.Root")) self.assertEqual(len(rel.interfaces), 1) self.assertEqual(rel.interfaces[0].type, "Configure") |