Cast is_public, protected, deleted to bool
To keep a consistent view of an image, is_public, protected, and deleted need to be cast to a bool when being parsed from headers. Fix bug 1036299 Change-Id: I2730a0f2d705d26ebc0ba883e99c1caf44d70b51
This commit is contained in:
@@ -57,6 +57,11 @@ class ImageManager(base.Manager):
|
||||
elif key.startswith('x-image-meta-'):
|
||||
_key = key[13:]
|
||||
meta[_key] = value
|
||||
|
||||
for key in ['is_public', 'protected', 'deleted']:
|
||||
if key in meta:
|
||||
meta[key] = utils.string_to_bool(meta[key])
|
||||
|
||||
return self._format_image_meta_for_user(meta)
|
||||
|
||||
def _image_meta_to_headers(self, fields):
|
||||
|
||||
@@ -39,6 +39,9 @@ fixtures = {
|
||||
'min_ram': '512',
|
||||
'min_disk': '10',
|
||||
'properties': {'a': 'b', 'c': 'd'},
|
||||
'is_public': False,
|
||||
'protected': False,
|
||||
'deleted': False,
|
||||
}},
|
||||
),
|
||||
),
|
||||
@@ -141,6 +144,9 @@ fixtures = {
|
||||
'x-image-meta-id': '1',
|
||||
'x-image-meta-name': 'image-1',
|
||||
'x-image-meta-property-arch': 'x86_64',
|
||||
'x-image-meta-is_public': 'false',
|
||||
'x-image-meta-protected': 'false',
|
||||
'x-image-meta-deleted': 'false',
|
||||
},
|
||||
None),
|
||||
'GET': (
|
||||
@@ -160,6 +166,8 @@ fixtures = {
|
||||
'min_ram': '512',
|
||||
'min_disk': '10',
|
||||
'properties': {'a': 'b', 'c': 'd'},
|
||||
'is_public': False,
|
||||
'protected': False,
|
||||
}},
|
||||
),
|
||||
),
|
||||
@@ -246,6 +254,9 @@ class ImageManagerTest(unittest.TestCase):
|
||||
self.assertEqual(self.api.calls, expect)
|
||||
self.assertEqual(image.id, '1')
|
||||
self.assertEqual(image.name, 'image-1')
|
||||
self.assertEqual(image.is_public, False)
|
||||
self.assertEqual(image.protected, False)
|
||||
self.assertEqual(image.deleted, False)
|
||||
|
||||
def test_data(self):
|
||||
data = ''.join([b for b in self.mgr.data('1', do_checksum=False)])
|
||||
@@ -328,6 +339,9 @@ class ImageManagerTest(unittest.TestCase):
|
||||
self.assertEqual(image.size, 1024)
|
||||
self.assertEqual(image.min_ram, 512)
|
||||
self.assertEqual(image.min_disk, 10)
|
||||
self.assertEqual(image.is_public, False)
|
||||
self.assertEqual(image.protected, False)
|
||||
self.assertEqual(image.deleted, False)
|
||||
self.assertEqual(image.properties, {'a': 'b', 'c': 'd'})
|
||||
|
||||
def test_create_with_data(self):
|
||||
|
||||
Reference in New Issue
Block a user