Use __iter__ method of Attributes class in __repr__ method
Join method expects list, but six.itervalues(self._attributes) returns a Attribute instance, so we should use own __iter__ method for building list of values. Closes-Bug: #1473974 Change-Id: I7c5d4a5a8d0142156c3416347940b9e90ed8df5c
This commit is contained in:
parent
5a4a738bcb
commit
658d61ecee
|
@ -233,7 +233,7 @@ class Attributes(collections.Mapping):
|
|||
|
||||
def __repr__(self):
|
||||
return ("Attributes for %s:\n\t" % self._resource_name +
|
||||
'\n\t'.join(six.itervalues(self._attributes)))
|
||||
'\n\t'.join(six.itervalues(self)))
|
||||
|
||||
|
||||
def select_from_attribute(attribute_value, path):
|
||||
|
|
|
@ -110,6 +110,15 @@ class AttributesTest(common.HeatTestCase):
|
|||
test_resolver)
|
||||
self.assertEqual("value1", attribs['test1'])
|
||||
|
||||
def test_attributes_representation(self):
|
||||
"""Test that attributes are displayed correct."""
|
||||
test_resolver = lambda x: "value1"
|
||||
attribs = attributes.Attributes('test resource',
|
||||
self.attributes_schema,
|
||||
test_resolver)
|
||||
msg = 'Attributes for test resource:\n\tvalue1\n\tvalue1\n\tvalue1'
|
||||
self.assertEqual(msg, str(attribs))
|
||||
|
||||
def test_get_attribute_none(self):
|
||||
"""Test that we get the attribute values we expect."""
|
||||
test_resolver = lambda x: None
|
||||
|
|
Loading…
Reference in New Issue