Merge "Allow updating empty created v2 images from v1"
This commit is contained in:
@@ -99,7 +99,7 @@ class ImageManager(base.Manager):
|
|||||||
for key in ['size', 'min_ram', 'min_disk']:
|
for key in ['size', 'min_ram', 'min_disk']:
|
||||||
if key in meta:
|
if key in meta:
|
||||||
try:
|
try:
|
||||||
meta[key] = int(meta[key])
|
meta[key] = int(meta[key]) if meta[key] else 0
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
return meta
|
return meta
|
||||||
|
@@ -358,6 +358,32 @@ fixtures = {
|
|||||||
'ZZZ',
|
'ZZZ',
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
'/v1/images/v2_created_img': {
|
||||||
|
'PUT': (
|
||||||
|
{},
|
||||||
|
json.dumps({
|
||||||
|
"image": {
|
||||||
|
"status": "queued",
|
||||||
|
"deleted": False,
|
||||||
|
"container_format": "bare",
|
||||||
|
"min_ram": 0,
|
||||||
|
"updated_at": "2013-12-20T01:51:45",
|
||||||
|
"owner": "foo",
|
||||||
|
"min_disk": 0,
|
||||||
|
"is_public": False,
|
||||||
|
"deleted_at": None,
|
||||||
|
"id": "v2_created_img",
|
||||||
|
"size": None,
|
||||||
|
"name": "bar",
|
||||||
|
"checksum": None,
|
||||||
|
"created_at": "2013-12-20T01:50:38",
|
||||||
|
"disk_format": "qcow2",
|
||||||
|
"properties": {},
|
||||||
|
"protected": False
|
||||||
|
}
|
||||||
|
})
|
||||||
|
),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -651,6 +677,26 @@ class ImageManagerTest(testtools.TestCase):
|
|||||||
self.assertEqual(image_list[3].id, 'c')
|
self.assertEqual(image_list[3].id, 'c')
|
||||||
self.assertEqual(len(image_list), 4)
|
self.assertEqual(len(image_list), 4)
|
||||||
|
|
||||||
|
def test_update_v2_created_image_using_v1(self):
|
||||||
|
fields_to_update = {
|
||||||
|
'name': 'bar',
|
||||||
|
'container_format': 'bare',
|
||||||
|
'disk_format': 'qcow2',
|
||||||
|
}
|
||||||
|
image = self.mgr.update('v2_created_img', **fields_to_update)
|
||||||
|
expect_hdrs = {
|
||||||
|
'x-image-meta-name': 'bar',
|
||||||
|
'x-image-meta-container_format': 'bare',
|
||||||
|
'x-image-meta-disk_format': 'qcow2',
|
||||||
|
}
|
||||||
|
expect = [('PUT', '/v1/images/v2_created_img', expect_hdrs, None)]
|
||||||
|
self.assertEqual(self.api.calls, expect)
|
||||||
|
self.assertEqual(image.id, 'v2_created_img')
|
||||||
|
self.assertEqual(image.name, 'bar')
|
||||||
|
self.assertEqual(image.size, 0)
|
||||||
|
self.assertEqual(image.container_format, 'bare')
|
||||||
|
self.assertEqual(image.disk_format, 'qcow2')
|
||||||
|
|
||||||
|
|
||||||
class ImageTest(testtools.TestCase):
|
class ImageTest(testtools.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
Reference in New Issue
Block a user