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:
Ken'ichi Ohmichi
2015-05-22 01:10:03 +00:00
parent e3acc12f61
commit 5d410761ce
20 changed files with 39 additions and 39 deletions

View File

@@ -303,7 +303,7 @@ class BaseComputeTest(tempest.test.BaseTestCase):
if 'wait_until' in kwargs: if 'wait_until' in kwargs:
cls.images_client.wait_for_image_status(image_id, cls.images_client.wait_for_image_status(image_id,
kwargs['wait_until']) 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['wait_until'] == 'ACTIVE':
if kwargs.get('wait_for_server', True): if kwargs.get('wait_for_server', True):

View File

@@ -84,11 +84,11 @@ class ImagesOneServerTestJSON(base.BaseV2ComputeTest):
self.client.wait_for_image_status(image_id, 'ACTIVE') self.client.wait_for_image_status(image_id, 'ACTIVE')
# Verify the image was created correctly # 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(name, image['name'])
self.assertEqual('test', image['metadata']['image_type']) 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 # Verify minRAM is the same as the original image
self.assertEqual(image['minRam'], original_image['minRam']) self.assertEqual(image['minRam'], original_image['minRam'])

View File

@@ -140,4 +140,4 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
self.client.delete_image(image_id) self.client.delete_image(image_id)
self.image_ids.remove(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)

View File

@@ -62,7 +62,7 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
image_file = six.StringIO(('*' * 1024)) image_file = six.StringIO(('*' * 1024))
cls.glance_client.update_image(image_id, data=image_file) cls.glance_client.update_image(image_id, data=image_file)
cls.client.wait_for_image_status(image_id, 'ACTIVE') 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 return body
# Create non-snapshot images via glance # 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 # The detailed list of servers should be filtered by image type
params = {'type': 'snapshot'} params = {'type': 'snapshot'}
images = self.client.list_images_with_detail(params) 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 self.assertTrue(any([i for i in images
if i['id'] == self.snapshot1_id])) if i['id'] == self.snapshot1_id]))

View File

@@ -41,5 +41,5 @@ class ListImageFiltersNegativeTestJSON(base.BaseV2ComputeTest):
def test_get_nonexistent_image(self): def test_get_nonexistent_image(self):
# Check raises a NotFound # Check raises a NotFound
nonexistent_image = data_utils.rand_uuid() 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) nonexistent_image)

View File

@@ -37,7 +37,7 @@ class ListImagesTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('490d0898-e12a-463f-aef0-c50156b9f789') @test.idempotent_id('490d0898-e12a-463f-aef0-c50156b9f789')
def test_get_image(self): def test_get_image(self):
# Returns the correct details for a single image # 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']) self.assertEqual(self.image_ref, image['id'])
@test.idempotent_id('fd51b7f4-d4a3-4331-9885-866658112a6f') @test.idempotent_id('fd51b7f4-d4a3-4331-9885-866658112a6f')

View File

@@ -56,13 +56,13 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
# Do some sanity checks here. If one of the images does # Do some sanity checks here. If one of the images does
# not exist, fail early since the tests won't work... # not exist, fail early since the tests won't work...
try: try:
cls.images_client.get_image(cls.image_ref) cls.images_client.show_image(cls.image_ref)
except lib_exc.NotFound: except lib_exc.NotFound:
raise RuntimeError("Image %s (image_ref) was not found!" % raise RuntimeError("Image %s (image_ref) was not found!" %
cls.image_ref) cls.image_ref)
try: try:
cls.images_client.get_image(cls.image_ref_alt) cls.images_client.show_image(cls.image_ref_alt)
except lib_exc.NotFound: except lib_exc.NotFound:
raise RuntimeError("Image %s (image_ref_alt) was not found!" % raise RuntimeError("Image %s (image_ref_alt) was not found!" %
cls.image_ref_alt) cls.image_ref_alt)

View File

