Remove redundant setup_client method
Those clients are already initialized in BaseV2ComputeTest class BaseV2ComputeAdminTest class. In addition, it is more clear to use the original client name. The client name 'client' is too much general compare to 'flavors_client' and 'admin_flavors_client'. Change-Id: Ifbd687a7c1c99ff4652c7596d85eda404a3120ae
This commit is contained in:
1 parent
488ea09008
commit
eb829d46c0
6 files changed
+148
-156
No files matched your search
@@ -32,12 +32,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
msg = "OS-FLV-EXT-DATA extension not enabled."
|
||||
raise cls.skipException(msg)
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(FlavorsAdminTestJSON, cls).setup_clients()
|
||||
cls.client = cls.os_adm.flavors_client
|
||||
cls.user_client = cls.os.flavors_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(FlavorsAdminTestJSON, cls).resource_setup()
|
||||
@@ -94,7 +88,8 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
rxtx_factor=self.rxtx)
|
||||
flag = False
|
||||
# Verify flavor is retrieved
|
||||
flavors = self.client.list_flavors(detail=True)['flavors']
|
||||
flavors = self.admin_flavors_client.list_flavors(
|
||||
detail=True)['flavors']
|
||||
for flavor in flavors:
|
||||
if flavor['name'] == flavor_name:
|
||||
flag = True
|
||||
@@ -128,13 +123,13 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
verify_flavor_response_extension(flavor)
|
||||
|
||||
# Verify flavor is retrieved
|
||||
flavor = self.client.show_flavor(new_flavor_id)['flavor']
|
||||
flavor = self.admin_flavors_client.show_flavor(new_flavor_id)['flavor']
|
||||
self.assertEqual(flavor['name'], flavor_name)
|
||||
verify_flavor_response_extension(flavor)
|
||||
|
||||
# Check if flavor is present in list
|
||||
flag = False
|
||||
flavors = self.user_client.list_flavors(detail=True)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True)['flavors']
|
||||
for flavor in flavors:
|
||||
if flavor['name'] == flavor_name:
|
||||
verify_flavor_response_extension(flavor)
|
||||
@@ -156,7 +151,8 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
is_public="False")
|
||||
# Verify flavor is retrieved
|
||||
flag = False
|
||||
flavors = self.client.list_flavors(detail=True)['flavors']
|
||||
flavors = self.admin_flavors_client.list_flavors(
|
||||
detail=True)['flavors']
|
||||
for flavor in flavors:
|
||||
if flavor['name'] == flavor_name:
|
||||
flag = True
|
||||
@@ -164,7 +160,7 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
# Verify flavor is not retrieved with other user
|
||||
flag = False
|
||||
flavors = self.user_client.list_flavors(detail=True)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True)['flavors']
|
||||
for flavor in flavors:
|
||||
if flavor['name'] == flavor_name:
|
||||
flag = True
|
||||
@@ -195,9 +191,8 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
disk=self.disk,
|
||||
is_public="True")
|
||||
flag = False
|
||||
self.new_client = self.flavors_client
|
||||
# Verify flavor is retrieved with new user
|
||||
flavors = self.new_client.list_flavors(detail=True)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True)['flavors']
|
||||
for flavor in flavors:
|
||||
if flavor['name'] == flavor_name:
|
||||
flag = True
|
||||
@@ -229,7 +224,8 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
def _test_string_variations(variations, flavor_name):
|
||||
for string in variations:
|
||||
params = {'is_public': string}
|
||||
flavors = (self.client.list_flavors(detail=True, **params)
|
||||
flavors = (self.admin_flavors_client.list_flavors(detail=True,
|
||||
**params)
|
||||
['flavors'])
|
||||
flavor = _flavor_lookup(flavors, flavor_name)
|
||||
self.assertIsNotNone(flavor)
|
||||
|
||||
@@ -32,11 +32,6 @@ class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
|
||||
msg = "OS-FLV-EXT-DATA extension not enabled."
|
||||
raise cls.skipException(msg)
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(FlavorsAccessTestJSON, cls).setup_clients()
|
||||
cls.client = cls.os_adm.flavors_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(FlavorsAccessTestJSON, cls).resource_setup()
|
||||
@@ -54,14 +49,16 @@ class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# private flavor will return an empty access list
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
flavor_access = (self.client.list_flavor_access(new_flavor_id)
|
||||
['flavor_access'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
flavor_access = (self.admin_flavors_client.list_flavor_access(
|
||||
new_flavor_id)['flavor_access'])
|
||||
self.assertEqual(len(flavor_access), 0, str(flavor_access))
|
||||
|
||||
@decorators.idempotent_id('59e622f6-bdf6-45e3-8ba8-fedad905a6b4')
|
||||
@@ -69,20 +66,21 @@ class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Test to add and remove flavor access to a given tenant.
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
# Add flavor access to a tenant.
|
||||
resp_body = {
|
||||
"tenant_id": str(self.tenant_id),
|
||||
"flavor_id": str(new_flavor['id']),
|
||||
}
|
||||
add_body = (self.client.add_flavor_access(new_flavor['id'],
|
||||
self.tenant_id)
|
||||
['flavor_access'])
|
||||
add_body = (self.admin_flavors_client.add_flavor_access(
|
||||
new_flavor['id'], self.tenant_id)['flavor_access'])
|
||||
self.assertIn(resp_body, add_body)
|
||||
|
||||
# The flavor is present in list.
|
||||
@@ -90,9 +88,8 @@ class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
|
||||
self.assertIn(new_flavor['id'], map(lambda x: x['id'], flavors))
|
||||
|
||||
# Remove flavor access from a tenant.
|
||||
remove_body = (self.client.remove_flavor_access(new_flavor['id'],
|
||||
self.tenant_id)
|
||||
['flavor_access'])
|
||||
remove_body = (self.admin_flavors_client.remove_flavor_access(
|
||||
new_flavor['id'], self.tenant_id)['flavor_access'])
|
||||
self.assertNotIn(resp_body, remove_body)
|
||||
|
||||
# The flavor is not present in list.
|
||||
|
||||
@@ -33,11 +33,6 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
msg = "OS-FLV-EXT-DATA extension not enabled."
|
||||
raise cls.skipException(msg)
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(FlavorsAccessNegativeTestJSON, cls).setup_clients()
|
||||
cls.client = cls.os_adm.flavors_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(FlavorsAccessNegativeTestJSON, cls).resource_setup()
|
||||
@@ -54,14 +49,16 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Test to list flavor access with exceptions by querying public flavor
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='True')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='True')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
self.assertRaises(lib_exc.NotFound,
|
||||
self.client.list_flavor_access,
|
||||
self.admin_flavors_client.list_flavor_access,
|
||||
new_flavor_id)
|
||||
|
||||
@test.attr(type=['negative'])
|
||||
@@ -70,12 +67,14 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Test to add flavor access as a user without admin privileges.
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
self.assertRaises(lib_exc.Forbidden,
|
||||
self.flavors_client.add_flavor_access,
|
||||
new_flavor['id'],
|
||||
@@ -87,15 +86,18 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Test to remove flavor access as a user without admin privileges.
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
# Add flavor access to a tenant.
|
||||
self.client.add_flavor_access(new_flavor['id'], self.tenant_id)
|
||||
self.addCleanup(self.client.remove_flavor_access,
|
||||
self.admin_flavors_client.add_flavor_access(new_flavor['id'],
|
||||
self.tenant_id)
|
||||
self.addCleanup(self.admin_flavors_client.remove_flavor_access,
|
||||
new_flavor['id'], self.tenant_id)
|
||||
self.assertRaises(lib_exc.Forbidden,
|
||||
self.flavors_client.remove_flavor_access,
|
||||
@@ -108,22 +110,25 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Create a new flavor.
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
|
||||
# Add flavor access to a tenant.
|
||||
self.client.add_flavor_access(new_flavor['id'], self.tenant_id)
|
||||
self.addCleanup(self.client.remove_flavor_access,
|
||||
self.admin_flavors_client.add_flavor_access(new_flavor['id'],
|
||||
self.tenant_id)
|
||||
self.addCleanup(self.admin_flavors_client.remove_flavor_access,
|
||||
new_flavor['id'], self.tenant_id)
|
||||
|
||||
# An exception should be raised when adding flavor access to the same
|
||||
# tenant
|
||||
self.assertRaises(lib_exc.Conflict,
|
||||
self.client.add_flavor_access,
|
||||
self.admin_flavors_client.add_flavor_access,
|
||||
new_flavor['id'],
|
||||
self.tenant_id)
|
||||
|
||||
@@ -133,15 +138,17 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Create a new flavor.
|
||||
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
|
||||
new_flavor_id = data_utils.rand_int_id(start=1000)
|
||||
new_flavor = self.client.create_flavor(name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.client.delete_flavor, new_flavor['id'])
|
||||
new_flavor = self.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=self.ram, vcpus=self.vcpus,
|
||||
disk=self.disk,
|
||||
id=new_flavor_id,
|
||||
is_public='False')['flavor']
|
||||
self.addCleanup(self.admin_flavors_client.delete_flavor,
|
||||
new_flavor['id'])
|
||||
|
||||
# An exception should be raised when flavor access is not found
|
||||
self.assertRaises(lib_exc.NotFound,
|
||||
self.client.remove_flavor_access,
|
||||
self.admin_flavors_client.remove_flavor_access,
|
||||
new_flavor['id'],
|
||||
data_utils.rand_uuid())
|
||||
@@ -33,11 +33,6 @@ class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
|
||||
msg = "OS-FLV-EXT-DATA extension not enabled."
|
||||
raise cls.skipException(msg)
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(FlavorsExtraSpecsTestJSON, cls).setup_clients()
|
||||
cls.client = cls.os_adm.flavors_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(FlavorsExtraSpecsTestJSON, cls).resource_setup()
|
||||
@@ -50,18 +45,19 @@ class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
|
||||
swap = 1024
|
||||
rxtx = 1
|
||||
# Create a flavor so as to set/get/unset extra specs
|
||||
cls.flavor = cls.client.create_flavor(name=flavor_name,
|
||||
ram=ram, vcpus=vcpus,
|
||||
disk=disk,
|
||||
id=cls.new_flavor_id,
|
||||
ephemeral=ephemeral,
|
||||
swap=swap,
|
||||
rxtx_factor=rxtx)['flavor']
|
||||
cls.flavor = cls.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=ram, vcpus=vcpus,
|
||||
disk=disk,
|
||||
id=cls.new_flavor_id,
|
||||
ephemeral=ephemeral,
|
||||
swap=swap,
|
||||
rxtx_factor=rxtx)['flavor']
|
||||
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
cls.client.delete_flavor(cls.flavor['id'])
|
||||
cls.client.wait_for_resource_deletion(cls.flavor['id'])
|
||||
cls.admin_flavors_client.delete_flavor(cls.flavor['id'])
|
||||
cls.admin_flavors_client.wait_for_resource_deletion(cls.flavor['id'])
|
||||
super(FlavorsExtraSpecsTestJSON, cls).resource_cleanup()
|
||||
|
||||
@decorators.idempotent_id('0b2f9d4b-1ca2-4b99-bb40-165d4bb94208')
|
||||
@@ -71,46 +67,47 @@ class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Assigning extra specs values that are to be set
|
||||
specs = {"key1": "value1", "key2": "value2"}
|
||||
# SET extra specs to the flavor created in setUp
|
||||
set_body = self.client.set_flavor_extra_spec(self.flavor['id'],
|
||||
**specs)['extra_specs']
|
||||
set_body = self.admin_flavors_client.set_flavor_extra_spec(
|
||||
self.flavor['id'], **specs)['extra_specs']
|
||||
self.assertEqual(set_body, specs)
|
||||
# GET extra specs and verify
|
||||
get_body = (self.client.list_flavor_extra_specs(self.flavor['id'])
|
||||
['extra_specs'])
|
||||
get_body = (self.admin_flavors_client.list_flavor_extra_specs(
|
||||
self.flavor['id'])['extra_specs'])
|
||||
self.assertEqual(get_body, specs)
|
||||
|
||||
# UPDATE the value of the extra specs key1
|
||||
update_body = \
|
||||
self.client.update_flavor_extra_spec(self.flavor['id'],
|
||||
"key1",
|
||||
key1="value")
|
||||
self.admin_flavors_client.update_flavor_extra_spec(
|
||||
self.flavor['id'], "key1", key1="value")
|
||||
self.assertEqual({"key1": "value"}, update_body)
|
||||
|
||||
# GET extra specs and verify the value of the key2
|
||||
# is the same as before
|
||||
get_body = (self.client.list_flavor_extra_specs(self.flavor['id'])
|
||||
['extra_specs'])
|
||||
get_body = (self.admin_flavors_client.list_flavor_extra_specs(
|
||||
self.flavor['id'])['extra_specs'])
|
||||
self.assertEqual(get_body, {"key1": "value", "key2": "value2"})
|
||||
|
||||
# UNSET extra specs that were set in this test
|
||||
self.client.unset_flavor_extra_spec(self.flavor['id'], "key1")
|
||||
self.client.unset_flavor_extra_spec(self.flavor['id'], "key2")
|
||||
self.admin_flavors_client.unset_flavor_extra_spec(self.flavor['id'],
|
||||
"key1")
|
||||
self.admin_flavors_client.unset_flavor_extra_spec(self.flavor['id'],
|
||||
"key2")
|
||||
|
||||
@decorators.idempotent_id('a99dad88-ae1c-4fba-aeb4-32f898218bd0')
|
||||
def test_flavor_non_admin_get_all_keys(self):
|
||||
specs = {"key1": "value1", "key2": "value2"}
|
||||
self.client.set_flavor_extra_spec(self.flavor['id'], **specs)
|
||||
body = (self.flavors_client.list_flavor_extra_specs(self.flavor['id'])
|
||||
['extra_specs'])
|
||||
self.admin_flavors_client.set_flavor_extra_spec(self.flavor['id'],
|
||||
**specs)
|
||||
body = (self.flavors_client.list_flavor_extra_specs(
|
||||
self.flavor['id'])['extra_specs'])
|
||||
|
||||
for key in specs:
|
||||
self.assertEqual(body[key], specs[key])
|
||||
|
||||
@decorators.idempotent_id('12805a7f-39a3-4042-b989-701d5cad9c90')
|
||||
def test_flavor_non_admin_get_specific_key(self):
|
||||
body = self.client.set_flavor_extra_spec(self.flavor['id'],
|
||||
key1="value1",
|
||||
key2="value2")['extra_specs']
|
||||
body = self.admin_flavors_client.set_flavor_extra_spec(
|
||||
self.flavor['id'], key1="value1", key2="value2")['extra_specs']
|
||||
self.assertEqual(body['key1'], 'value1')
|
||||
self.assertIn('key2', body)
|
||||
body = self.flavors_client.show_flavor_extra_spec(
|
||||
|
||||
@@ -34,11 +34,6 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
msg = "OS-FLV-EXT-DATA extension not enabled."
|
||||
raise cls.skipException(msg)
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(FlavorsExtraSpecsNegativeTestJSON, cls).setup_clients()
|
||||
cls.client = cls.os_adm.flavors_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(FlavorsExtraSpecsNegativeTestJSON, cls).resource_setup()
|
||||
@@ -52,18 +47,19 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
swap = 1024
|
||||
rxtx = 1
|
||||
# Create a flavor
|
||||
cls.flavor = cls.client.create_flavor(name=flavor_name,
|
||||
ram=ram, vcpus=vcpus,
|
||||
disk=disk,
|
||||
id=cls.new_flavor_id,
|
||||
ephemeral=ephemeral,
|
||||
swap=swap,
|
||||
rxtx_factor=rxtx)['flavor']
|
||||
cls.flavor = cls.admin_flavors_client.create_flavor(
|
||||
name=flavor_name,
|
||||
ram=ram, vcpus=vcpus,
|
||||
disk=disk,
|
||||
id=cls.new_flavor_id,
|
||||
ephemeral=ephemeral,
|
||||
swap=swap,
|
||||
rxtx_factor=rxtx)['flavor']
|
||||
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
cls.client.delete_flavor(cls.flavor['id'])
|
||||
cls.client.wait_for_resource_deletion(cls.flavor['id'])
|
||||
cls.admin_flavors_client.delete_flavor(cls.flavor['id'])
|
||||
cls.admin_flavors_client.wait_for_resource_deletion(cls.flavor['id'])
|
||||
super(FlavorsExtraSpecsNegativeTestJSON, cls).resource_cleanup()
|
||||
|
||||
@test.attr(type=['negative'])
|
||||
@@ -79,7 +75,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
@decorators.idempotent_id('1ebf4ef8-759e-48fe-a801-d451d80476fb')
|
||||
def test_flavor_non_admin_update_specific_key(self):
|
||||
# non admin user is not allowed to update flavor extra spec
|
||||
body = self.client.set_flavor_extra_spec(
|
||||
body = self.admin_flavors_client.set_flavor_extra_spec(
|
||||
self.flavor['id'], key1="value1", key2="value2")['extra_specs']
|
||||
self.assertEqual(body['key1'], 'value1')
|
||||
self.assertRaises(lib_exc.Forbidden,
|
||||
@@ -92,8 +88,8 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
@test.attr(type=['negative'])
|
||||
@decorators.idempotent_id('28f12249-27c7-44c1-8810-1f382f316b11')
|
||||
def test_flavor_non_admin_unset_keys(self):
|
||||
self.client.set_flavor_extra_spec(self.flavor['id'],
|
||||
key1="value1", key2="value2")
|
||||
self.admin_flavors_client.set_flavor_extra_spec(
|
||||
self.flavor['id'], key1="value1", key2="value2")
|
||||
|
||||
self.assertRaises(lib_exc.Forbidden,
|
||||
self.flavors_client.unset_flavor_extra_spec,
|
||||
@@ -104,7 +100,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
@decorators.idempotent_id('440b9f3f-3c7f-4293-a106-0ceda350f8de')
|
||||
def test_flavor_unset_nonexistent_key(self):
|
||||
self.assertRaises(lib_exc.NotFound,
|
||||
self.client.unset_flavor_extra_spec,
|
||||
self.admin_flavors_client.unset_flavor_extra_spec,
|
||||
self.flavor['id'],
|
||||
'nonexistent_key')
|
||||
|
||||
@@ -121,7 +117,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
def test_flavor_update_mismatch_key(self):
|
||||
# the key will be updated should be match the key in the body
|
||||
self.assertRaises(lib_exc.BadRequest,
|
||||
self.client.update_flavor_extra_spec,
|
||||
self.admin_flavors_client.update_flavor_extra_spec,
|
||||
self.flavor['id'],
|
||||
"key2",
|
||||
key1="value")
|
||||
@@ -131,7 +127,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
|
||||
def test_flavor_update_more_key(self):
|
||||
# there should be just one item in the request body
|
||||
self.assertRaises(lib_exc.BadRequest,
|
||||
self.client.update_flavor_extra_spec,
|
||||
self.admin_flavors_client.update_flavor_extra_spec,
|
||||
self.flavor['id'],
|
||||
"key1",
|
||||
key1="value",
|
||||
|
||||
@@ -22,17 +22,12 @@ class FlavorsV2TestJSON(base.BaseV2ComputeTest):
|
||||
_min_disk = 'minDisk'
|
||||
_min_ram = 'minRam'
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(FlavorsV2TestJSON, cls).setup_clients()
|
||||
cls.client = cls.flavors_client
|
||||
|
||||
@test.attr(type='smoke')
|
||||
@decorators.idempotent_id('e36c0eaa-dff5-4082-ad1f-3f9a80aa3f59')
|
||||
def test_list_flavors(self):
|
||||
# List of all flavors should contain the expected flavor
|
||||
flavors = self.client.list_flavors()['flavors']
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavors = self.flavors_client.list_flavors()['flavors']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_min_detail = {'id': flavor['id'], 'links': flavor['links'],
|
||||
'name': flavor['name']}
|
||||
self.assertIn(flavor_min_detail, flavors)
|
||||
@@ -40,89 +35,93 @@ class FlavorsV2TestJSON(base.BaseV2ComputeTest):
|
||||
@decorators.idempotent_id('6e85fde4-b3cd-4137-ab72-ed5f418e8c24')
|
||||
def test_list_flavors_with_detail(self):
|
||||
# Detailed list of all flavors should contain the expected flavor
|
||||
flavors = self.client.list_flavors(detail=True)['flavors']
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavors = self.flavors_client.list_flavors(detail=True)['flavors']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
self.assertIn(flavor, flavors)
|
||||
|
||||
@test.attr(type='smoke')
|
||||
@decorators.idempotent_id('1f12046b-753d-40d2-abb6-d8eb8b30cb2f')
|
||||
def test_get_flavor(self):
|
||||
# The expected flavor details should be returned
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
self.assertEqual(self.flavor_ref, flavor['id'])
|
||||
|
||||
@decorators.idempotent_id('8d7691b3-6ed4-411a-abc9-2839a765adab')
|
||||
def test_list_flavors_limit_results(self):
|
||||
# Only the expected number of flavors should be returned
|
||||
params = {'limit': 1}
|
||||
flavors = self.client.list_flavors(**params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(**params)['flavors']
|
||||
self.assertEqual(1, len(flavors))
|
||||
|
||||
@decorators.idempotent_id('b26f6327-2886-467a-82be-cef7a27709cb')
|
||||
def test_list_flavors_detailed_limit_results(self):
|
||||
# Only the expected number of flavors (detailed) should be returned
|
||||
params = {'limit': 1}
|
||||
flavors = self.client.list_flavors(detail=True, **params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True,
|
||||
**params)['flavors']
|
||||
self.assertEqual(1, len(flavors))
|
||||
|
||||
@decorators.idempotent_id('e800f879-9828-4bd0-8eae-4f17189951fb')
|
||||
def test_list_flavors_using_marker(self):
|
||||
# The list of flavors should start from the provided marker
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_id = flavor['id']
|
||||
|
||||
params = {'marker': flavor_id}
|
||||
flavors = self.client.list_flavors(**params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(**params)['flavors']
|
||||
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]),
|
||||
'The list of flavors did not start after the marker.')
|
||||
|
||||
@decorators.idempotent_id('6db2f0c0-ddee-4162-9c84-0703d3dd1107')
|
||||
def test_list_flavors_detailed_using_marker(self):
|
||||
# The list of flavors should start from the provided marker
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_id = flavor['id']
|
||||
|
||||
params = {'marker': flavor_id}
|
||||
flavors = self.client.list_flavors(detail=True, **params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True,
|
||||
**params)['flavors']
|
||||
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]),
|
||||
'The list of flavors did not start after the marker.')
|
||||
|
||||
@decorators.idempotent_id('3df2743e-3034-4e57-a4cb-b6527f6eac79')
|
||||
def test_list_flavors_detailed_filter_by_min_disk(self):
|
||||
# The detailed list of flavors should be filtered by disk space
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_id = flavor['id']
|
||||
|
||||
params = {self._min_disk: flavor['disk'] + 1}
|
||||
flavors = self.client.list_flavors(detail=True, **params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True,
|
||||
**params)['flavors']
|
||||
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
|
||||
|
||||
@decorators.idempotent_id('09fe7509-b4ee-4b34-bf8b-39532dc47292')
|
||||
def test_list_flavors_detailed_filter_by_min_ram(self):
|
||||
# The detailed list of flavors should be filtered by RAM
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_id = flavor['id']
|
||||
|
||||
params = {self._min_ram: flavor['ram'] + 1}
|
||||
flavors = self.client.list_flavors(detail=True, **params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(detail=True,
|
||||
**params)['flavors']
|
||||
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
|
||||
|
||||
@decorators.idempotent_id('10645a4d-96f5-443f-831b-730711e11dd4')
|
||||
def test_list_flavors_filter_by_min_disk(self):
|
||||
# The list of flavors should be filtered by disk space
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_id = flavor['id']
|
||||
|
||||
params = {self._min_disk: flavor['disk'] + 1}
|
||||
flavors = self.client.list_flavors(**params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(**params)['flavors']
|
||||
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
|
||||
|
||||
@decorators.idempotent_id('935cf550-e7c8-4da6-8002-00f92d5edfaa')
|
||||
def test_list_flavors_filter_by_min_ram(self):
|
||||
# The list of flavors should be filtered by RAM
|
||||
flavor = self.client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
|
||||
flavor_id = flavor['id']
|
||||
|
||||
params = {self._min_ram: flavor['ram'] + 1}
|
||||
flavors = self.client.list_flavors(**params)['flavors']
|
||||
flavors = self.flavors_client.list_flavors(**params)['flavors']
|
||||
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
|
||||
Reference in new issue
Block a user