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