summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser/toscaparser
diff options
context:
space:
mode:
authorshangxdy <shang.xiaodong@zte.com.cn>2016-06-15 01:40:50 +0800
committershangxdy <shang.xiaodong@zte.com.cn>2016-06-15 01:40:50 +0800
commit9c1920c1d2b8946abb68b109597d181a7690bc9f (patch)
treef0a9323d8ef7ef6b89b0a7b655bc95294fdf437f /tosca2heat/tosca-parser/toscaparser
parent37c637988622dde3425390fb861800ffdaf2b6cb (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.py2
-rw-r--r--tosca2heat/tosca-parser/toscaparser/tests/test_toscatpl.py6
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")