Merge "Adding description for testcases - compute part3"
diff --git a/tempest/api/compute/admin/test_floating_ips_bulk.py b/tempest/api/compute/admin/test_floating_ips_bulk.py
index 2d7e1a7..786c7f0 100644
--- a/tempest/api/compute/admin/test_floating_ips_bulk.py
+++ b/tempest/api/compute/admin/test_floating_ips_bulk.py
@@ -63,7 +63,7 @@
@decorators.idempotent_id('2c8f145f-8012-4cb8-ac7e-95a587f0e4ab')
@utils.services('network')
def test_create_list_delete_floating_ips_bulk(self):
- # Create, List and delete the Floating IPs Bulk
+ """Creating, listing and deleting the Floating IPs Bulk"""
pool = 'test_pool'
# NOTE(GMann): Reserving the IP range but those are not attached
# anywhere. Using the below mentioned interface which is not ever
diff --git a/tempest/api/compute/admin/test_hosts.py b/tempest/api/compute/admin/test_hosts.py
index 31fe2b5..30f3388 100644
--- a/tempest/api/compute/admin/test_hosts.py
+++ b/tempest/api/compute/admin/test_hosts.py
@@ -18,7 +18,7 @@
class HostsAdminTestJSON(base.BaseV2ComputeAdminTest):
- """Tests hosts API using admin privileges."""
+ """Tests nova hosts API using admin privileges."""
max_microversion = '2.42'
@@ -29,13 +29,13 @@
@decorators.idempotent_id('9bfaf98d-e2cb-44b0-a07e-2558b2821e4f')
def test_list_hosts(self):
- # Listing hosts.
+ """Listing nova hosts"""
hosts = self.client.list_hosts()['hosts']
self.assertGreaterEqual(len(hosts), 2, str(hosts))
@decorators.idempotent_id('5dc06f5b-d887-47a2-bb2a-67762ef3c6de')
def test_list_hosts_with_zone(self):
- # Listing hosts with specified availability zone
+ """Listing nova hosts with specified availability zone"""
self.useFixture(fixtures.LockFixture('availability_zone'))
hosts = self.client.list_hosts()['hosts']
host = hosts[0]
@@ -45,23 +45,27 @@
@decorators.idempotent_id('9af3c171-fbf4-4150-a624-22109733c2a6')
def test_list_hosts_with_a_blank_zone(self):
- # Listing hosts with blank availability zone.
- # If send the request with a blank zone, the request will be successful
- # and it will return all the hosts list
+ """Listing nova hosts with blank availability zone
+
+ If send the request with a blank zone, the request will be successful
+ and it will return all the hosts list
+ """
hosts = self.client.list_hosts(zone='')['hosts']
self.assertNotEmpty(hosts)
@decorators.idempotent_id('c6ddbadb-c94e-4500-b12f-8ffc43843ff8')
def test_list_hosts_with_nonexistent_zone(self):
- # Listing hosts with not existing availability zone.
- # If send the request with a nonexistent zone, the request will be
- # successful and no hosts will be returned
+ """Listing nova hosts with not existing availability zone.
+
+ If send the request with a nonexistent zone, the request will be
+ successful and no hosts will be returned
+ """
hosts = self.client.list_hosts(zone='xxx')['hosts']
self.assertEmpty(hosts)
@decorators.idempotent_id('38adbb12-aee2-4498-8aec-329c72423aa4')
def test_show_host_detail(self):
- # Showing host details.
+ """Showing nova host details"""
hosts = self.client.list_hosts()['hosts']
hosts = [host for host in hosts if host['service'] == 'compute']
diff --git a/tempest/api/compute/admin/test_hosts_negative.py b/tempest/api/compute/admin/test_hosts_negative.py
index e8733c8..e9436bc 100644
--- a/tempest/api/compute/admin/test_hosts_negative.py
+++ b/tempest/api/compute/admin/test_hosts_negative.py
@@ -39,21 +39,21 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('dd032027-0210-4d9c-860e-69b1b8deed5f')
def test_list_hosts_with_non_admin_user(self):
- # Non admin user is not allowed to list hosts.
+ """Non admin user is not allowed to list hosts"""
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.list_hosts)
@decorators.attr(type=['negative'])
@decorators.idempotent_id('e75b0a1a-041f-47a1-8b4a-b72a6ff36d3f')
def test_show_host_detail_with_nonexistent_hostname(self):
- # Showing host detail with not existing hostname should fail.
+ """Showing host detail with not existing hostname should fail"""
self.assertRaises(lib_exc.NotFound,
self.client.show_host, 'nonexistent_hostname')
@decorators.attr(type=['negative'])
@decorators.idempotent_id('19ebe09c-bfd4-4b7c-81a2-e2e0710f59cc')
def test_show_host_detail_with_non_admin_user(self):
- # Non admin user is not allowed to show host details.
+ """Non admin user is not allowed to show host details"""
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.show_host,
self.hostname)
@@ -61,7 +61,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('e40c72b1-0239-4ed6-ba21-81a184df1f7c')
def test_update_host_with_non_admin_user(self):
- # Non admin user is not allowed to update host.
+ """Non admin user is not allowed to update host"""
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.update_host,
self.hostname,
@@ -71,8 +71,10 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('fbe2bf3e-3246-4a95-a59f-94e4e298ec77')
def test_update_host_with_invalid_status(self):
- # Updating host to invalid status should fail,
- # 'status' can only be 'enable' or 'disable'.
+ """Updating host to invalid status should fail
+
+ 'status' can only be 'enable' or 'disable'.
+ """
self.assertRaises(lib_exc.BadRequest,
self.client.update_host,
self.hostname,
@@ -82,8 +84,10 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('ab1e230e-5e22-41a9-8699-82b9947915d4')
def test_update_host_with_invalid_maintenance_mode(self):
- # Updating host to invalid maintenance mode should fail,
- # 'maintenance_mode' can only be 'enable' or 'disable'.
+ """Updating host to invalid maintenance mode should fail
+
+ 'maintenance_mode' can only be 'enable' or 'disable'.
+ """
self.assertRaises(lib_exc.BadRequest,
self.client.update_host,
self.hostname,
@@ -93,8 +97,10 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('0cd85f75-6992-4a4a-b1bd-d11e37fd0eee')
def test_update_host_without_param(self):
- # Updating host without param should fail,
- # 'status' or 'maintenance_mode' is needed for host update.
+ """Updating host without param should fail
+
+ 'status' or 'maintenance_mode' is needed for host update
+ """
self.assertRaises(lib_exc.BadRequest,
self.client.update_host,
self.hostname)
@@ -102,7 +108,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('23c92146-2100-4d68-b2d6-c7ade970c9c1')
def test_update_nonexistent_host(self):
- # Updating not existing host should fail.
+ """Updating not existing host should fail"""
self.assertRaises(lib_exc.NotFound,
self.client.update_host,
'nonexistent_hostname',
@@ -112,7 +118,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('0d981ac3-4320-4898-b674-82b61fbb60e4')
def test_startup_nonexistent_host(self):
- # Starting up not existing host should fail.
+ """Starting up not existing host should fail"""
self.assertRaises(lib_exc.NotFound,
self.client.startup_host,
'nonexistent_hostname')
@@ -120,7 +126,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('9f4ebb7e-b2ae-4e5b-a38f-0fd1bb0ddfca')
def test_startup_host_with_non_admin_user(self):
- # Non admin user is not allowed to startup host.
+ """Non admin user is not allowed to startup host"""
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.startup_host,
self.hostname)
@@ -128,7 +134,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('9e637444-29cf-4244-88c8-831ae82c31b6')
def test_shutdown_nonexistent_host(self):
- # Shutting down not existing host should fail.
+ """Shutting down not existing host should fail"""
self.assertRaises(lib_exc.NotFound,
self.client.shutdown_host,
'nonexistent_hostname')
@@ -136,7 +142,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('a803529c-7e3f-4d3c-a7d6-8e1c203d27f6')
def test_shutdown_host_with_non_admin_user(self):
- # Non admin user is not allowed to shutdown host.
+ """Non admin user is not allowed to shutdown host"""
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.shutdown_host,
self.hostname)
@@ -144,7 +150,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('f86bfd7b-0b13-4849-ae29-0322e83ee58b')
def test_reboot_nonexistent_host(self):
- # Rebooting not existing host should fail.
+ """Rebooting not existing host should fail"""
self.assertRaises(lib_exc.NotFound,
self.client.reboot_host,
'nonexistent_hostname')
@@ -152,7 +158,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('02d79bb9-eb57-4612-abf6-2cb38897d2f8')
def test_reboot_host_with_non_admin_user(self):
- # Non admin user is not allowed to reboot host.
+ """Non admin user is not allowed to reboot host"""
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.reboot_host,
self.hostname)
diff --git a/tempest/api/compute/admin/test_hypervisor.py b/tempest/api/compute/admin/test_hypervisor.py
index e45aac5..347193d 100644
--- a/tempest/api/compute/admin/test_hypervisor.py
+++ b/tempest/api/compute/admin/test_hypervisor.py
@@ -36,19 +36,19 @@
@decorators.idempotent_id('7f0ceacd-c64d-4e96-b8ee-d02943142cc5')
def test_get_hypervisor_list(self):
- # List of hypervisor and available hypervisors hostname
+ """List of hypervisor and available hypervisors hostname"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers, "No hypervisors found.")
@decorators.idempotent_id('1e7fdac2-b672-4ad1-97a4-bad0e3030118')
def test_get_hypervisor_list_details(self):
- # Display the details of the all hypervisor
+ """Display the details of the all hypervisor"""
hypers = self.client.list_hypervisors(detail=True)['hypervisors']
self.assertNotEmpty(hypers, "No hypervisors found.")
@decorators.idempotent_id('94ff9eae-a183-428e-9cdb-79fde71211cc')
def test_get_hypervisor_show_details(self):
- # Display the details of the specified hypervisor
+ """Display the details of the specified hypervisor"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers, "No hypervisors found.")
@@ -59,14 +59,14 @@
@decorators.idempotent_id('797e4f28-b6e0-454d-a548-80cc77c00816')
def test_get_hypervisor_stats(self):
- # Verify the stats of the all hypervisor
+ """Verify the stats of the all hypervisor"""
stats = (self.client.show_hypervisor_statistics()
['hypervisor_statistics'])
self.assertNotEmpty(stats)
@decorators.idempotent_id('91a50d7d-1c2b-4f24-b55a-a1fe20efca70')
def test_get_hypervisor_uptime(self):
- # Verify that GET shows the specified hypervisor uptime
+ """Verify that GET shows the specified hypervisor uptime"""
hypers = self._list_hypervisors()
# Ironic will register each baremetal node as a 'hypervisor',
@@ -106,10 +106,13 @@
class HypervisorAdminV228Test(HypervisorAdminTestBase):
+ """Tests Hypervisors API higher than 2.27 that require admin privileges"""
+
min_microversion = '2.28'
@decorators.idempotent_id('d46bab64-0fbe-4eb8-9133-e6ee56188cc5')
def test_get_list_hypervisor_details(self):
+ """Test listing and showing hypervisor details"""
# NOTE(zhufl): This test tests the hypervisor APIs response schema
# for 2.28 microversion. No specific assert or behaviour verification
# is needed.
@@ -119,11 +122,13 @@
class HypervisorAdminUnderV252Test(HypervisorAdminTestBase):
+ """Tests Hypervisors API below 2.53 that require admin privileges"""
+
max_microversion = '2.52'
@decorators.idempotent_id('e81bba3f-6215-4e39-a286-d52d2f906862')
def test_get_hypervisor_show_servers(self):
- # Show instances about the specific hypervisors
+ """Test showing instances about the specific hypervisors"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers, "No hypervisors found.")
@@ -134,7 +139,7 @@
@decorators.idempotent_id('d7e1805b-3b14-4a3b-b6fd-50ec6d9f361f')
def test_search_hypervisor(self):
- # Searching for hypervisors by its name.
+ """Test searching for hypervisors by its name"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers, "No hypervisors found.")
hypers = self.client.search_hypervisor(
diff --git a/tempest/api/compute/admin/test_hypervisor_negative.py b/tempest/api/compute/admin/test_hypervisor_negative.py
index 723b93c..9aaffd9 100644
--- a/tempest/api/compute/admin/test_hypervisor_negative.py
+++ b/tempest/api/compute/admin/test_hypervisor_negative.py
@@ -40,8 +40,9 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('c136086a-0f67-4b2b-bc61-8482bd68989f')
def test_show_nonexistent_hypervisor(self):
- # Showing not existing hypervisor should fail.
+ """Test showing non existent hypervisor should fail"""
nonexistent_hypervisor_id = data_utils.rand_uuid()
+
self.assertRaises(
lib_exc.NotFound,
self.client.show_hypervisor,
@@ -50,7 +51,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('51e663d0-6b89-4817-a465-20aca0667d03')
def test_show_hypervisor_with_non_admin_user(self):
- # Non admin user is not allowed to show hypervisor.
+ """Test showing hypervisor by non admin user should fail"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers)
@@ -62,7 +63,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('e2b061bb-13f9-40d8-9d6e-d5bf17595849')
def test_get_hypervisor_stats_with_non_admin_user(self):
- # Non admin user is not allowed to get hypervisor stats.
+ """Test getting hypervisor stats by non admin user should fail"""
self.assertRaises(
lib_exc.Forbidden,
self.non_adm_client.show_hypervisor_statistics)
@@ -70,7 +71,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('f60aa680-9a3a-4c7d-90e1-fae3a4891303')
def test_get_nonexistent_hypervisor_uptime(self):
- # Getting uptime of not existing hypervisor should fail.
+ """Test showing uptime of non existent hypervisor should fail"""
nonexistent_hypervisor_id = data_utils.rand_uuid()
self.assertRaises(
@@ -81,7 +82,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('6c3461f9-c04c-4e2a-bebb-71dc9cb47df2')
def test_get_hypervisor_uptime_with_non_admin_user(self):
- # Non admin user is not allowed to get hypervisor uptime.
+ """Test showing uptime of hypervisor by non admin user should fail"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers)
@@ -93,7 +94,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('51b3d536-9b14-409c-9bce-c6f7c794994e')
def test_get_hypervisor_list_with_non_admin_user(self):
- # List of hypervisor and available services with non admin user
+ """Test listing hypervisors by non admin user should fail"""
self.assertRaises(
lib_exc.Forbidden,
self.non_adm_client.list_hypervisors)
@@ -101,19 +102,21 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('dc02db05-e801-4c5f-bc8e-d915290ab345')
def test_get_hypervisor_list_details_with_non_admin_user(self):
- # Non admin user is not allowed to list hypervisor details.
+ """Test listing hypervisor details by non admin user should fail"""
self.assertRaises(
lib_exc.Forbidden,
self.non_adm_client.list_hypervisors, detail=True)
class HypervisorAdminNegativeUnderV252Test(HypervisorAdminNegativeTestBase):
+ """Tests Hypervisors API below ver 2.53 that require admin privileges"""
+
max_microversion = '2.52'
@decorators.attr(type=['negative'])
@decorators.idempotent_id('2a0a3938-832e-4859-95bf-1c57c236b924')
def test_show_servers_with_non_admin_user(self):
- # Non admin user is not allowed to show servers on hypervisor.
+ """Test showing hypervisor servers by non admin user should fail"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers)
@@ -125,7 +128,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('02463d69-0ace-4d33-a4a8-93d7883a2bba')
def test_show_servers_with_nonexistent_hypervisor(self):
- # Showing servers on not existing hypervisor should fail.
+ """Test showing servers on non existent hypervisor should fail"""
nonexistent_hypervisor_id = data_utils.rand_uuid()
self.assertRaises(
@@ -136,7 +139,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('5b6a6c79-5dc1-4fa5-9c58-9c8085948e74')
def test_search_hypervisor_with_non_admin_user(self):
- # Non admin user is not allowed to search hypervisor.
+ """Test searching hypervisor by non admin user should fail"""
hypers = self._list_hypervisors()
self.assertNotEmpty(hypers)
@@ -148,7 +151,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('19a45cc1-1000-4055-b6d2-28e8b2ec4faa')
def test_search_nonexistent_hypervisor(self):
- # Searching not existing hypervisor should fail.
+ """Test searching non existent hypervisor should fail"""
self.assertRaises(
lib_exc.NotFound,
self.client.search_hypervisor,
diff --git a/tempest/api/compute/admin/test_keypairs_v210.py b/tempest/api/compute/admin/test_keypairs_v210.py
index 40ed532..3068127 100644
--- a/tempest/api/compute/admin/test_keypairs_v210.py
+++ b/tempest/api/compute/admin/test_keypairs_v210.py
@@ -19,6 +19,8 @@
class KeyPairsV210TestJSON(base.BaseKeypairTest):
+ """Tests KeyPairs API with microversion higher than 2.9"""
+
credentials = ['primary', 'admin']
min_microversion = '2.10'
@@ -48,6 +50,13 @@
@decorators.idempotent_id('3c8484af-cfb3-48f6-b8ba-d5d58bbf3eac')
def test_admin_manage_keypairs_for_other_users(self):
+ """Test admin managing keypairs for other users
+
+ First admin creates a keypair for an other user, then admin lists
+ keypairs filtered by that user, and keypairs created for that user
+ should appear in the result and keypairs not created for that user
+ should not appear in the result.
+ """
user_id = self.non_admin_client.user_id
key_list = self._create_and_check_keypairs(user_id)
first_keyname = key_list[0]['name']
diff --git a/tempest/api/compute/admin/test_quotas_negative.py b/tempest/api/compute/admin/test_quotas_negative.py
index f90ff92..04dbc2d 100644
--- a/tempest/api/compute/admin/test_quotas_negative.py
+++ b/tempest/api/compute/admin/test_quotas_negative.py
@@ -53,10 +53,12 @@
class QuotasAdminNegativeTest(QuotasAdminNegativeTestBase):
+ """Negative tests of nova quotas"""
@decorators.attr(type=['negative'])
@decorators.idempotent_id('733abfe8-166e-47bb-8363-23dbd7ff3476')
def test_update_quota_normal_user(self):
+ """Test updating nova quota by normal user should fail"""
self.assertRaises(lib_exc.Forbidden,
self.client.update_quota_set,
self.demo_tenant_id,
@@ -67,7 +69,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('91058876-9947-4807-9f22-f6eb17140d9b')
def test_create_server_when_cpu_quota_is_full(self):
- # Disallow server creation when tenant's vcpu quota is full
+ """Disallow server creation when tenant's vcpu quota is full"""
self._update_quota('cores', 0)
self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit),
self.create_test_server)
@@ -75,7 +77,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('6fdd7012-584d-4327-a61c-49122e0d5864')
def test_create_server_when_memory_quota_is_full(self):
- # Disallow server creation when tenant's memory quota is full
+ """Disallow server creation when tenant's memory quota is full"""
self._update_quota('ram', 0)
self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit),
self.create_test_server)
@@ -83,13 +85,15 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('7c6be468-0274-449a-81c3-ac1c32ee0161')
def test_create_server_when_instances_quota_is_full(self):
- # Once instances quota limit is reached, disallow server creation
+ """Once instances quota limit is reached, disallow server creation"""
self._update_quota('instances', 0)
self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit),
self.create_test_server)
class QuotasSecurityGroupAdminNegativeTest(QuotasAdminNegativeTestBase):
+ """Negative tests of nova security group quota"""
+
max_microversion = '2.35'
@decorators.skip_because(bug="1186354",
@@ -98,7 +102,7 @@
@decorators.idempotent_id('7c6c8f3b-2bf6-4918-b240-57b136a66aa0')
@utils.services('network')
def test_security_groups_exceed_limit(self):
- # Negative test: Creation Security Groups over limit should FAIL
+ """Negative test: Creation Security Groups over limit should FAIL"""
# Set the quota to number of used security groups
sg_quota = self.limits_client.show_limits()['limits']['absolute'][
'totalSecurityGroupsUsed']
@@ -117,7 +121,7 @@
@decorators.idempotent_id('6e9f436d-f1ed-4f8e-a493-7275dfaa4b4d')
@utils.services('network')
def test_security_groups_rules_exceed_limit(self):
- # Negative test: Creation of Security Group Rules should FAIL
+ """Negative test: Creation of Security Group Rules should FAIL"""
# when we reach limit maxSecurityGroupRules
self._update_quota('security_group_rules', 0)
diff --git a/tempest/api/compute/admin/test_services.py b/tempest/api/compute/admin/test_services.py
index bf846e5..24518a8 100644
--- a/tempest/api/compute/admin/test_services.py
+++ b/tempest/api/compute/admin/test_services.py
@@ -19,7 +19,10 @@
class ServicesAdminTestJSON(base.BaseV2ComputeAdminTest):
- """Tests Services API. List and Enable/Disable require admin privileges."""
+ """Tests Nova Services API.
+
+ List and Enable/Disable require admin privileges.
+ """
@classmethod
def setup_clients(cls):
@@ -28,13 +31,13 @@
@decorators.idempotent_id('5be41ef4-53d1-41cc-8839-5c2a48a1b283')
def test_list_services(self):
- # Listing nova services
+ """Listing nova services"""
services = self.client.list_services()['services']
self.assertNotEmpty(services)
@decorators.idempotent_id('f345b1ec-bc6e-4c38-a527-3ca2bc00bef5')
def test_get_service_by_service_binary_name(self):
- # Listing nova services by binary name.
+ """Listing nova services by binary name"""
binary_name = 'nova-compute'
services = self.client.list_services(binary=binary_name)['services']
self.assertNotEmpty(services)
@@ -43,7 +46,7 @@
@decorators.idempotent_id('affb42d5-5b4b-43c8-8b0b-6dca054abcca')
def test_get_service_by_host_name(self):
- # Listing nova services by host name.
+ """Listing nova services by host name"""
services = self.client.list_services()['services']
host_name = services[0]['host']
services_on_host = [service for service in services if
diff --git a/tempest/api/compute/flavors/test_flavors.py b/tempest/api/compute/flavors/test_flavors.py
index 20294e9..58861a1 100644
--- a/tempest/api/compute/flavors/test_flavors.py
+++ b/tempest/api/compute/flavors/test_flavors.py
@@ -18,11 +18,12 @@
class FlavorsV2TestJSON(base.BaseV2ComputeTest):
+ """Tests Flavors"""
@decorators.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
+ """List of all flavors should contain the expected 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'],
@@ -31,7 +32,7 @@
@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
+ """Detailed list of all flavors should contain the expected flavor"""
flavors = self.flavors_client.list_flavors(detail=True)['flavors']
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
self.assertIn(flavor, flavors)
@@ -39,20 +40,20 @@
@decorators.attr(type='smoke')
@decorators.idempotent_id('1f12046b-753d-40d2-abb6-d8eb8b30cb2f')
def test_get_flavor(self):
- # The expected flavor details should be returned
+ """The expected flavor details should be returned"""
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
+ """Only the expected number of flavors should be returned"""
params = {'limit': 1}
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
+ """Only the expected number of flavors(detailed) should be returned"""
params = {'limit': 1}
flavors = self.flavors_client.list_flavors(detail=True,
**params)['flavors']
@@ -60,7 +61,7 @@
@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
+ """The list of flavors should start from the provided marker"""
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
flavor_id = flavor['id']
@@ -71,7 +72,7 @@
@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
+ """The list of flavors should start from the provided marker"""
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
flavor_id = flavor['id']
@@ -83,7 +84,7 @@
@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
+ """The detailed list of flavors should be filtered by disk space"""
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
flavor_id = flavor['id']
@@ -94,7 +95,7 @@
@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
+ """The detailed list of flavors should be filtered by RAM"""
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
flavor_id = flavor['id']
@@ -105,7 +106,7 @@
@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
+ """The list of flavors should be filtered by disk space"""
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
flavor_id = flavor['id']
@@ -115,7 +116,7 @@
@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
+ """The list of flavors should be filtered by RAM"""
flavor = self.flavors_client.show_flavor(self.flavor_ref)['flavor']
flavor_id = flavor['id']