Apply a show_image rule of GET to clients
[GET /resources] methods should be "list_<resource name>s" or "show_<resource name>", so this patch applies the part of the rule to image/compute clients. Partially implements blueprint consistent-service-method-names Change-Id: I08a0a0e9f11fa6c225404cac63c0541dd345e77c
This commit is contained in:
@@ -303,7 +303,7 @@ class BaseComputeTest(tempest.test.BaseTestCase):
|
||||
if 'wait_until' in kwargs:
|
||||
cls.images_client.wait_for_image_status(image_id,
|
||||
kwargs['wait_until'])
|
||||
image = cls.images_client.get_image(image_id)
|
||||
image = cls.images_client.show_image(image_id)
|
||||
|
||||
if kwargs['wait_until'] == 'ACTIVE':
|
||||
if kwargs.get('wait_for_server', True):
|
||||
|
||||
@@ -84,11 +84,11 @@ class ImagesOneServerTestJSON(base.BaseV2ComputeTest):
|
||||
self.client.wait_for_image_status(image_id, 'ACTIVE')
|
||||
|
||||
# Verify the image was created correctly
|
||||
image = self.client.get_image(image_id)
|
||||
image = self.client.show_image(image_id)
|
||||
self.assertEqual(name, image['name'])
|
||||
self.assertEqual('test', image['metadata']['image_type'])
|
||||
|
||||
original_image = self.client.get_image(self.image_ref)
|
||||
original_image = self.client.show_image(self.image_ref)
|
||||
|
||||
# Verify minRAM is the same as the original image
|
||||
self.assertEqual(image['minRam'], original_image['minRam'])
|
||||
|
||||
@@ -140,4 +140,4 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
|
||||
self.client.delete_image(image_id)
|
||||
self.image_ids.remove(image_id)
|
||||
|
||||
self.assertRaises(lib_exc.NotFound, self.client.get_image, image_id)
|
||||
self.assertRaises(lib_exc.NotFound, self.client.show_image, image_id)
|
||||
|
||||
@@ -62,7 +62,7 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
|
||||
image_file = six.StringIO(('*' * 1024))
|
||||
cls.glance_client.update_image(image_id, data=image_file)
|
||||
cls.client.wait_for_image_status(image_id, 'ACTIVE')
|
||||
body = cls.client.get_image(image_id)
|
||||
body = cls.client.show_image(image_id)
|
||||
return body
|
||||
|
||||
# Create non-snapshot images via glance
|
||||
@@ -249,7 +249,7 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
|
||||
# The detailed list of servers should be filtered by image type
|
||||
params = {'type': 'snapshot'}
|
||||
images = self.client.list_images_with_detail(params)
|
||||
self.client.get_image(self.image_ref)
|
||||
self.client.show_image(self.image_ref)
|
||||
|
||||
self.assertTrue(any([i for i in images
|
||||
if i['id'] == self.snapshot1_id]))
|
||||
|
||||
@@ -41,5 +41,5 @@ class ListImageFiltersNegativeTestJSON(base.BaseV2ComputeTest):
|
||||
def test_get_nonexistent_image(self):
|
||||
# Check raises a NotFound
|
||||
nonexistent_image = data_utils.rand_uuid()
|
||||
self.assertRaises(lib_exc.NotFound, self.client.get_image,
|
||||
self.assertRaises(lib_exc.NotFound, self.client.show_image,
|
||||
nonexistent_image)
|
||||
|
||||
@@ -37,7 +37,7 @@ class ListImagesTestJSON(base.BaseV2ComputeTest):
|
||||
@test.idempotent_id('490d0898-e12a-463f-aef0-c50156b9f789')
|
||||
def test_get_image(self):
|
||||
# Returns the correct details for a single image
|
||||
image = self.client.get_image(self.image_ref)
|
||||
image = self.client.show_image(self.image_ref)
|
||||
self.assertEqual(self.image_ref, image['id'])
|
||||
|
||||
@test.idempotent_id('fd51b7f4-d4a3-4331-9885-866658112a6f')
|
||||
|
||||
@@ -56,13 +56,13 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
|
||||
# Do some sanity checks here. If one of the images does
|
||||
# not exist, fail early since the tests won't work...
|
||||
try:
|
||||
cls.images_client.get_image(cls.image_ref)
|
||||
cls.images_client.show_image(cls.image_ref)
|
||||
except lib_exc.NotFound:
|
||||
raise RuntimeError("Image %s (image_ref) was not found!" %
|
||||
cls.image_ref)
|
||||
|
||||
try:
|
||||
cls.images_client.get_image(cls.image_ref_alt)
|
||||
cls.images_client.show_image(cls.image_ref_alt)
|
||||
except lib_exc.NotFound:
|
||||
raise RuntimeError("Image %s (image_ref_alt) was not found!" %
|
||||
cls.image_ref_alt)
|
||||
|
||||
@@ -73,7 +73,7 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
|
||||
image_file = six.StringIO(('*' * 1024))
|
||||
body = cls.glance_client.update_image(image_id, data=image_file)
|
||||
cls.glance_client.wait_for_image_status(image_id, 'active')
|
||||
cls.image = cls.images_client.get_image(image_id)
|
||||
cls.image = cls.images_client.show_image(image_id)
|
||||
|
||||
cls.keypairname = data_utils.rand_name('keypair')
|
||||
cls.keypairs_client.create_keypair(cls.keypairname)
|
||||
@@ -233,7 +233,7 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
|
||||
def test_get_image_for_alt_account_fails(self):
|
||||
# A GET request for an image on another user's account should fail
|
||||
self.assertRaises(lib_exc.NotFound,
|
||||
self.alt_images_client.get_image, self.image['id'])
|
||||
self.alt_images_client.show_image, self.image['id'])
|
||||
|
||||
@test.idempotent_id('9facb962-f043-4a9d-b9ee-166a32dea098')
|
||||
def test_delete_image_for_alt_account_fails(self):
|
||||
|
||||
@@ -28,7 +28,7 @@ class ImageMembersTest(base.BaseV1ImageMembersTest):
|
||||
members = map(lambda x: x['member_id'], members)
|
||||
self.assertIn(self.alt_tenant_id, members)
|
||||
# get image as alt user
|
||||
self.alt_img_cli.get_image(image)
|
||||
self.alt_img_cli.show_image(image)
|
||||
|
||||
@test.idempotent_id('6a5328a5-80e8-4b82-bd32-6c061f128da9')
|
||||
def test_get_shared_images(self):
|
||||
|
||||
@@ -52,5 +52,5 @@ class ImageMembersNegativeTest(base.BaseV1ImageMembersTest):
|
||||
# Image is hidden from another tenants.
|
||||
image_id = self._create_image()
|
||||
self.assertRaises(lib_exc.NotFound,
|
||||
self.alt_img_cli.get_image,
|
||||
self.alt_img_cli.show_image,
|
||||
image_id)
|
||||
|
||||
@@ -77,7 +77,7 @@ class CreateRegisterImagesTest(base.BaseV1ImageTest):
|
||||
self.assertEqual('New Http Image', body.get('name'))
|
||||
self.assertFalse(body.get('is_public'))
|
||||
self.client.wait_for_image_status(image_id, 'active')
|
||||
self.client.get_image(image_id)
|
||||
self.client.show_image(image_id)
|
||||
|
||||
@test.idempotent_id('05b19d55-140c-40d0-b36b-fafd774d421b')
|
||||
def test_register_image_with_min_ram(self):
|
||||
|
||||
@@ -59,7 +59,7 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
|
||||
self.client.store_image(image_id, image_file)
|
||||
|
||||
# Now try to get image details
|
||||
body = self.client.get_image(image_id)
|
||||
body = self.client.show_image(image_id)
|
||||
self.assertEqual(image_id, body['id'])
|
||||
self.assertEqual(image_name, body['name'])
|
||||
self.assertEqual(uuid, body['ramdisk_id'])
|
||||
@@ -118,7 +118,7 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
|
||||
|
||||
# Verifying updating
|
||||
|
||||
body = self.client.get_image(image_id)
|
||||
body = self.client.show_image(image_id)
|
||||
self.assertEqual(image_id, body['id'])
|
||||
self.assertEqual(new_image_name, body['name'])
|
||||
|
||||
@@ -203,7 +203,7 @@ class ListImagesTest(base.BaseV2ImageTest):
|
||||
# Test to get all images by size
|
||||
image_id = self.created_images[1]
|
||||
# Get image metadata
|
||||
image = self.client.get_image(image_id)
|
||||
image = self.client.show_image(image_id)
|
||||
|
||||
params = {"size": image['size']}
|
||||
self._list_by_param_value_and_assert(params)
|
||||
@@ -213,7 +213,7 @@ class ListImagesTest(base.BaseV2ImageTest):
|
||||
# Test to get all images with size between 2000 to 3000
|
||||
image_id = self.created_images[1]
|
||||
# Get image metadata
|
||||
image = self.client.get_image(image_id)
|
||||
image = self.client.show_image(image_id)
|
||||
|
||||
size = image['size']
|
||||
params = {"size_min": size - 500, "size_max": size + 500}
|
||||
|
||||
@@ -25,7 +25,7 @@ from tempest import test
|
||||
class ImagesNegativeTest(base.BaseV2ImageTest):
|
||||
|
||||
"""
|
||||
here we have -ve tests for get_image and delete_image api
|
||||
here we have -ve tests for show_image and delete_image api
|
||||
|
||||
Tests
|
||||
** get non-existent image
|
||||
@@ -41,7 +41,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest):
|
||||
def test_get_non_existent_image(self):
|
||||
# get the non-existent image
|
||||
non_existent_id = str(uuid.uuid4())
|
||||
self.assertRaises(lib_exc.NotFound, self.client.get_image,
|
||||
self.assertRaises(lib_exc.NotFound, self.client.show_image,
|
||||
non_existent_id)
|
||||
|
||||
@test.attr(type=['negative'])
|
||||
@@ -49,7 +49,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest):
|
||||
def test_get_image_null_id(self):
|
||||
# get image with image_id = NULL
|
||||
image_id = ""
|
||||
self.assertRaises(lib_exc.NotFound, self.client.get_image, image_id)
|
||||
self.assertRaises(lib_exc.NotFound, self.client.show_image, image_id)
|
||||
|
||||
@test.attr(type=['negative'])
|
||||
@test.idempotent_id('e57fc127-7ba0-4693-92d7-1d8a05ebcba9')
|
||||
@@ -64,7 +64,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest):
|
||||
self.client.wait_for_resource_deletion(image_id)
|
||||
|
||||
# get the deleted image
|
||||
self.assertRaises(lib_exc.NotFound, self.client.get_image, image_id)
|
||||
self.assertRaises(lib_exc.NotFound, self.client.show_image, image_id)
|
||||
|
||||
# delete the deleted image
|
||||
self.assertRaises(lib_exc.NotFound, self.client.delete_image,
|
||||
|
||||
@@ -31,10 +31,10 @@ class ImagesTagsTest(base.BaseV2ImageTest):
|
||||
|
||||
# Creating image tag and verify it.
|
||||
self.client.add_image_tag(image_id, tag)
|
||||
body = self.client.get_image(image_id)
|
||||
body = self.client.show_image(image_id)
|
||||
self.assertIn(tag, body['tags'])
|
||||
|
||||
# Deleting image tag and verify it.
|
||||
self.client.delete_image_tag(image_id, tag)
|
||||
body = self.client.get_image(image_id)
|
||||
body = self.client.show_image(image_id)
|
||||
self.assertNotIn(tag, body['tags'])
|
||||
|
||||
@@ -99,15 +99,15 @@ def wait_for_server_status(client, server_id, status, ready_wait=True,
|
||||
def wait_for_image_status(client, image_id, status):
|
||||
"""Waits for an image to reach a given status.
|
||||
|
||||
The client should have a get_image(image_id) method to get the image.
|
||||
The client should have a show_image(image_id) method to get the image.
|
||||
The client should also have build_interval and build_timeout attributes.
|
||||
"""
|
||||
image = client.get_image(image_id)
|
||||
image = client.show_image(image_id)
|
||||
start = int(time.time())
|
||||
|
||||
while image['status'] != status:
|
||||
time.sleep(client.build_interval)
|
||||
image = client.get_image(image_id)
|
||||
image = client.show_image(image_id)
|
||||
status_curr = image['status']
|
||||
if status_curr == 'ERROR':
|
||||
raise exceptions.AddImageException(image_id=image_id)
|
||||
|
||||
@@ -44,7 +44,7 @@ class ImageUtils(object):
|
||||
self.flavors_client = os.flavors_client
|
||||
|
||||
def ssh_user(self, image_id):
|
||||
_image = self.images_client.get_image(image_id)
|
||||
_image = self.images_client.show_image(image_id)
|
||||
for regex, user in self.ssh_users:
|
||||
# First match wins
|
||||
if re.match(regex, _image['name']) is not None:
|
||||
@@ -57,14 +57,14 @@ class ImageUtils(object):
|
||||
string=str(image['name']))
|
||||
|
||||
def is_sshable_image(self, image_id):
|
||||
_image = self.images_client.get_image(image_id)
|
||||
_image = self.images_client.show_image(image_id)
|
||||
return self._is_sshable_image(_image)
|
||||
|
||||
def _is_flavor_enough(self, flavor, image):
|
||||
return image['minDisk'] <= flavor['disk']
|
||||
|
||||
def is_flavor_enough(self, flavor_id, image_id):
|
||||
_image = self.images_client.get_image(image_id)
|
||||
_image = self.images_client.show_image(image_id)
|
||||
_flavor = self.flavors_client.get_flavor_details(flavor_id)
|
||||
return self._is_flavor_enough(_flavor, _image)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ class ImagesClientJSON(service_client.ServiceClient):
|
||||
self.validate_response(schema.list_images_details, resp, body)
|
||||
return service_client.ResponseBodyList(resp, body['images'])
|
||||
|
||||
def get_image(self, image_id):
|
||||
def show_image(self, image_id):
|
||||
"""Returns the details of a single image."""
|
||||
resp, body = self.get("images/%s" % str(image_id))
|
||||
self.expected_success(200, resp.status)
|
||||
@@ -131,7 +131,7 @@ class ImagesClientJSON(service_client.ServiceClient):
|
||||
|
||||
def is_resource_deleted(self, id):
|
||||
try:
|
||||
self.get_image(id)
|
||||
self.show_image(id)
|
||||
except lib_exc.NotFound:
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -240,7 +240,7 @@ class ImageClientJSON(service_client.ServiceClient):
|
||||
body = self._image_meta_from_headers(resp)
|
||||
return service_client.ResponseBody(resp, body)
|
||||
|
||||
def get_image(self, image_id):
|
||||
def show_image(self, image_id):
|
||||
url = 'v1/images/%s' % image_id
|
||||
resp, body = self.get(url)
|
||||
self.expected_success(200, resp.status)
|
||||
|
||||
@@ -114,7 +114,7 @@ class ImageClientV2JSON(service_client.ServiceClient):
|
||||
self._validate_schema(body, type='images')
|
||||
return service_client.ResponseBodyList(resp, body['images'])
|
||||
|
||||
def get_image(self, image_id):
|
||||
def show_image(self, image_id):
|
||||
url = 'v2/images/%s' % image_id
|
||||
resp, body = self.get(url)
|
||||
self.expected_success(200, resp.status)
|
||||
@@ -123,7 +123,7 @@ class ImageClientV2JSON(service_client.ServiceClient):
|
||||
|
||||
def is_resource_deleted(self, id):
|
||||
try:
|
||||
self.get_image(id)
|
||||
self.show_image(id)
|
||||
except lib_exc.NotFound:
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -29,7 +29,7 @@ class TestImageWaiters(base.TestCase):
|
||||
self.client.build_interval = 1
|
||||
|
||||
def test_wait_for_image_status(self):
|
||||
self.client.get_image.return_value = ({'status': 'active'})
|
||||
self.client.show_image.return_value = ({'status': 'active'})
|
||||
start_time = int(time.time())
|
||||
waiters.wait_for_image_status(self.client, 'fake_image_id', 'active')
|
||||
end_time = int(time.time())
|
||||
@@ -37,13 +37,13 @@ class TestImageWaiters(base.TestCase):
|
||||
self.assertTrue((end_time - start_time) < 10)
|
||||
|
||||
def test_wait_for_image_status_timeout(self):
|
||||
self.client.get_image.return_value = ({'status': 'saving'})
|
||||
self.client.show_image.return_value = ({'status': 'saving'})
|
||||
self.assertRaises(exceptions.TimeoutException,
|
||||
waiters.wait_for_image_status,
|
||||
self.client, 'fake_image_id', 'active')
|
||||
|
||||
def test_wait_for_image_status_error_on_image_create(self):
|
||||
self.client.get_image.return_value = ({'status': 'ERROR'})
|
||||
self.client.show_image.return_value = ({'status': 'ERROR'})
|
||||
self.assertRaises(exceptions.AddImageException,
|
||||
waiters.wait_for_image_status,
|
||||
self.client, 'fake_image_id', 'active')
|
||||
|
||||
Reference in New Issue
Block a user