Merge "Initialize objects field in ObjectsListBase class"
This commit is contained in:
@@ -505,6 +505,12 @@ class ObjectListBase(object):
|
|||||||
# requested of the list object.
|
# requested of the list object.
|
||||||
child_versions = {}
|
child_versions = {}
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(ObjectListBase, self).__init__(*args, **kwargs)
|
||||||
|
if 'objects' not in kwargs:
|
||||||
|
self.objects = []
|
||||||
|
self._changed_fields.discard('objects')
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
"""List iterator interface."""
|
"""List iterator interface."""
|
||||||
return iter(self.objects)
|
return iter(self.objects)
|
||||||
|
|||||||
@@ -812,6 +812,17 @@ class TestObjectListBase(test.TestCase):
|
|||||||
# This should now look clean because the child is clean
|
# This should now look clean because the child is clean
|
||||||
self.assertEqual(set(), obj.obj_what_changed())
|
self.assertEqual(set(), obj.obj_what_changed())
|
||||||
|
|
||||||
|
def test_initialize_objects(self):
|
||||||
|
class Foo(base.ObjectListBase, base.NovaObject):
|
||||||
|
fields = {'objects': fields.ListOfObjectsField('Bar')}
|
||||||
|
|
||||||
|
class Bar(base.NovaObject):
|
||||||
|
fields = {'foo': fields.StringField()}
|
||||||
|
|
||||||
|
obj = Foo()
|
||||||
|
self.assertEqual([], obj.objects)
|
||||||
|
self.assertEqual(set(), obj.obj_what_changed())
|
||||||
|
|
||||||
|
|
||||||
class TestObjectSerializer(_BaseTestCase):
|
class TestObjectSerializer(_BaseTestCase):
|
||||||
def test_serialize_entity_primitive(self):
|
def test_serialize_entity_primitive(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user