diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-09 10:59:41 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-09 10:59:41 +0000 |
commit | f84e49db5a455b36901b642125b5cf850f90c81d (patch) | |
tree | 8dd13203f41cfc27c42bd0c1359e6bf7c7480ae5 | |
parent | 9924aaa3f185824779e4a3aab90b6a37802c114a (diff) | |
parent | 374d50a56e2c6883798ddb4391ba52eb004adddd (diff) | |
download | glance-f84e49db5a455b36901b642125b5cf850f90c81d.tar.gz |
Merge "Creating metadef object without any properties"
-rw-r--r-- | glance/notifier.py | 3 | ||||
-rwxr-xr-x | glance/tests/unit/v2/test_metadef_resources.py | 21 |
2 files changed, 22 insertions, 2 deletions
diff --git a/glance/notifier.py b/glance/notifier.py index 457580a93..8cf19a88a 100644 --- a/glance/notifier.py +++ b/glance/notifier.py @@ -166,8 +166,9 @@ def format_metadef_namespace_notification(metadef_namespace): def format_metadef_object_notification(metadef_object): + object_properties = metadef_object.properties or {} properties = [] - for name, prop in six.iteritems(metadef_object.properties): + for name, prop in six.iteritems(object_properties): object_property = _format_metadef_object_property(name, prop) properties.append(object_property) diff --git a/glance/tests/unit/v2/test_metadef_resources.py b/glance/tests/unit/v2/test_metadef_resources.py index 90a4ca6a8..e45bc0aa2 100755 --- a/glance/tests/unit/v2/test_metadef_resources.py +++ b/glance/tests/unit/v2/test_metadef_resources.py @@ -1250,7 +1250,8 @@ class TestMetadefsControllers(base.IsolatedUnitTest): self.assertEqual({}, object.properties) self.assertNotificationLog("metadef_object.create", [{'name': OBJECT2, - 'namespace': NAMESPACE1}]) + 'namespace': NAMESPACE1, + 'properties': []}]) object = self.object_controller.show(request, NAMESPACE1, OBJECT2) self.assertEqual(OBJECT2, object.name) self.assertEqual([], object.required) @@ -1315,6 +1316,24 @@ class TestMetadefsControllers(base.IsolatedUnitTest): self.assertEqual([], object.required) self.assertEqual({}, object.properties) + def test_object_create_missing_properties(self): + request = unit_test_utils.get_fake_request() + + object = glance.api.v2.model.metadef_object.MetadefObject() + object.name = OBJECT2 + object.required = [] + object = self.object_controller.create(request, object, NAMESPACE1) + self.assertEqual(OBJECT2, object.name) + self.assertEqual([], object.required) + self.assertNotificationLog("metadef_object.create", + [{'name': OBJECT2, + 'namespace': NAMESPACE1, + 'properties': []}]) + object = self.object_controller.show(request, NAMESPACE1, OBJECT2) + self.assertEqual(OBJECT2, object.name) + self.assertEqual([], object.required) + self.assertEqual({}, object.properties) + def test_object_update(self): request = unit_test_utils.get_fake_request(tenant=TENANT3) |