summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-04-09 10:59:41 +0000
committerGerrit Code Review <review@openstack.org>2015-04-09 10:59:41 +0000
commitf84e49db5a455b36901b642125b5cf850f90c81d (patch)
tree8dd13203f41cfc27c42bd0c1359e6bf7c7480ae5
parent9924aaa3f185824779e4a3aab90b6a37802c114a (diff)
parent374d50a56e2c6883798ddb4391ba52eb004adddd (diff)
downloadglance-f84e49db5a455b36901b642125b5cf850f90c81d.tar.gz
Merge "Creating metadef object without any properties"
-rw-r--r--glance/notifier.py3
-rwxr-xr-xglance/tests/unit/v2/test_metadef_resources.py21
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)