Merge "Port store image to Python 3"

This commit is contained in:
Jenkins 2015-10-05 14:12:33 +00:00 committed by Gerrit Code Review
commit 39c73e0cec
3 changed files with 22 additions and 11 deletions

@ -235,31 +235,38 @@ class StoreLocations(collections.MutableSequence):
[location])
def __delitem__(self, i):
if isinstance(i, slice):
if i.step not in (None, 1):
raise NotImplementedError("slice with step")
self.__delslice__(i.start, i.stop)
return
location = None
try:
location = self.value.__getitem__(i)
location = self.value[i]
except Exception:
return self.value.__delitem__(i)
del self.value[i]
return
self.image_proxy.store_utils.delete_image_location_from_backend(
self.image_proxy.context,
self.image_proxy.image.image_id,
location)
self.value.__delitem__(i)
del self.value[i]
def __delslice__(self, i, j):
i = max(i, 0)
j = max(j, 0)
locations = []
try:
locations = self.value.__getslice__(i, j)
locations = self.value[i:j]
except Exception:
return self.value.__delslice__(i, j)
del self.value[i:j]
return
for location in locations:
self.image_proxy.store_utils.delete_image_location_from_backend(
self.image_proxy.context,
self.image_proxy.image.image_id,
location)
self.value.__delitem__(i)
del self.value[i]
def __iadd__(self, other):
self.extend(other)
@ -280,6 +287,9 @@ class StoreLocations(collections.MutableSequence):
def __cmp__(self, other):
return cmp(self.value, self.__cast(other))
def __eq__(self, other):
return self.value == self.__cast(other)
def __iter__(self):
return iter(self.value)

@ -285,7 +285,7 @@ class TestStoreImage(utils.BaseTestCase):
# in Location proxy layer. Complete test rule for
# 'store.check_location_metadata()' testing please
# check below cases within 'TestStoreMetaDataChecker'.
location_bad = {'url': UUID3, 'metadata': "a invalid metadata"}
location_bad = {'url': UUID3, 'metadata': b"a invalid metadata"}
self.assertRaises(glance_store.BackendException,
image1.locations.append, location_bad)
@ -374,7 +374,7 @@ class TestStoreImage(utils.BaseTestCase):
(image1, image_stub1) = self._add_image(context, UUID2, 'XXXX', 4)
(image2, image_stub2) = self._add_image(context, UUID3, 'YYYY', 4)
location_bad = {'url': UUID3, 'metadata': "a invalid metadata"}
location_bad = {'url': UUID3, 'metadata': b"a invalid metadata"}
self.assertRaises(glance_store.BackendException,
image1.locations.extend, [location_bad])
@ -476,7 +476,7 @@ class TestStoreImage(utils.BaseTestCase):
(image1, image_stub1) = self._add_image(context, UUID2, 'XXXX', 4)
(image2, image_stub2) = self._add_image(context, UUID3, 'YYYY', 4)
location_bad = {'url': UUID3, 'metadata': "a invalid metadata"}
location_bad = {'url': UUID3, 'metadata': b"a invalid metadata"}
self.assertRaises(glance_store.BackendException,
image1.locations.insert, 0, location_bad)
@ -570,7 +570,7 @@ class TestStoreImage(utils.BaseTestCase):
image2 = glance.location.ImageProxy(image_stub2, context,
self.store_api, self.store_utils)
location_bad = {'url': UUID2, 'metadata': "a invalid metadata"}
location_bad = {'url': UUID2, 'metadata': b"a invalid metadata"}
self.assertRaises(glance_store.BackendException,
image2.locations.__iadd__, [location_bad])
@ -980,7 +980,7 @@ class TestStoreAddToBackend(utils.BaseTestCase):
self._good_metadata(m)
def test_bad_top_level_nonunicode(self):
metadata = {'key': 'a string'}
metadata = {'key': b'a string'}
self._bad_metadata(metadata)
def test_bad_nonunicode_dict_list(self):

@ -48,6 +48,7 @@ commands =
glance.tests.unit.test_schema \
glance.tests.unit.test_scrubber \
glance.tests.unit.test_store_artifact \
glance.tests.unit.test_store_image \
glance.tests.unit.test_store_location \
glance.tests.unit.test_versions