Merge "Change name-value pairs to name-object pairs in the dictoinary"
This commit is contained in:
commit
fe9ea1a40c
@ -27,19 +27,19 @@ class Capability(object):
|
|||||||
props = self._properties
|
props = self._properties
|
||||||
if props:
|
if props:
|
||||||
for name, value in props.items():
|
for name, value in props.items():
|
||||||
for p in self.definition.get_properties_def_objects():
|
props_def = self.definition.get_properties_def()
|
||||||
if p.name == name:
|
if name in props_def:
|
||||||
properties.append(Property(name, value, p.schema))
|
properties.append(Property(name, value,
|
||||||
break
|
props_def[name].schema))
|
||||||
return properties
|
return properties
|
||||||
|
|
||||||
def get_properties(self):
|
def get_properties(self):
|
||||||
'''Return a dictionary of property name-value pairs.'''
|
'''Return a dictionary of property name-object pairs.'''
|
||||||
return {prop.name: prop.value
|
return {prop.name: prop
|
||||||
for prop in self.get_properties_objects()}
|
for prop in self.get_properties_objects()}
|
||||||
|
|
||||||
def get_property(self, name):
|
def get_property_value(self, name):
|
||||||
'''Return the value of a given property name.'''
|
'''Return the value of a given property name.'''
|
||||||
props = self.get_properties()
|
props = self.get_properties()
|
||||||
if name in props:
|
if name in props:
|
||||||
return props[name]
|
return props[name].value
|
||||||
|
@ -44,15 +44,15 @@ class CapabilityTypeDef(StatefulEntityType):
|
|||||||
return properties
|
return properties
|
||||||
|
|
||||||
def get_properties_def(self):
|
def get_properties_def(self):
|
||||||
'''Return a dictionary of property definition objects.'''
|
'''Return a dictionary of property definition name-object pairs.'''
|
||||||
return {prop.name: prop.value
|
return {prop.name: prop
|
||||||
for prop in self.get_properties_def_objects()}
|
for prop in self.get_properties_def_objects()}
|
||||||
|
|
||||||
def get_property_def(self, name):
|
def get_property_def_value(self, name):
|
||||||
'''Return the definition of a given property.'''
|
'''Return the definition of a given property name.'''
|
||||||
props_def = self.get_properties_def()
|
props_def = self.get_properties_def()
|
||||||
if name in props_def:
|
if name in props_def:
|
||||||
return props_def[name]
|
return props_def[name].value
|
||||||
|
|
||||||
def _get_parent_capabilities(self):
|
def _get_parent_capabilities(self):
|
||||||
capabilities = {}
|
capabilities = {}
|
||||||
|
@ -51,15 +51,15 @@ class StatefulEntityType(EntityType):
|
|||||||
return properties
|
return properties
|
||||||
|
|
||||||
def get_properties_def(self):
|
def get_properties_def(self):
|
||||||
'''Return a dictionary of property definition objects.'''
|
'''Return a dictionary of property definition name-object pairs.'''
|
||||||
return {prop.name: prop.value
|
return {prop.name: prop
|
||||||
for prop in self.get_properties_def_objects()}
|
for prop in self.get_properties_def_objects()}
|
||||||
|
|
||||||
def get_property_def(self, name):
|
def get_property_def_value(self, name):
|
||||||
'''Return the property definition associated with a given name.'''
|
'''Return the property definition associated with a given name.'''
|
||||||
props_def = self.get_properties_def()
|
props_def = self.get_properties_def()
|
||||||
if name in props_def:
|
if name in props_def:
|
||||||
return props_def[name]
|
return props_def[name].value
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def attributes_def(self):
|
def attributes_def(self):
|
||||||
|
@ -176,9 +176,10 @@ class EntityTemplate(object):
|
|||||||
properties = self.type_definition.get_value(self.PROPERTIES,
|
properties = self.type_definition.get_value(self.PROPERTIES,
|
||||||
self.entity_tpl) or {}
|
self.entity_tpl) or {}
|
||||||
for name, value in properties.items():
|
for name, value in properties.items():
|
||||||
for p in self.type_definition.get_properties_def_objects():
|
props_def = self.type_definition.get_properties_def()
|
||||||
if p.name == name:
|
if name in props_def:
|
||||||
prop = Property(name, value, p.schema, self.custom_def)
|
prop = Property(name, value,
|
||||||
|
props_def[name].schema, self.custom_def)
|
||||||
props.append(prop)
|
props.append(prop)
|
||||||
for p in self.type_definition.get_properties_def_objects():
|
for p in self.type_definition.get_properties_def_objects():
|
||||||
if p.default is not None and p.name not in properties.keys():
|
if p.default is not None and p.name not in properties.keys():
|
||||||
|
@ -261,7 +261,7 @@ class GetProperty(Function):
|
|||||||
property = None
|
property = None
|
||||||
props = cap.get_properties()
|
props = cap.get_properties()
|
||||||
if property_name in props:
|
if property_name in props:
|
||||||
property = props[property_name]
|
property = props[property_name].value
|
||||||
if not property:
|
if not property:
|
||||||
raise KeyError(_(
|
raise KeyError(_(
|
||||||
"Property '{0}' not found in capability '{1}' of node"
|
"Property '{0}' not found in capability '{1}' of node"
|
||||||
|
@ -93,7 +93,7 @@ class ToscaDefTest(TestCase):
|
|||||||
property_def = None
|
property_def = None
|
||||||
for cap in caps:
|
for cap in caps:
|
||||||
if cap.type == type:
|
if cap.type == type:
|
||||||
property_def = cap.get_property_def(property)
|
property_def = cap.get_property_def_value(property)
|
||||||
break
|
break
|
||||||
return property_def
|
return property_def
|
||||||
|
|
||||||
|
@ -109,22 +109,24 @@ class ToscaTemplateTest(TestCase):
|
|||||||
self.assertEqual(property.value, 4096)
|
self.assertEqual(property.value, 4096)
|
||||||
'''Test capability'''
|
'''Test capability'''
|
||||||
self.assertIn('os', [cap.name for cap in tpl.capabilities])
|
self.assertIn('os', [cap.name for cap in tpl.capabilities])
|
||||||
os_properties_objects = None
|
os_props_objs = None
|
||||||
os_properties = None
|
os_props = None
|
||||||
os_type_property = None
|
os_type_prop = None
|
||||||
for capability in tpl.capabilities:
|
for capability in tpl.capabilities:
|
||||||
if capability.name == 'os':
|
if capability.name == 'os':
|
||||||
os_properties_objects = \
|
os_props_objs = \
|
||||||
capability.get_properties_objects()
|
capability.get_properties_objects()
|
||||||
os_properties = capability.get_properties()
|
os_props = capability.get_properties()
|
||||||
os_type_property = capability.get_property('type')
|
os_type_prop = capability.get_property_value('type')
|
||||||
break
|
break
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
['Linux'],
|
['Linux'],
|
||||||
[p.value for p in os_properties_objects
|
[p.value for p in os_props_objs if p.name == 'type'])
|
||||||
if p.name == 'type'])
|
self.assertEqual(
|
||||||
self.assertEqual('Linux', os_properties['type'])
|
'Linux',
|
||||||
self.assertEqual('Linux', os_type_property)
|
os_props['type'].value if 'type' in os_props else '')
|
||||||
|
self.assertEqual('Linux', os_props['type'].value)
|
||||||
|
self.assertEqual('Linux', os_type_prop)
|
||||||
|
|
||||||
def test_outputs(self):
|
def test_outputs(self):
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user