Merge "Initialize objects field in ObjectsListBase class"
This commit is contained in:
		@@ -505,6 +505,12 @@ class ObjectListBase(object):
 | 
			
		||||
    # requested of the list object.
 | 
			
		||||
    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):
 | 
			
		||||
        """List iterator interface."""
 | 
			
		||||
        return iter(self.objects)
 | 
			
		||||
 
 | 
			
		||||
@@ -812,6 +812,17 @@ class TestObjectListBase(test.TestCase):
 | 
			
		||||
        # This should now look clean because the child is clean
 | 
			
		||||
        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):
 | 
			
		||||
    def test_serialize_entity_primitive(self):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user