@@ -73,7 +73,7 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
image_file = six.StringIO(('*' * 1024)) image_file = six.StringIO(('*' * 1024))
body = cls.glance_client.update_image(image_id, data=image_file) body = cls.glance_client.update_image(image_id, data=image_file)
cls.glance_client.wait_for_image_status(image_id, 'active') 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.keypairname = data_utils.rand_name('keypair')
cls.keypairs_client.create_keypair(cls.keypairname) cls.keypairs_client.create_keypair(cls.keypairname)
@@ -233,7 +233,7 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
def test_get_image_for_alt_account_fails(self): def test_get_image_for_alt_account_fails(self):
# A GET request for an image on another user's account should fail # A GET request for an image on another user's account should fail
self.assertRaises(lib_exc.NotFound, 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') @test.idempotent_id('9facb962-f043-4a9d-b9ee-166a32dea098')
def test_delete_image_for_alt_account_fails(self): def test_delete_image_for_alt_account_fails(self):

View File

@@ -28,7 +28,7 @@ class ImageMembersTest(base.BaseV1ImageMembersTest):
members = map(lambda x: x['member_id'], members) members = map(lambda x: x['member_id'], members)
self.assertIn(self.alt_tenant_id, members) self.assertIn(self.alt_tenant_id, members)
# get image as alt user # 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') @test.idempotent_id('6a5328a5-80e8-4b82-bd32-6c061f128da9')
def test_get_shared_images(self): def test_get_shared_images(self):

View File

@@ -52,5 +52,5 @@ class ImageMembersNegativeTest(base.BaseV1ImageMembersTest):
# Image is hidden from another tenants. # Image is hidden from another tenants.
image_id = self._create_image() image_id = self._create_image()
self.assertRaises(lib_exc.NotFound, self.assertRaises(lib_exc.NotFound,
self.alt_img_cli.get_image, self.alt_img_cli.show_image,
image_id) image_id)

View File

@@ -77,7 +77,7 @@ class CreateRegisterImagesTest(base.BaseV1ImageTest):
self.assertEqual('New Http Image', body.get('name')) self.assertEqual('New Http Image', body.get('name'))
self.assertFalse(body.get('is_public')) self.assertFalse(body.get('is_public'))
self.client.wait_for_image_status(image_id, 'active') 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') @test.idempotent_id('05b19d55-140c-40d0-b36b-fafd774d421b')
def test_register_image_with_min_ram(self): def test_register_image_with_min_ram(self):

View File

@@ -59,7 +59,7 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
self.client.store_image(image_id, image_file) self.client.store_image(image_id, image_file)
# Now try to get image details # 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_id, body['id'])
self.assertEqual(image_name, body['name']) self.assertEqual(image_name, body['name'])
self.assertEqual(uuid, body['ramdisk_id']) self.assertEqual(uuid, body['ramdisk_id'])
@@ -118,7 +118,7 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
# Verifying updating # Verifying updating
body = self.client.get_image(image_id) body = self.client.show_image(image_id)
self.assertEqual(image_id, body['id']) self.assertEqual(image_id, body['id'])
self.assertEqual(new_image_name, body['name']) self.assertEqual(new_image_name, body['name'])
@@ -203,7 +203,7 @@ class ListImagesTest(base.BaseV2ImageTest):
# Test to get all images by size # Test to get all images by size
image_id = self.created_images[1] image_id = self.created_images[1]
# Get image metadata # Get image metadata
image = self.client.get_image(image_id) image = self.client.show_image(image_id)
params = {"size": image['size']} params = {"size": image['size']}
self._list_by_param_value_and_assert(params) 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 # Test to get all images with size between 2000 to 3000
image_id = self.created_images[1] image_id = self.created_images[1]
# Get image metadata # Get image metadata
image = self.client.get_image(image_id) image = self.client.show_image(image_id)
size = image['size'] size = image['size']
params = {"size_min": size - 500, "size_max": size + 500} params = {"size_min": size - 500, "size_max": size + 500}

View File

@@ -25,7 +25,7 @@ from tempest import test
class ImagesNegativeTest(base.BaseV2ImageTest): 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 Tests
** get non-existent image ** get non-existent image
@@ -41,7 +41,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest):
def test_get_non_existent_image(self): def test_get_non_existent_image(self):
# get the non-existent image # get the non-existent image
non_existent_id = str(uuid.uuid4()) 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) non_existent_id)
@test.attr(type=['negative']) @test.attr(type=['negative'])
@@ -49,7 +49,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest):
def test_get_image_null_id(self): def test_get_image_null_id(self):
# get image with image_id = NULL # get image with image_id = NULL
image_id = "" 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.attr(type=['negative'])
@test.idempotent_id('e57fc127-7ba0-4693-92d7-1d8a05ebcba9') @test.idempotent_id('e57fc127-7ba0-4693-92d7-1d8a05ebcba9')
@@ -64,7 +64,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest):
self.client.wait_for_resource_deletion(image_id) self.client.wait_for_resource_deletion(image_id)
# get the deleted image # 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 # delete the deleted image
self.assertRaises(lib_exc.NotFound, self.client.delete_image, self.assertRaises(lib_exc.NotFound, self.client.delete_image,

View File

@@ -31,10 +31,10 @@ class ImagesTagsTest(base.BaseV2ImageTest):
# Creating image tag and verify it. # Creating image tag and verify it.
self.client.add_image_tag(image_id, tag) 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']) self.assertIn(tag, body['tags'])
# Deleting image tag and verify it. # Deleting image tag and verify it.
self.client.delete_image_tag(image_id, tag) 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']) self.assertNotIn(tag, body['tags'])

View File

@@ -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): def wait_for_image_status(client, image_id, status):
"""Waits for an image to reach a given 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. 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()) start = int(time.time())
while image['status'] != status: while image['status'] != status:
time.sleep(client.build_interval) time.sleep(client.build_interval)
image = client.get_image(image_id) image = client.show_image(image_id)
status_curr = image['status'] status_curr = image['status']
if status_curr == 'ERROR': if status_curr == 'ERROR':
raise exceptions.AddImageException(image_id=image_id) raise exceptions.AddImageException(image_id=image_id)

View File

@@ -44,7 +44,7 @@ class ImageUtils(object):
self.flavors_client = os.flavors_client self.flavors_client = os.flavors_client
def ssh_user(self, image_id): 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: for regex, user in self.ssh_users:
# First match wins # First match wins
if re.match(regex, _image['name']) is not None: if re.match(regex, _image['name']) is not None:
@@ -57,14 +57,14 @@ class ImageUtils(object):
string=str(image['name'])) string=str(image['name']))
def is_sshable_image(self, image_id): 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) return self._is_sshable_image(_image)
def _is_flavor_enough(self, flavor, image): def _is_flavor_enough(self, flavor, image):
return image['minDisk'] <= flavor['disk'] return image['minDisk'] <= flavor['disk']
def is_flavor_enough(self, flavor_id, image_id): 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) _flavor = self.flavors_client.get_flavor_details(flavor_id)
return self._is_flavor_enough(_flavor, _image) return self._is_flavor_enough(_flavor, _image)

View File

@@ -65,7 +65,7 @@ class ImagesClientJSON(service_client.ServiceClient):
self.validate_response(schema.list_images_details, resp, body) self.validate_response(schema.list_images_details, resp, body)
return service_client.ResponseBodyList(resp, body['images']) 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.""" """Returns the details of a single image."""
resp, body = self.get("images/%s" % str(image_id)) resp, body = self.get("images/%s" % str(image_id))
self.expected_success(200, resp.status) self.expected_success(200, resp.status)
@@ -131,7 +131,7 @@ class ImagesClientJSON(service_client.ServiceClient):
def is_resource_deleted(self, id): def is_resource_deleted(self, id):
try: try:
self.get_image(id) self.show_image(id)
except lib_exc.NotFound: except lib_exc.NotFound:
return True return True
return False return False

View File

@@ -240,7 +240,7 @@ class ImageClientJSON(service_client.ServiceClient):
body = self._image_meta_from_headers(resp) body = self._image_meta_from_headers(resp)
return service_client.ResponseBody(resp, body) return service_client.ResponseBody(resp, body)
def get_image(self, image_id): def show_image(self, image_id):
url = 'v1/images/%s' % image_id url = 'v1/images/%s' % image_id
resp, body = self.get(url) resp, body = self.get(url)
self.expected_success(200, resp.status) self.expected_success(200, resp.status)

View File

@@ -114,7 +114,7 @@ class ImageClientV2JSON(service_client.ServiceClient):
self._validate_schema(body, type='images') self._validate_schema(body, type='images')
return service_client.ResponseBodyList(resp, body['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 url = 'v2/images/%s' % image_id
resp, body = self.get(url) resp, body = self.get(url)
self.expected_success(200, resp.status) self.expected_success(200, resp.status)
@@ -123,7 +123,7 @@ class ImageClientV2JSON(service_client.ServiceClient):
def is_resource_deleted(self, id): def is_resource_deleted(self, id):
try: try:
self.get_image(id) self.show_image(id)
except lib_exc.NotFound: except lib_exc.NotFound:
return True return True
return False return False

View File

@@ -29,7 +29,7 @@ class TestImageWaiters(base.TestCase):
self.client.build_interval = 1 self.client.build_interval = 1
def test_wait_for_image_status(self): 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()) start_time = int(time.time())
waiters.wait_for_image_status(self.client, 'fake_image_id', 'active') waiters.wait_for_image_status(self.client, 'fake_image_id', 'active')
end_time = int(time.time()) end_time = int(time.time())
@@ -37,13 +37,13 @@ class TestImageWaiters(base.TestCase):
self.assertTrue((end_time - start_time) < 10) self.assertTrue((end_time - start_time) < 10)
def test_wait_for_image_status_timeout(self): 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, self.assertRaises(exceptions.TimeoutException,
waiters.wait_for_image_status, waiters.wait_for_image_status,
self.client, 'fake_image_id', 'active') self.client, 'fake_image_id', 'active')
def test_wait_for_image_status_error_on_image_create(self): 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, self.assertRaises(exceptions.AddImageException,
waiters.wait_for_image_status, waiters.wait_for_image_status,
self.client, 'fake_image_id', 'active') self.client, 'fake_image_id', 'active')