diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-28 21:29:25 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-28 21:29:25 +0000 |
commit | f0e1d8b1b24319d27ad2ee293176ab7ea1937556 (patch) | |
tree | 8a1fab1d40a7a341bf4a6f3ef9278d6ca13903ee | |
parent | 8cde8065fba5eae522a060b1626185a4f835279f (diff) | |
parent | 639f2fab968486784c275c08682aa37414b96442 (diff) | |
download | tempest-f0e1d8b1b24319d27ad2ee293176ab7ea1937556.tar.gz |
Merge "remove gate tag (part 2)"
49 files changed, 351 insertions, 351 deletions
diff --git a/tempest/api/compute/admin/test_aggregates_negative.py b/tempest/api/compute/admin/test_aggregates_negative.py index 882986c48..6942fdb0c 100644 --- a/tempest/api/compute/admin/test_aggregates_negative.py +++ b/tempest/api/compute/admin/test_aggregates_negative.py @@ -44,7 +44,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): filter(lambda y: y['service'] == 'compute', hosts_all)) cls.host = hosts[0] - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('86a1cb14-da37-4a70-b056-903fd56dfe29') def test_aggregate_create_as_user(self): # Regular user is not allowed to create an aggregate. @@ -53,7 +53,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.user_client.create_aggregate, name=aggregate_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3b8a1929-3793-4e92-bcb4-dfa572ee6c1d') def test_aggregate_create_aggregate_name_length_less_than_1(self): # the length of aggregate name should >= 1 and <=255 @@ -61,7 +61,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.create_aggregate, name='') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4c194563-543b-4e70-a719-557bbe947fac') def test_aggregate_create_aggregate_name_length_exceeds_255(self): # the length of aggregate name should >= 1 and <=255 @@ -70,7 +70,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.create_aggregate, name=aggregate_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9c23a291-b0b1-487b-b464-132e061151b3') def test_aggregate_create_with_existent_aggregate_name(self): # creating an aggregate with existent aggregate name is forbidden @@ -82,7 +82,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.create_aggregate, name=aggregate_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('cd6de795-c15d-45f1-8d9e-813c6bb72a3d') def test_aggregate_delete_as_user(self): # Regular user is not allowed to delete an aggregate. @@ -94,14 +94,14 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.user_client.delete_aggregate, aggregate['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b7d475a6-5dcd-4ff4-b70a-cd9de66a6672') def test_aggregate_list_as_user(self): # Regular user is not allowed to list aggregates. self.assertRaises(lib_exc.Forbidden, self.user_client.list_aggregates) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('557cad12-34c9-4ff4-95f0-22f0dfbaf7dc') def test_aggregate_get_details_as_user(self): # Regular user is not allowed to get aggregate details. @@ -113,21 +113,21 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.user_client.show_aggregate, aggregate['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c74f4bf1-4708-4ff2-95a0-f49eaca951bd') def test_aggregate_delete_with_invalid_id(self): # Delete an aggregate with invalid id should raise exceptions. self.assertRaises(lib_exc.NotFound, self.client.delete_aggregate, -1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3c916244-2c46-49a4-9b55-b20bb0ae512c') def test_aggregate_get_details_with_invalid_id(self): # Get aggregate details with invalid id should raise exceptions. self.assertRaises(lib_exc.NotFound, self.client.show_aggregate, -1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0ef07828-12b4-45ba-87cc-41425faf5711') def test_aggregate_add_non_exist_host(self): # Adding a non-exist host to an aggregate should raise exceptions. @@ -145,7 +145,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.assertRaises(lib_exc.NotFound, self.client.add_host, aggregate['id'], non_exist_host) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7324c334-bd13-4c93-8521-5877322c3d51') def test_aggregate_add_host_as_user(self): # Regular user is not allowed to add a host to an aggregate. @@ -157,7 +157,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.user_client.add_host, aggregate['id'], self.host) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('19dd44e1-c435-4ee1-a402-88c4f90b5950') def test_aggregate_add_existent_host(self): self.useFixture(fixtures.LockFixture('availability_zone')) @@ -171,7 +171,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.assertRaises(lib_exc.Conflict, self.client.add_host, aggregate['id'], self.host) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7a53af20-137a-4e44-a4ae-e19260e626d9') def test_aggregate_remove_host_as_user(self): # Regular user is not allowed to remove a host from an aggregate. @@ -186,7 +186,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.user_client.remove_host, aggregate['id'], self.host) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('95d6a6fa-8da9-4426-84d0-eec0329f2e4d') def test_aggregate_remove_nonexistent_host(self): non_exist_host = data_utils.rand_name('nonexist_host') diff --git a/tempest/api/compute/admin/test_availability_zone_negative.py b/tempest/api/compute/admin/test_availability_zone_negative.py index e9de6283e..be1c2898f 100644 --- a/tempest/api/compute/admin/test_availability_zone_negative.py +++ b/tempest/api/compute/admin/test_availability_zone_negative.py @@ -29,7 +29,7 @@ class AZAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): super(AZAdminNegativeTestJSON, cls).setup_clients() cls.non_adm_client = cls.availability_zone_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('bf34dca2-fdc3-4073-9c02-7648d9eae0d7') def test_get_availability_zone_list_detail_with_non_admin_user(self): # List of availability zones and available services with diff --git a/tempest/api/compute/admin/test_fixed_ips_negative.py b/tempest/api/compute/admin/test_fixed_ips_negative.py index 052ed71ff..ac8a60d5e 100644 --- a/tempest/api/compute/admin/test_fixed_ips_negative.py +++ b/tempest/api/compute/admin/test_fixed_ips_negative.py @@ -49,14 +49,14 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest): if cls.ip: break - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9f17f47d-daad-4adc-986e-12370c93e407') @test.services('network') def test_list_fixed_ip_details_with_non_admin_user(self): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.get_fixed_ip_details, self.ip) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ce60042c-fa60-4836-8d43-1c8e3359dc47') @test.services('network') def test_set_reserve_with_non_admin_user(self): @@ -65,7 +65,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest): self.non_admin_client.reserve_fixed_ip, self.ip, body) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f1f7a35b-0390-48c5-9803-5f27461439db') @test.services('network') def test_set_unreserve_with_non_admin_user(self): @@ -74,7 +74,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest): self.non_admin_client.reserve_fixed_ip, self.ip, body) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f51cf464-7fc5-4352-bc3e-e75cfa2cb717') @test.services('network') def test_set_reserve_with_invalid_ip(self): @@ -88,7 +88,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest): self.client.reserve_fixed_ip, "my.invalid.ip", body) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('fd26ef50-f135-4232-9d32-281aab3f9176') @test.services('network') def test_fixed_ip_with_invalid_action(self): diff --git a/tempest/api/compute/admin/test_flavors_access_negative.py b/tempest/api/compute/admin/test_flavors_access_negative.py index 97930c1c9..be5e6cca3 100644 --- a/tempest/api/compute/admin/test_flavors_access_negative.py +++ b/tempest/api/compute/admin/test_flavors_access_negative.py @@ -51,7 +51,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest): cls.vcpus = 1 cls.disk = 10 - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0621c53e-d45d-40e7-951d-43e5e257b272') def test_flavor_access_list_with_public_flavor(self): # Test to list flavor access with exceptions by querying public flavor @@ -67,7 +67,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.list_flavor_access, new_flavor_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('41eaaade-6d37-4f28-9c74-f21b46ca67bd') def test_flavor_non_admin_add(self): # Test to add flavor access as a user without admin privileges. @@ -84,7 +84,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest): new_flavor['id'], self.tenant_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('073e79a6-c311-4525-82dc-6083d919cb3a') def test_flavor_non_admin_remove(self): # Test to remove flavor access as a user without admin privileges. @@ -105,7 +105,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest): new_flavor['id'], self.tenant_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f3592cc0-0306-483c-b210-9a7b5346eddc') def test_add_flavor_access_duplicate(self): # Create a new flavor. @@ -130,7 +130,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest): new_flavor['id'], self.tenant_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1f710927-3bc7-4381-9f82-0ca6e42644b7') def test_remove_flavor_access_not_found(self): # Create a new flavor. diff --git a/tempest/api/compute/admin/test_flavors_extra_specs_negative.py b/tempest/api/compute/admin/test_flavors_extra_specs_negative.py index 2236a8a2c..df592dd8a 100644 --- a/tempest/api/compute/admin/test_flavors_extra_specs_negative.py +++ b/tempest/api/compute/admin/test_flavors_extra_specs_negative.py @@ -66,7 +66,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): cls.client.wait_for_resource_deletion(cls.flavor['id']) super(FlavorsExtraSpecsNegativeTestJSON, cls).resource_cleanup() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a00a3b81-5641-45a8-ab2b-4a8ec41e1d7d') def test_flavor_non_admin_set_keys(self): # Test to SET flavor extra spec as a user without admin privileges. @@ -76,7 +76,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): self.flavor['id'], specs) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.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 @@ -91,7 +91,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): 'key1', key1='value1_new') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('28f12249-27c7-44c1-8810-1f382f316b11') def test_flavor_non_admin_unset_keys(self): specs = {"key1": "value1", "key2": "value2"} @@ -102,7 +102,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): self.flavor['id'], 'key1') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('440b9f3f-3c7f-4293-a106-0ceda350f8de') def test_flavor_unset_nonexistent_key(self): nonexistent_key = data_utils.rand_name('flavor_key') @@ -111,7 +111,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): self.flavor['id'], nonexistent_key) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('329a7be3-54b2-48be-8052-bf2ce4afd898') def test_flavor_get_nonexistent_key(self): self.assertRaises(lib_exc.NotFound, @@ -119,7 +119,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): self.flavor['id'], "nonexistent_key") - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('25b822b8-9f49-44f6-80de-d99f0482e5cb') def test_flavor_update_mismatch_key(self): # the key will be updated should be match the key in the body @@ -129,7 +129,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest): "key2", key1="value") - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f5889590-bf66-41cc-b4b1-6e6370cfd93f') def test_flavor_update_more_key(self): # there should be just one item in the request body diff --git a/tempest/api/compute/admin/test_hosts_negative.py b/tempest/api/compute/admin/test_hosts_negative.py index 95be59efc..042d1fb83 100644 --- a/tempest/api/compute/admin/test_hosts_negative.py +++ b/tempest/api/compute/admin/test_hosts_negative.py @@ -37,20 +37,20 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): hostname = hosts[0]['host_name'] return hostname - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('dd032027-0210-4d9c-860e-69b1b8deed5f') def test_list_hosts_with_non_admin_user(self): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.list_hosts) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e75b0a1a-041f-47a1-8b4a-b72a6ff36d3f') def test_show_host_detail_with_nonexistent_hostname(self): nonexitent_hostname = data_utils.rand_name('rand_hostname') self.assertRaises(lib_exc.NotFound, self.client.show_host_detail, nonexitent_hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('19ebe09c-bfd4-4b7c-81a2-e2e0710f59cc') def test_show_host_detail_with_non_admin_user(self): hostname = self._get_host_name() @@ -59,7 +59,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_admin_client.show_host_detail, hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e40c72b1-0239-4ed6-ba21-81a184df1f7c') def test_update_host_with_non_admin_user(self): hostname = self._get_host_name() @@ -70,7 +70,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): status='enable', maintenance_mode='enable') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('76e396fe-5418-4dd3-a186-5b301edc0721') def test_update_host_with_extra_param(self): # only 'status' and 'maintenance_mode' are the valid params. @@ -83,7 +83,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): maintenance_mode='enable', param='XXX') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('fbe2bf3e-3246-4a95-a59f-94e4e298ec77') def test_update_host_with_invalid_status(self): # 'status' can only be 'enable' or 'disable' @@ -95,7 +95,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): status='invalid', maintenance_mode='enable') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ab1e230e-5e22-41a9-8699-82b9947915d4') def test_update_host_with_invalid_maintenance_mode(self): # 'maintenance_mode' can only be 'enable' or 'disable' @@ -107,7 +107,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): status='enable', maintenance_mode='invalid') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0cd85f75-6992-4a4a-b1bd-d11e37fd0eee') def test_update_host_without_param(self): # 'status' or 'maintenance_mode' needed for host update @@ -117,7 +117,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.update_host, hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('23c92146-2100-4d68-b2d6-c7ade970c9c1') def test_update_nonexistent_host(self): nonexitent_hostname = data_utils.rand_name('rand_hostname') @@ -128,7 +128,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): status='enable', maintenance_mode='enable') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0d981ac3-4320-4898-b674-82b61fbb60e4') def test_startup_nonexistent_host(self): nonexitent_hostname = data_utils.rand_name('rand_hostname') @@ -137,7 +137,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.startup_host, nonexitent_hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9f4ebb7e-b2ae-4e5b-a38f-0fd1bb0ddfca') def test_startup_host_with_non_admin_user(self): hostname = self._get_host_name() @@ -146,7 +146,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_admin_client.startup_host, hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9e637444-29cf-4244-88c8-831ae82c31b6') def test_shutdown_nonexistent_host(self): nonexitent_hostname = data_utils.rand_name('rand_hostname') @@ -155,7 +155,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.shutdown_host, nonexitent_hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a803529c-7e3f-4d3c-a7d6-8e1c203d27f6') def test_shutdown_host_with_non_admin_user(self): hostname = self._get_host_name() @@ -164,7 +164,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_admin_client.shutdown_host, hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f86bfd7b-0b13-4849-ae29-0322e83ee58b') def test_reboot_nonexistent_host(self): nonexitent_hostname = data_utils.rand_name('rand_hostname') @@ -173,7 +173,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.reboot_host, nonexitent_hostname) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('02d79bb9-eb57-4612-abf6-2cb38897d2f8') def test_reboot_host_with_non_admin_user(self): hostname = self._get_host_name() diff --git a/tempest/api/compute/admin/test_hypervisor_negative.py b/tempest/api/compute/admin/test_hypervisor_negative.py index c7de6be91..24b0090c9 100644 --- a/tempest/api/compute/admin/test_hypervisor_negative.py +++ b/tempest/api/compute/admin/test_hypervisor_negative.py @@ -39,7 +39,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): hypers = self.client.get_hypervisor_list() return hypers - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c136086a-0f67-4b2b-bc61-8482bd68989f') def test_show_nonexistent_hypervisor(self): nonexistent_hypervisor_id = str(uuid.uuid4()) @@ -49,7 +49,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.get_hypervisor_show_details, nonexistent_hypervisor_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('51e663d0-6b89-4817-a465-20aca0667d03') def test_show_hypervisor_with_non_admin_user(self): hypers = self._list_hypervisors() @@ -60,7 +60,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_adm_client.get_hypervisor_show_details, hypers[0]['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('2a0a3938-832e-4859-95bf-1c57c236b924') def test_show_servers_with_non_admin_user(self): hypers = self._list_hypervisors() @@ -71,7 +71,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_adm_client.get_hypervisor_servers, hypers[0]['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('02463d69-0ace-4d33-a4a8-93d7883a2bba') def test_show_servers_with_nonexistent_hypervisor(self): nonexistent_hypervisor_id = str(uuid.uuid4()) @@ -81,14 +81,14 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.get_hypervisor_servers, nonexistent_hypervisor_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e2b061bb-13f9-40d8-9d6e-d5bf17595849') def test_get_hypervisor_stats_with_non_admin_user(self): self.assertRaises( lib_exc.Forbidden, self.non_adm_client.get_hypervisor_stats) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f60aa680-9a3a-4c7d-90e1-fae3a4891303') def test_get_nonexistent_hypervisor_uptime(self): nonexistent_hypervisor_id = str(uuid.uuid4()) @@ -98,7 +98,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.get_hypervisor_uptime, nonexistent_hypervisor_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6c3461f9-c04c-4e2a-bebb-71dc9cb47df2') def test_get_hypervisor_uptime_with_non_admin_user(self): hypers = self._list_hypervisors() @@ -109,7 +109,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_adm_client.get_hypervisor_uptime, hypers[0]['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.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 @@ -117,7 +117,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): lib_exc.Forbidden, self.non_adm_client.get_hypervisor_list) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('dc02db05-e801-4c5f-bc8e-d915290ab345') def test_get_hypervisor_list_details_with_non_admin_user(self): # List of hypervisor details and available services with non admin user @@ -125,7 +125,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): lib_exc.Forbidden, self.non_adm_client.get_hypervisor_list_details) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('19a45cc1-1000-4055-b6d2-28e8b2ec4faa') def test_search_nonexistent_hypervisor(self): nonexistent_hypervisor_name = data_utils.rand_name('test_hypervisor') @@ -135,7 +135,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.client.search_hypervisor, nonexistent_hypervisor_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5b6a6c79-5dc1-4fa5-9c58-9c8085948e74') def test_search_hypervisor_with_non_admin_user(self): hypers = self._list_hypervisors() diff --git a/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py b/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py index e9f337139..ec9ad1979 100644 --- a/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py +++ b/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py @@ -29,7 +29,7 @@ class InstanceUsageAuditLogNegativeTestJSON(base.BaseV2ComputeAdminTest): super(InstanceUsageAuditLogNegativeTestJSON, cls).setup_clients() cls.adm_client = cls.os_adm.instance_usages_audit_log_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a9d33178-d2c9-4131-ad3b-f4ca8d0308a2') def test_instance_usage_audit_logs_with_nonadmin_user(self): # the instance_usage_audit_logs API just can be accessed by admin user @@ -42,7 +42,7 @@ class InstanceUsageAuditLogNegativeTestJSON(base.BaseV2ComputeAdminTest): get_instance_usage_audit_log, urllib.quote(now.strftime("%Y-%m-%d %H:%M:%S"))) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9b952047-3641-41c7-ba91-a809fc5974c8') def test_get_instance_usage_audit_logs_with_invalid_time(self): self.assertRaises(lib_exc.BadRequest, diff --git a/tempest/api/compute/admin/test_quotas_negative.py b/tempest/api/compute/admin/test_quotas_negative.py index 112e0098a..d20ebf398 100644 --- a/tempest/api/compute/admin/test_quotas_negative.py +++ b/tempest/api/compute/admin/test_quotas_negative.py @@ -40,7 +40,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): # tenant most of them should be skipped if we can't do that cls.demo_tenant_id = cls.client.tenant_id - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('733abfe8-166e-47bb-8363-23dbd7ff3476') def test_update_quota_normal_user(self): self.assertRaises(lib_exc.Forbidden, @@ -50,7 +50,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): # TODO(afazekas): Add dedicated tenant to the skiped quota tests # it can be moved into the setUpClass as well - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.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 @@ -67,7 +67,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit), self.create_test_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.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 @@ -84,7 +84,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit), self.create_test_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.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 @@ -129,7 +129,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): @decorators.skip_because(bug="1186354", condition=CONF.service_available.neutron) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6e9f436d-f1ed-4f8e-a493-7275dfaa4b4d') @test.services('network') def test_security_groups_rules_exceed_limit(self): diff --git a/tempest/api/compute/admin/test_servers_negative.py b/tempest/api/compute/admin/test_servers_negative.py index d7e62dfde..7f78ce858 100644 --- a/tempest/api/compute/admin/test_servers_negative.py +++ b/tempest/api/compute/admin/test_servers_negative.py @@ -62,7 +62,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): @test.idempotent_id('28dcec23-f807-49da-822c-56a92ea3c687') @testtools.skipUnless(CONF.compute_feature_enabled.resize, 'Resize not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resize_server_using_overlimit_ram(self): # NOTE(mriedem): Avoid conflicts with os-quota-class-sets tests. self.useFixture(fixtures.LockFixture('compute_quotas')) @@ -84,7 +84,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): @test.idempotent_id('7368a427-2f26-4ad9-9ba9-911a0ec2b0db') @testtools.skipUnless(CONF.compute_feature_enabled.resize, 'Resize not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resize_server_using_overlimit_vcpus(self): # NOTE(mriedem): Avoid conflicts with os-quota-class-sets tests. self.useFixture(fixtures.LockFixture('compute_quotas')) @@ -103,27 +103,27 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.servers[0]['id'], flavor_ref['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b0b4d8af-1256-41ef-9ee7-25f1c19dde80') def test_reset_state_server_invalid_state(self): self.assertRaises(lib_exc.BadRequest, self.client.reset_state, self.s1_id, state='invalid') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4cdcc984-fab0-4577-9a9d-6d558527ee9d') def test_reset_state_server_invalid_type(self): self.assertRaises(lib_exc.BadRequest, self.client.reset_state, self.s1_id, state=1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e741298b-8df2-46f0-81cb-8f814ff2504c') def test_reset_state_server_nonexistent_server(self): self.assertRaises(lib_exc.NotFound, self.client.reset_state, '999') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e84e2234-60d2-42fa-8b30-e2d3049724ac') def test_get_server_diagnostics_by_non_admin(self): # Non-admin user can not view server diagnostics according to policy @@ -131,7 +131,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): self.non_adm_client.get_server_diagnostics, self.s1_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('46a4e1ca-87ae-4d28-987a-1b6b136a0221') def test_migrate_non_existent_server(self): # migrate a non existent server @@ -144,7 +144,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): 'Resize not available.') @testtools.skipUnless(CONF.compute_feature_enabled.suspend, 'Suspend is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_migrate_server_invalid_state(self): # create server. server = self.create_test_server(wait_until='ACTIVE') diff --git a/tempest/api/compute/admin/test_services_negative.py b/tempest/api/compute/admin/test_services_negative.py index 2d4ec5131..99f31c51b 100644 --- a/tempest/api/compute/admin/test_services_negative.py +++ b/tempest/api/compute/admin/test_services_negative.py @@ -30,13 +30,13 @@ class ServicesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): cls.client = cls.os_adm.services_client cls.non_admin_client = cls.services_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1126d1f8-266e-485f-a687-adc547492646') def test_list_services_with_non_admin_user(self): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.list_services) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d0884a69-f693-4e79-a9af-232d15643bf7') def test_get_service_by_invalid_params(self): # return all services if send the request with invalid parameter @@ -45,7 +45,7 @@ class ServicesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): services_xxx = self.client.list_services(params) self.assertEqual(len(services), len(services_xxx)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1e966d4a-226e-47c7-b601-0b18a27add54') def test_get_service_by_invalid_service_and_valid_host(self): services = self.client.list_services() @@ -54,7 +54,7 @@ class ServicesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest): services = self.client.list_services(params) self.assertEqual(0, len(services)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('64e7e7fb-69e8-4cb6-a71d-8d5eb0c98655') def test_get_service_with_valid_service_and_invalid_host(self): services = self.client.list_services() diff --git a/tempest/api/compute/admin/test_simple_tenant_usage_negative.py b/tempest/api/compute/admin/test_simple_tenant_usage_negative.py index a83d7273d..5a3c9a48b 100644 --- a/tempest/api/compute/admin/test_simple_tenant_usage_negative.py +++ b/tempest/api/compute/admin/test_simple_tenant_usage_negative.py @@ -40,7 +40,7 @@ class TenantUsagesNegativeTestJSON(base.BaseV2ComputeAdminTest): # Returns formatted datetime return at.strftime('%Y-%m-%dT%H:%M:%S.%f') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8b21e135-d94b-4991-b6e9-87059609c8ed') def test_get_usage_tenant_with_empty_tenant_id(self): # Get usage for a specific tenant empty @@ -50,7 +50,7 @@ class TenantUsagesNegativeTestJSON(base.BaseV2ComputeAdminTest): self.adm_client.get_tenant_usage, '', params) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4079dd2a-9e8d-479f-869d-6fa985ce45b6') def test_get_usage_tenant_with_invalid_date(self): # Get usage for tenant with invalid date @@ -60,7 +60,7 @@ class TenantUsagesNegativeTestJSON(base.BaseV2ComputeAdminTest): self.adm_client.get_tenant_usage, self.client.tenant_id, params) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('bbe6fe2c-15d8-404c-a0a2-44fad0ad5cc7') def test_list_usage_all_tenants_with_non_admin_user(self): # Get usage for all tenants with non admin user diff --git a/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py b/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py index 584b20297..d22d3341b 100644 --- a/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py +++ b/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py @@ -52,7 +52,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest): if cls.non_exist_id not in cls.floating_ip_ids: break - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6e0f059b-e4dd-48fb-8207-06e3bba5b074') @test.services('network') def test_allocate_floating_ip_from_nonexistent_pool(self): @@ -62,7 +62,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest): self.client.create_floating_ip, "non_exist_pool") - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ae1c55a8-552b-44d4-bfb6-2a115a15d0ba') @test.services('network') def test_delete_nonexistent_floating_ip(self): @@ -73,7 +73,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest): self.assertRaises(lib_exc.NotFound, self.client.delete_floating_ip, self.non_exist_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('595fa616-1a71-4670-9614-46564ac49a4c') @test.services('network') def test_associate_nonexistent_floating_ip(self): @@ -84,7 +84,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest): self.client.associate_floating_ip_to_server, "0.0.0.0", self.server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0a081a66-e568-4e6b-aa62-9587a876dca8') @test.services('network') def test_dissociate_nonexistent_floating_ip(self): @@ -94,7 +94,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest): self.client.disassociate_floating_ip_from_server, "0.0.0.0", self.server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('804b4fcb-bbf5-412f-925d-896672b61eb3') @test.services('network') def test_associate_ip_to_server_without_passing_floating_ip(self): diff --git a/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py b/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py index f0ce6ded0..e1e30a4b8 100644 --- a/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py +++ b/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py @@ -32,7 +32,7 @@ class FloatingIPDetailsNegativeTestJSON(base.BaseV2ComputeTest): super(FloatingIPDetailsNegativeTestJSON, cls).setup_clients() cls.client = cls.floating_ips_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7ab18834-4a4b-4f28-a2c5-440579866695') @test.services('network') def test_get_nonexistent_floating_ip_details(self): diff --git a/tempest/api/compute/images/test_image_metadata_negative.py b/tempest/api/compute/images/test_image_metadata_negative.py index 3c2302a62..e44fbfc71 100644 --- a/tempest/api/compute/images/test_image_metadata_negative.py +++ b/tempest/api/compute/images/test_image_metadata_negative.py @@ -27,7 +27,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest): super(ImagesMetadataTestJSON, cls).setup_clients() cls.client = cls.images_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('94069db2-792f-4fa8-8bd3-2271a6e0c095') def test_list_nonexistent_image_metadata(self): # Negative test: List on nonexistent image @@ -35,7 +35,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.list_image_metadata, data_utils.rand_uuid()) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a403ef9e-9f95-427c-b70a-3ce3388796f1') def test_update_nonexistent_image_metadata(self): # Negative test:An update should not happen for a non-existent image @@ -44,7 +44,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest): self.client.update_image_metadata, data_utils.rand_uuid(), meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('41ae052c-6ee6-405c-985e-5712393a620d') def test_get_nonexistent_image_metadata_item(self): # Negative test: Get on non-existent image should not happen @@ -52,7 +52,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest): self.client.get_image_metadata_item, data_utils.rand_uuid(), 'os_version') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('dc64f2ce-77e8-45b0-88c8-e15041d08eaf') def test_set_nonexistent_image_metadata(self): # Negative test: Metadata should not be set to a non-existent image @@ -60,7 +60,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.set_image_metadata, data_utils.rand_uuid(), meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('2154fd03-ab54-457c-8874-e6e3eb56e9cf') def test_set_nonexistent_image_metadata_item(self): # Negative test: Metadata item should not be set to a @@ -71,7 +71,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest): data_utils.rand_uuid(), 'os_distro', meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('848e157f-6bcf-4b2e-a5dd-5124025a8518') def test_delete_nonexistent_image_metadata_item(self): # Negative test: Shouldn't be able to delete metadata diff --git a/tempest/api/compute/images/test_images_negative.py b/tempest/api/compute/images/test_images_negative.py index ad502ad44..6555b6495 100644 --- a/tempest/api/compute/images/test_images_negative.py +++ b/tempest/api/compute/images/test_images_negative.py @@ -41,7 +41,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): cls.client = cls.images_client cls.servers_client = cls.servers_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6cd5a89d-5b47-46a7-93bc-3916f0d84973') def test_create_image_from_deleted_server(self): # An image should not be created if the server instance is removed @@ -57,7 +57,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.create_image_from_server, server['id'], name=name, meta=meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('82c5b0c4-9dbd-463c-872b-20c4755aae7f') def test_create_image_from_invalid_server(self): # An image should not be created with invalid server id @@ -69,7 +69,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.create_image_from_server, '!@#$%^&*()', name=name, meta=meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('aaacd1d0-55a2-4ce8-818a-b5439df8adc9') def test_create_image_from_stopped_server(self): server = self.create_test_server(wait_until='ACTIVE') @@ -85,7 +85,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.addCleanup(self.client.delete_image, image['id']) self.assertEqual(snapshot_name, image['name']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ec176029-73dc-4037-8d72-2e4ff60cf538') def test_create_image_specify_uuid_35_characters_or_less(self): # Return an error if Image ID passed is 35 characters or less @@ -94,7 +94,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.create_image, test_uuid, snapshot_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('36741560-510e-4cc2-8641-55fe4dfb2437') def test_create_image_specify_uuid_37_characters_or_more(self): # Return an error if Image ID passed is 37 characters or more @@ -103,14 +103,14 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.create_image, test_uuid, snapshot_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('381acb65-785a-4942-94ce-d8f8c84f1f0f') def test_delete_image_with_invalid_image_id(self): # An image should not be deleted with invalid image id self.assertRaises(lib_exc.NotFound, self.client.delete_image, '!@$%^&*()') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('137aef61-39f7-44a1-8ddf-0adf82511701') def test_delete_non_existent_image(self): # Return an error while trying to delete a non-existent image @@ -119,13 +119,13 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, non_existent_image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e6e41425-af5c-4fe6-a4b5-7b7b963ffda5') def test_delete_image_blank_id(self): # Return an error while trying to delete an image with blank Id self.assertRaises(lib_exc.NotFound, self.client.delete_image, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('924540c3-f1f1-444c-8f58-718958b6724e') def test_delete_image_non_hex_string_id(self): # Return an error while trying to delete an image with non hex id @@ -133,13 +133,13 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('68e2c175-bd26-4407-ac0f-4ea9ce2139ea') def test_delete_image_negative_image_id(self): # Return an error while trying to delete an image with negative id self.assertRaises(lib_exc.NotFound, self.client.delete_image, -1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b340030d-82cd-4066-a314-c72fb7c59277') def test_delete_image_id_is_over_35_character_limit(self): # Return an error while trying to delete image with id over limit diff --git a/tempest/api/compute/images/test_images_oneserver_negative.py b/tempest/api/compute/images/test_images_oneserver_negative.py index 18ce2118b..aa120446d 100644 --- a/tempest/api/compute/images/test_images_oneserver_negative.py +++ b/tempest/api/compute/images/test_images_oneserver_negative.py @@ -80,7 +80,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest): cls.image_ids = [] - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('55d1d38c-dd66-4933-9c8e-7d92aeb60ddc') def test_create_image_specify_invalid_metadata(self): # Return an error when creating image with invalid metadata @@ -89,7 +89,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_image, self.server_id, snapshot_name, meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3d24d11f-5366-4536-bd28-cff32b748eca') def test_create_image_specify_metadata_over_limits(self): # Return an error when creating image with meta data over 256 chars @@ -98,7 +98,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_image, self.server_id, snapshot_name, meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0460efcf-ee88-4f94-acef-1bf658695456') def test_create_second_image_when_first_image_is_being_saved(self): # Disallow creating another image when first image is being saved @@ -116,7 +116,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.Conflict, self.client.create_image, self.server_id, alt_snapshot_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('084f0cbc-500a-4963-8a4e-312905862581') def test_create_image_specify_name_over_256_chars(self): # Return an error if snapshot name over 256 characters is passed @@ -125,7 +125,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_image, self.server_id, snapshot_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0894954d-2db2-4195-a45b-ffec0bc0187e') def test_delete_image_that_is_not_yet_active(self): # Return an error while trying to delete an image what is creating diff --git a/tempest/api/compute/images/test_list_image_filters_negative.py b/tempest/api/compute/images/test_list_image_filters_negative.py index 204bf3e09..334516b34 100644 --- a/tempest/api/compute/images/test_list_image_filters_negative.py +++ b/tempest/api/compute/images/test_list_image_filters_negative.py @@ -36,7 +36,7 @@ class ListImageFiltersNegativeTestJSON(base.BaseV2ComputeTest): super(ListImageFiltersNegativeTestJSON, cls).setup_clients() cls.client = cls.images_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('391b0440-432c-4d4b-b5da-c5096aa247eb') def test_get_nonexistent_image(self): # Check raises a NotFound diff --git a/tempest/api/compute/keypairs/test_keypairs_negative.py b/tempest/api/compute/keypairs/test_keypairs_negative.py index 6aa0939e2..78db74eea 100644 --- a/tempest/api/compute/keypairs/test_keypairs_negative.py +++ b/tempest/api/compute/keypairs/test_keypairs_negative.py @@ -32,7 +32,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): self.client.create_keypair(keypair_name, pub_key) self.addCleanup(self.client.delete_keypair, keypair_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('29cca892-46ae-4d48-bc32-8fe7e731eb81') def test_keypair_create_with_invalid_pub_key(self): # Keypair should not be created with a non RSA public key @@ -41,7 +41,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self._create_keypair, k_name, pub_key) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7cc32e47-4c42-489d-9623-c5e2cb5a2fa5') def test_keypair_delete_nonexistent_key(self): # Non-existent key deletion should throw a proper error @@ -49,7 +49,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_keypair, k_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('dade320e-69ca-42a9-ba4a-345300f127e0') def test_create_keypair_with_empty_public_key(self): # Keypair should not be created with an empty public key @@ -58,7 +58,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self._create_keypair, k_name, pub_key) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('fc100c19-2926-4b9c-8fdc-d0589ee2f9ff') def test_create_keypair_when_public_key_bits_exceeds_maximum(self): # Keypair should not be created when public key bits are too long @@ -67,7 +67,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self._create_keypair, k_name, pub_key) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0359a7f1-f002-4682-8073-0c91e4011b7c') def test_create_keypair_with_duplicate_name(self): # Keypairs with duplicate names should not be created @@ -78,14 +78,14 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): k_name) self.client.delete_keypair(k_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1398abe1-4a84-45fb-9294-89f514daff00') def test_create_keypair_with_empty_name_string(self): # Keypairs with name being an empty string should not be created self.assertRaises(lib_exc.BadRequest, self._create_keypair, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3faa916f-779f-4103-aca7-dc3538eee1b7') def test_create_keypair_with_long_keynames(self): # Keypairs with name longer than 255 chars should not be created @@ -93,7 +93,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self._create_keypair, k_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('45fbe5e0-acb5-49aa-837a-ff8d0719db91') def test_create_keypair_invalid_name(self): # Keypairs with name being an invalid name should not be created diff --git a/tempest/api/compute/limits/test_absolute_limits_negative.py b/tempest/api/compute/limits/test_absolute_limits_negative.py index 843dc1ac6..bdbe3f15c 100644 --- a/tempest/api/compute/limits/test_absolute_limits_negative.py +++ b/tempest/api/compute/limits/test_absolute_limits_negative.py @@ -33,7 +33,7 @@ class AbsoluteLimitsNegativeTestJSON(base.BaseV2ComputeTest): cls.client = cls.limits_client cls.server_client = cls.servers_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('215cd465-d8ae-49c9-bf33-9c911913a5c8') def test_max_image_meta_exceed_limit(self): # We should not create vm with image meta over maxImageMeta limit diff --git a/tempest/api/compute/servers/test_instance_actions_negative.py b/tempest/api/compute/servers/test_instance_actions_negative.py index 7635eb83a..afd3b7a31 100644 --- a/tempest/api/compute/servers/test_instance_actions_negative.py +++ b/tempest/api/compute/servers/test_instance_actions_negative.py @@ -33,7 +33,7 @@ class InstanceActionsNegativeTestJSON(base.BaseV2ComputeTest): server = cls.create_test_server(wait_until='ACTIVE') cls.server_id = server['id'] - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('67e1fce6-7ec2-45c6-92d4-0a8f1a632910') def test_list_instance_actions_non_existent_server(self): # List actions of the non-existent server id @@ -42,7 +42,7 @@ class InstanceActionsNegativeTestJSON(base.BaseV2ComputeTest): self.client.list_instance_actions, non_existent_server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0269f40a-6f18-456c-b336-c03623c897f1') def test_get_instance_action_invalid_request(self): # Get the action details of the provided server with invalid request diff --git a/tempest/api/compute/servers/test_list_servers_negative.py b/tempest/api/compute/servers/test_list_servers_negative.py index 4dfdacc4b..0178c9e57 100644 --- a/tempest/api/compute/servers/test_list_servers_negative.py +++ b/tempest/api/compute/servers/test_list_servers_negative.py @@ -52,7 +52,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): ignore_error=True) cls.deleted_fixtures.append(srv) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('24a26f1a-1ddc-4eea-b0d7-a90cc874ad8f') def test_list_servers_with_a_deleted_server(self): # Verify deleted servers do not show by default in list servers @@ -64,7 +64,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): if srv['id'] in deleted_ids] self.assertEqual([], actual) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ff01387d-c7ad-47b4-ae9e-64fa214638fe') def test_list_servers_by_non_existing_image(self): # Listing servers for a non existing image returns empty list @@ -73,7 +73,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): servers = body['servers'] self.assertEqual([], servers) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5913660b-223b-44d4-a651-a0fbfd44ca75') def test_list_servers_by_non_existing_flavor(self): # Listing servers by non existing flavor returns empty list @@ -82,7 +82,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): servers = body['servers'] self.assertEqual([], servers) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e2c77c4a-000a-4af3-a0bd-629a328bde7c') def test_list_servers_by_non_existing_server_name(self): # Listing servers for a non existent server name returns empty list @@ -91,7 +91,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): servers = body['servers'] self.assertEqual([], servers) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('fcdf192d-0f74-4d89-911f-1ec002b822c4') def test_list_servers_status_non_existing(self): # Return an empty list when invalid status is specified @@ -106,35 +106,35 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): body = self.client.list_servers({'limit': 1}) self.assertEqual(1, len([x for x in body['servers'] if 'id' in x])) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d47c17fb-eebd-4287-8e95-f20a7e627b18') def test_list_servers_by_limits_greater_than_actual_count(self): # List servers by specifying a greater value for limit body = self.client.list_servers({'limit': 100}) self.assertEqual(len(self.existing_fixtures), len(body['servers'])) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('679bc053-5e70-4514-9800-3dfab1a380a6') def test_list_servers_by_limits_pass_string(self): # Return an error if a string value is passed for limit self.assertRaises(lib_exc.BadRequest, self.client.list_servers, {'limit': 'testing'}) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('62610dd9-4713-4ee0-8beb-fd2c1aa7f950') def test_list_servers_by_limits_pass_negative_value(self): # Return an error if a negative value for limit is passed self.assertRaises(lib_exc.BadRequest, self.client.list_servers, {'limit': -1}) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('87d12517-e20a-4c9c-97b6-dd1628d6d6c9') def test_list_servers_by_changes_since_invalid_date(self): # Return an error when invalid date format is passed self.assertRaises(lib_exc.BadRequest, self.client.list_servers, {'changes-since': '2011/01/01'}) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('74745ad8-b346-45b5-b9b8-509d7447fc1f') def test_list_servers_by_changes_since_future_date(self): # Return an empty list when a date in the future is passed @@ -142,7 +142,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest): body = self.client.list_servers(changes_since) self.assertEqual(0, len(body['servers'])) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('93055106-2d34-46fe-af68-d9ddbf7ee570') def test_list_servers_detail_server_is_deleted(self): # Server details are not listed for a deleted server diff --git a/tempest/api/compute/servers/test_multiple_create_negative.py b/tempest/api/compute/servers/test_multiple_create_negative.py index ef47ad70c..bfc98ff7d 100644 --- a/tempest/api/compute/servers/test_multiple_create_negative.py +++ b/tempest/api/compute/servers/test_multiple_create_negative.py @@ -36,35 +36,35 @@ class MultipleCreateNegativeTestJSON(base.BaseV2ComputeTest): return body - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('daf29d8d-e928-4a01-9a8c-b129603f3fc0') def test_min_count_less_than_one(self): invalid_min_count = 0 self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers, min_count=invalid_min_count) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('999aa722-d624-4423-b813-0d1ac9884d7a') def test_min_count_non_integer(self): invalid_min_count = 2.5 self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers, min_count=invalid_min_count) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a6f9c2ab-e060-4b82-b23c-4532cb9390ff') def test_max_count_less_than_one(self): invalid_max_count = 0 self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers, max_count=invalid_max_count) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9c5698d1-d7af-4c80-b971-9d403135eea2') def test_max_count_non_integer(self): invalid_max_count = 2.5 self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers, max_count=invalid_max_count) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('476da616-f1ef-4271-a9b1-b9fc87727cdf') def test_max_count_less_than_min_count(self): min_count = 3 diff --git a/tempest/api/compute/servers/test_server_addresses_negative.py b/tempest/api/compute/servers/test_server_addresses_negative.py index dac5637bd..3503dc2a3 100644 --- a/tempest/api/compute/servers/test_server_addresses_negative.py +++ b/tempest/api/compute/servers/test_server_addresses_negative.py @@ -36,7 +36,7 @@ class ServerAddressesNegativeTestJSON(base.BaseV2ComputeTest): super(ServerAddressesNegativeTestJSON, cls).resource_setup() cls.server = cls.create_test_server(wait_until='ACTIVE') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('02c3f645-2d2e-4417-8525-68c0407d001b') @test.services('network') def test_list_server_addresses_invalid_server_id(self): @@ -44,7 +44,7 @@ class ServerAddressesNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.list_addresses, '999') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a2ab5144-78c0-4942-a0ed-cc8edccfd9ba') @test.services('network') def test_list_server_addresses_by_network_neg(self): diff --git a/tempest/api/compute/servers/test_server_metadata_negative.py b/tempest/api/compute/servers/test_server_metadata_negative.py index 5e1765d04..1a977abe0 100644 --- a/tempest/api/compute/servers/test_server_metadata_negative.py +++ b/tempest/api/compute/servers/test_server_metadata_negative.py @@ -36,7 +36,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): cls.server_id = server['id'] - @test.attr(type=['gate', 'negative']) + @test.attr(type=['negative']) @test.idempotent_id('fe114a8f-3a57-4eff-9ee2-4e14628df049') def test_server_create_metadata_key_too_long(self): # Attempt to start a server with a meta-data key that is > 255 @@ -52,7 +52,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): # no teardown - all creates should fail - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('92431555-4d8b-467c-b95b-b17daa5e57ff') def test_create_server_metadata_blank_key(self): # Blank key should trigger an error. @@ -61,7 +61,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, meta=meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4d9cd7a3-2010-4b41-b8fe-3bbf0b169466') def test_server_metadata_non_existent_server(self): # GET on a non-existent server should not succeed @@ -71,7 +71,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): non_existent_server_id, 'test2') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f408e78e-3066-4097-9299-3b0182da812e') def test_list_server_metadata_non_existent_server(self): # List metadata on a non-existent server should not succeed @@ -80,7 +80,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): self.client.list_server_metadata, non_existent_server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0025fbd6-a4ba-4cde-b8c2-96805dcfdabc') def test_wrong_key_passed_in_body(self): # Raise BadRequest if key in uri does not match @@ -90,7 +90,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): self.client.set_server_metadata_item, self.server_id, 'key', meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0df38c2a-3d4e-4db5-98d8-d4d9fa843a12') def test_set_metadata_non_existent_server(self): # Set metadata on a non-existent server should not succeed @@ -101,7 +101,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): non_existent_server_id, meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('904b13dc-0ef2-4e4c-91cd-3b4a0f2f49d8') def test_update_metadata_non_existent_server(self): # An update should not happen for a non-existent server @@ -112,7 +112,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): non_existent_server_id, meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a452f38c-05c2-4b47-bd44-a4f0bf5a5e48') def test_update_metadata_with_blank_key(self): # Blank key should trigger an error @@ -121,7 +121,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): self.client.update_server_metadata, self.server_id, meta=meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6bbd88e1-f8b3-424d-ba10-ae21c45ada8d') def test_delete_metadata_non_existent_server(self): # Should not be able to delete metadata item from a non-existent server @@ -131,7 +131,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): non_existent_server_id, 'd') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d8c0a210-a5c3-4664-be04-69d96746b547') def test_metadata_items_limit(self): # A 403 Forbidden or 413 Overlimit (old behaviour) exception @@ -156,7 +156,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): self.client.update_server_metadata, self.server_id, req_metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('96100343-7fa9-40d8-80fa-d29ef588ce1c') def test_set_server_metadata_blank_key(self): # Raise a bad request error for blank key. @@ -166,7 +166,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest): self.client.set_server_metadata, self.server_id, meta=meta) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('64a91aee-9723-4863-be44-4c9d9f1e7d0e') def test_set_server_metadata_missing_metadata(self): # Raise a bad request error for a missing metadata field diff --git a/tempest/api/compute/servers/test_server_rescue_negative.py b/tempest/api/compute/servers/test_server_rescue_negative.py index 12b7c0a85..779800556 100644 --- a/tempest/api/compute/servers/test_server_rescue_negative.py +++ b/tempest/api/compute/servers/test_server_rescue_negative.py @@ -81,7 +81,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('cc3a883f-43c0-4fb6-a9bb-5579d64984ed') @testtools.skipUnless(CONF.compute_feature_enabled.pause, 'Pause is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_rescue_paused_instance(self): # Rescue a paused server self.servers_client.pause_server(self.server_id) @@ -91,13 +91,13 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest): self.servers_client.rescue_server, self.server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('db22b618-f157-4566-a317-1b6d467a8094') def test_rescued_vm_reboot(self): self.assertRaises(lib_exc.Conflict, self.servers_client.reboot, self.rescue_id, 'HARD') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6dfc0a55-3a77-4564-a144-1587b7971dde') def test_rescue_non_existent_server(self): # Rescue a non-existing server @@ -106,7 +106,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest): self.servers_client.rescue_server, non_existent_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('70cdb8a1-89f8-437d-9448-8844fd82bf46') def test_rescued_vm_rebuild(self): self.assertRaises(lib_exc.Conflict, @@ -116,7 +116,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('d0ccac79-0091-4cf4-a1ce-26162d0cc55f') @test.services('volume') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_rescued_vm_attach_volume(self): volume = self._create_volume() @@ -135,7 +135,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('f56e465b-fe10-48bf-b75d-646cda3a8bc9') @test.services('volume') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_rescued_vm_detach_volume(self): volume = self._create_volume() diff --git a/tempest/api/compute/servers/test_servers_negative.py b/tempest/api/compute/servers/test_servers_negative.py index 853e2621a..5387f064f 100644 --- a/tempest/api/compute/servers/test_servers_negative.py +++ b/tempest/api/compute/servers/test_servers_negative.py @@ -57,7 +57,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): server = cls.create_test_server(wait_until='ACTIVE') cls.server_id = server['id'] - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('dbbfd247-c40c-449e-8f6c-d2aa7c7da7cf') def test_server_name_blank(self): # Create a server with name parameter empty @@ -66,7 +66,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, name='') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b8a7235e-5246-4a8f-a08e-b34877c6586f') def test_personality_file_contents_not_encoded(self): # Use an unencoded file when creating a server with personality @@ -79,7 +79,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, personality=person) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('fcba1052-0a50-4cf3-b1ac-fae241edf02f') def test_create_with_invalid_image(self): # Create a server with an unknown image @@ -88,7 +88,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, image_id=-1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('18f5227f-d155-4429-807c-ccb103887537') def test_create_with_invalid_flavor(self): # Create a server with an unknown flavor @@ -97,7 +97,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, flavor=-1,) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7f70a4d1-608f-4794-9e56-cb182765972c') def test_invalid_access_ip_v4_address(self): # An access IPv4 address must match a valid address pattern @@ -106,7 +106,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.create_test_server, accessIPv4=IPv4) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5226dd80-1e9c-4d8a-b5f9-b26ca4763fd0') def test_invalid_ip_v6_address(self): # An access IPv6 address must match a valid address pattern @@ -119,7 +119,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('7ea45b3e-e770-46fa-bfcc-9daaf6d987c0') @testtools.skipUnless(CONF.compute_feature_enabled.resize, 'Resize not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resize_nonexistent_server(self): # Resize a non-existent server nonexistent_server = data_utils.rand_uuid() @@ -130,7 +130,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('ced1a1d7-2ab6-45c9-b90f-b27d87b30efd') @testtools.skipUnless(CONF.compute_feature_enabled.resize, 'Resize not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resize_server_with_non_existent_flavor(self): # Resize a server with non-existent flavor nonexistent_flavor = data_utils.rand_uuid() @@ -140,13 +140,13 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('45436a7d-a388-4a35-a9d8-3adc5d0d940b') @testtools.skipUnless(CONF.compute_feature_enabled.resize, 'Resize not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resize_server_with_null_flavor(self): # Resize a server with null flavor self.assertRaises(lib_exc.BadRequest, self.client.resize, self.server_id, flavor_ref="") - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d4c023a0-9c55-4747-9dd5-413b820143c7') def test_reboot_non_existent_server(self): # Reboot a non existent server @@ -157,7 +157,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('d1417e7f-a509-41b5-a102-d5eed8613369') @testtools.skipUnless(CONF.compute_feature_enabled.pause, 'Pause is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_pause_paused_server(self): # Pause a paused server. self.client.pause_server(self.server_id) @@ -167,7 +167,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.server_id) self.client.unpause_server(self.server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('98fa0458-1485-440f-873b-fe7f0d714930') def test_rebuild_reboot_deleted_server(self): # Rebuild and Reboot a deleted server @@ -181,7 +181,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.reboot, server['id'], 'SOFT') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d86141a7-906e-4731-b187-d64a2ea61422') def test_rebuild_non_existent_server(self): # Rebuild a non existent server @@ -191,7 +191,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): nonexistent_server, self.image_ref_alt) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('fd57f159-68d6-4c2a-902b-03070828a87e') def test_create_numeric_server_name(self): server_name = 12345 @@ -199,7 +199,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, name=server_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c3e0fb12-07fc-4d76-a22e-37409887afe8') def test_create_server_name_length_exceeds_256(self): # Create a server with name length exceeding 256 characters @@ -209,7 +209,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, name=server_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4e72dc2d-44c5-4336-9667-f7972e95c402') def test_create_with_invalid_network_uuid(self): # Pass invalid network uuid while creating a server @@ -220,7 +220,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, networks=networks) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7a2efc39-530c-47de-b875-2dd01c8d39bd') def test_create_with_non_existent_keypair(self): # Pass a non-existent keypair while creating a server @@ -230,7 +230,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, key_name=key_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7fc74810-0bd2-4cd7-8244-4f33a9db865a') def test_create_server_metadata_exceeds_length_limit(self): # Pass really long metadata while creating a server @@ -240,7 +240,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, meta=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('aa8eed43-e2cb-4ebf-930b-da14f6a21d81') def test_update_name_of_non_existent_server(self): # Update name of a non-existent server @@ -251,7 +251,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.update_server, server_name, name=new_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('38204696-17c6-44da-9590-40f87fb5a899') def test_update_server_set_empty_name(self): # Update name of the server to an empty string @@ -262,7 +262,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.update_server, server_name, name=new_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('543d84c1-dd2e-4c6d-8cb2-b9da0efaa384') def test_update_server_of_another_tenant(self): # Update name of a server that belongs to another tenant @@ -272,7 +272,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.alt_client.update_server, self.server_id, name=new_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5c8e244c-dada-4590-9944-749c455b431f') def test_update_server_name_length_exceeds_256(self): # Update name of server exceed the name length limit @@ -283,7 +283,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.server_id, name=new_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1041b4e6-514b-4855-96a5-e974b60870a3') def test_delete_non_existent_server(self): # Delete a non existent server @@ -292,7 +292,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_server, nonexistent_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5c75009d-3eea-423e-bea3-61b09fd25f9c') def test_delete_a_server_of_another_tenant(self): # Delete a server that belongs to another tenant @@ -300,14 +300,14 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.alt_client.delete_server, self.server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('75f79124-277c-45e6-a373-a1d6803f4cc4') def test_delete_server_pass_negative_id(self): # Pass an invalid string parameter to delete server self.assertRaises(lib_exc.NotFound, self.client.delete_server, -1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f4d7279b-5fd2-4bf2-9ba4-ae35df0d18c5') def test_delete_server_pass_id_exceeding_length_limit(self): # Pass a server ID that exceeds length limit to delete server @@ -315,7 +315,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_server, sys.maxint + 1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c5fa6041-80cd-483b-aa6d-4e45f19d093c') def test_create_with_nonexistent_security_group(self): # Create a server with a nonexistent security group @@ -325,7 +325,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.create_test_server, security_groups=security_groups) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3436b02f-1b1e-4f03-881e-c6a602327439') def test_get_non_existent_server(self): # Get a non existent server details @@ -333,7 +333,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.get_server, nonexistent_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a31460a9-49e1-42aa-82ee-06e0bb7c2d03') def test_stop_non_existent_server(self): # Stop a non existent server @@ -344,7 +344,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('6a8dc0c6-6cd4-4c0a-9f32-413881828091') @testtools.skipUnless(CONF.compute_feature_enabled.pause, 'Pause is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_pause_non_existent_server(self): # pause a non existent server nonexistent_server = data_utils.rand_uuid() @@ -354,7 +354,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('705b8e3a-e8a7-477c-a19b-6868fc24ac75') @testtools.skipUnless(CONF.compute_feature_enabled.pause, 'Pause is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_unpause_non_existent_server(self): # unpause a non existent server nonexistent_server = data_utils.rand_uuid() @@ -364,7 +364,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('c8e639a7-ece8-42dd-a2e0-49615917ba4f') @testtools.skipUnless(CONF.compute_feature_enabled.pause, 'Pause is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_unpause_server_invalid_state(self): # unpause an active server. self.assertRaises(lib_exc.Conflict, @@ -374,7 +374,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('d1f032d5-7b6e-48aa-b252-d5f16dd994ca') @testtools.skipUnless(CONF.compute_feature_enabled.suspend, 'Suspend is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_suspend_non_existent_server(self): # suspend a non existent server nonexistent_server = data_utils.rand_uuid() @@ -384,7 +384,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('7f323206-05a9-4bf8-996b-dd5b2036501b') @testtools.skipUnless(CONF.compute_feature_enabled.suspend, 'Suspend is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_suspend_server_invalid_state(self): # suspend a suspended server. self.client.suspend_server(self.server_id) @@ -397,7 +397,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('221cd282-bddb-4837-a683-89c2487389b6') @testtools.skipUnless(CONF.compute_feature_enabled.suspend, 'Suspend is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resume_non_existent_server(self): # resume a non existent server nonexistent_server = data_utils.rand_uuid() @@ -407,14 +407,14 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('ccb6294d-c4c9-498f-8a43-554c098bfadb') @testtools.skipUnless(CONF.compute_feature_enabled.suspend, 'Suspend is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_resume_server_invalid_state(self): # resume an active server. self.assertRaises(lib_exc.Conflict, self.client.resume_server, self.server_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7dd919e7-413f-4198-bebb-35e2a01b13e9') def test_get_console_output_of_non_existent_server(self): # get the console output for a non existent server @@ -423,7 +423,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.client.get_console_output, nonexistent_server, 10) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6f47992b-5144-4250-9f8b-f00aa33950f3') def test_force_delete_nonexistent_server_id(self): # force-delete a non existent server @@ -432,7 +432,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.client.force_delete_server, nonexistent_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9c6d38cc-fcfb-437a-85b9-7b788af8bf01') def test_restore_nonexistent_server_id(self): # restore-delete a non existent server @@ -441,7 +441,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): self.client.restore_soft_deleted_server, nonexistent_server) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7fcadfab-bd6a-4753-8db7-4a51e51aade9') def test_restore_server_invalid_state(self): # we can only restore-delete a server in 'soft-delete' state @@ -452,7 +452,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('abca56e2-a892-48ea-b5e5-e07e69774816') @testtools.skipUnless(CONF.compute_feature_enabled.shelve, 'Shelve is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_shelve_non_existent_server(self): # shelve a non existent server nonexistent_server = data_utils.rand_uuid() @@ -462,7 +462,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('443e4f9b-e6bf-4389-b601-3a710f15fddd') @testtools.skipUnless(CONF.compute_feature_enabled.shelve, 'Shelve is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_shelve_shelved_server(self): # shelve a shelved server. self.client.shelve_server(self.server_id) @@ -492,7 +492,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('23d23b37-afaf-40d7-aa5d-5726f82d8821') @testtools.skipUnless(CONF.compute_feature_enabled.shelve, 'Shelve is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_unshelve_non_existent_server(self): # unshelve a non existent server nonexistent_server = data_utils.rand_uuid() @@ -502,7 +502,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest): @test.idempotent_id('8f198ded-1cca-4228-9e65-c6b449c54880') @testtools.skipUnless(CONF.compute_feature_enabled.shelve, 'Shelve is not available.') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) def test_unshelve_server_invalid_state(self): # unshelve an active server. self.assertRaises(lib_exc.Conflict, diff --git a/tempest/api/compute/servers/test_virtual_interfaces_negative.py b/tempest/api/compute/servers/test_virtual_interfaces_negative.py index e5cb74450..577a673a9 100644 --- a/tempest/api/compute/servers/test_virtual_interfaces_negative.py +++ b/tempest/api/compute/servers/test_virtual_interfaces_negative.py @@ -34,7 +34,7 @@ class VirtualInterfacesNegativeTestJSON(base.BaseV2ComputeTest): super(VirtualInterfacesNegativeTestJSON, cls).setup_clients() cls.client = cls.servers_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('64ebd03c-1089-4306-93fa-60f5eb5c803c') @test.services('network') def test_list_virtual_interfaces_invalid_server_id(self): diff --git a/tempest/api/compute/test_live_block_migration_negative.py b/tempest/api/compute/test_live_block_migration_negative.py index b59e3343b..5ee76ca89 100644 --- a/tempest/api/compute/test_live_block_migration_negative.py +++ b/tempest/api/compute/test_live_block_migration_negative.py @@ -45,7 +45,7 @@ class LiveBlockMigrationNegativeTestJSON(base.BaseV2ComputeAdminTest): block_migration_for_live_migration) return body - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7fb7856e-ae92-44c9-861a-af62d7830bcb') def test_invalid_host_for_migration(self): # Migrating to an invalid host should not change the status diff --git a/tempest/api/compute/volumes/test_volumes_negative.py b/tempest/api/compute/volumes/test_volumes_negative.py index fb9f365e8..65d9def9c 100644 --- a/tempest/api/compute/volumes/test_volumes_negative.py +++ b/tempest/api/compute/volumes/test_volumes_negative.py @@ -39,7 +39,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): super(VolumesNegativeTest, cls).setup_clients() cls.client = cls.volumes_extensions_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c03ea686-905b-41a2-8748-9635154b7c57') def test_volume_get_nonexistent_volume_id(self): # Negative: Should not be able to get details of nonexistent volume @@ -48,7 +48,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.get_volume, str(uuid.uuid4())) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('54a34226-d910-4b00-9ef8-8683e6c55846') def test_volume_delete_nonexistent_volume_id(self): # Negative: Should not be able to delete nonexistent Volume @@ -57,7 +57,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_volume, str(uuid.uuid4())) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5125ae14-152b-40a7-b3c5-eae15e9022ef') def test_create_volume_with_invalid_size(self): # Negative: Should not be able to create volume with invalid size @@ -67,7 +67,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='#$%', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('131cb3a1-75cc-4d40-b4c3-1317f64719b0') def test_create_volume_with_out_passing_size(self): # Negative: Should not be able to create volume without passing size @@ -77,7 +77,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8cce995e-0a83-479a-b94d-e1e40b8a09d1') def test_create_volume_with_size_zero(self): # Negative: Should not be able to create volume with size zero @@ -86,20 +86,20 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='0', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f01904f2-e975-4915-98ce-cb5fa27bde4f') def test_get_invalid_volume_id(self): # Negative: Should not be able to get volume with invalid id self.assertRaises(lib_exc.NotFound, self.client.get_volume, '#$%%&^&^') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('62bab09a-4c03-4617-8cca-8572bc94af9b') def test_get_volume_without_passing_volume_id(self): # Negative: Should not be able to get volume when empty ID is passed self.assertRaises(lib_exc.NotFound, self.client.get_volume, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('62972737-124b-4513-b6cf-2f019f178494') def test_delete_invalid_volume_id(self): # Negative: Should not be able to delete volume when invalid ID is @@ -107,7 +107,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest): self.assertRaises(lib_exc.NotFound, self.client.delete_volume, '!@#$%^&*()') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0d1417c5-4ae8-4c2c-adc5-5f0b864253e5') def test_delete_volume_without_passing_volume_id(self): # Negative: Should not be able to delete volume when empty ID is passed diff --git a/tempest/api/database/flavors/test_flavors_negative.py b/tempest/api/database/flavors/test_flavors_negative.py index 1b2c88cac..68cb7d684 100644 --- a/tempest/api/database/flavors/test_flavors_negative.py +++ b/tempest/api/database/flavors/test_flavors_negative.py @@ -26,7 +26,7 @@ class DatabaseFlavorsNegativeTest(base.BaseDatabaseTest): super(DatabaseFlavorsNegativeTest, cls).setup_clients() cls.client = cls.database_flavors_client - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f8e7b721-373f-4a64-8e9c-5327e975af3e') def test_get_non_existent_db_flavor(self): # flavor details are not returned for non-existent flavors diff --git a/tempest/api/identity/admin/v2/test_roles_negative.py b/tempest/api/identity/admin/v2/test_roles_negative.py index 5e197ece6..3654f9cb3 100644 --- a/tempest/api/identity/admin/v2/test_roles_negative.py +++ b/tempest/api/identity/admin/v2/test_roles_negative.py @@ -32,14 +32,14 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): role = self.get_role_by_name(self.data.test_role) return (user, tenant, role) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d5d5f1df-f8ca-4de0-b2ef-259c1cc67025') def test_list_roles_by_unauthorized_user(self): # Non-administrator user should not be able to list roles self.assertRaises(lib_exc.Forbidden, self.non_admin_client.list_roles) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('11a3c7da-df6c-40c2-abc2-badd682edf9f') def test_list_roles_request_without_token(self): # Request to list roles without a valid token should fail @@ -48,13 +48,13 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Unauthorized, self.client.list_roles) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c0b89e56-accc-4c73-85f8-9c0f866104c1') def test_role_create_blank_name(self): # Should not be able to create a role with a blank name self.assertRaises(lib_exc.BadRequest, self.client.create_role, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('585c8998-a8a4-4641-a5dd-abef7a8ced00') def test_create_role_by_unauthorized_user(self): # Non-administrator user should not be able to create role @@ -62,7 +62,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.create_role, role_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a7edd17a-e34a-4aab-8bb7-fa6f498645b8') def test_create_role_request_without_token(self): # Request to create role without a valid token should fail @@ -73,7 +73,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.client.create_role, role_name) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c0cde2c8-81c1-4bb0-8fe2-cf615a3547a8') def test_role_create_duplicate(self): # Role names should be unique @@ -84,7 +84,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Conflict, self.client.create_role, role_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('15347635-b5b1-4a87-a280-deb2bd6d865e') def test_delete_role_by_unauthorized_user(self): # Non-administrator user should not be able to delete role @@ -95,7 +95,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.delete_role, role_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('44b60b20-70de-4dac-beaf-a3fc2650a16b') def test_delete_role_request_without_token(self): # Request to delete role without a valid token should fail @@ -110,7 +110,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): role_id) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('38373691-8551-453a-b074-4260ad8298ef') def test_delete_role_non_existent(self): # Attempt to delete a non existent role should fail @@ -118,7 +118,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.NotFound, self.client.delete_role, non_existent_role) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('391df5cf-3ec3-46c9-bbe5-5cb58dd4dc41') def test_assign_user_role_by_unauthorized_user(self): # Non-administrator user should not be authorized to @@ -128,7 +128,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.non_admin_client.assign_user_role, tenant['id'], user['id'], role['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f0d2683c-5603-4aee-95d7-21420e87cfd8') def test_assign_user_role_request_without_token(self): # Request to assign a role to a user without a valid token @@ -140,7 +140,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): user['id'], role['id']) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('99b297f6-2b5d-47c7-97a9-8b6bb4f91042') def test_assign_user_role_for_non_existent_role(self): # Attempt to assign a non existent role to user should fail @@ -149,7 +149,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.NotFound, self.client.assign_user_role, tenant['id'], user['id'], non_existent_role) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b2285aaa-9e76-4704-93a9-7a8acd0a6c8f') def test_assign_user_role_for_non_existent_tenant(self): # Attempt to assign a role on a non existent tenant should fail @@ -158,7 +158,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.NotFound, self.client.assign_user_role, non_existent_tenant, user['id'], role['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5c3132cd-c4c8-4402-b5ea-71eb44e97793') def test_assign_duplicate_user_role(self): # Duplicate user role should not get assigned @@ -167,7 +167,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Conflict, self.client.assign_user_role, tenant['id'], user['id'], role['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d0537987-0977-448f-a435-904c15de7298') def test_remove_user_role_by_unauthorized_user(self): # Non-administrator user should not be authorized to @@ -180,7 +180,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.non_admin_client.remove_user_role, tenant['id'], user['id'], role['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('cac81cf4-c1d2-47dc-90d3-f2b7eb572286') def test_remove_user_role_request_without_token(self): # Request to remove a user's role without a valid token @@ -195,7 +195,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): user['id'], role['id']) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ab32d759-cd16-41f1-a86e-44405fa9f6d2') def test_remove_user_role_non_existent_role(self): # Attempt to delete a non existent role from a user should fail @@ -207,7 +207,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.NotFound, self.client.remove_user_role, tenant['id'], user['id'], non_existent_role) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('67a679ec-03dd-4551-bbfc-d1c93284f023') def test_remove_user_role_non_existent_tenant(self): # Attempt to remove a role from a non existent tenant should fail @@ -219,7 +219,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.NotFound, self.client.remove_user_role, non_existent_tenant, user['id'], role['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7391ab4c-06f3-477a-a64a-c8e55ce89837') def test_list_user_roles_by_unauthorized_user(self): # Non-administrator user should not be authorized to list @@ -230,7 +230,7 @@ class RolesNegativeTestJSON(base.BaseIdentityV2AdminTest): self.non_admin_client.list_user_roles, tenant['id'], user['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('682adfb2-fd5f-4b0a-a9ca-322e9bebb907') def test_list_user_roles_request_without_token(self): # Request to list user's roles without a valid token should fail diff --git a/tempest/api/identity/admin/v2/test_tenant_negative.py b/tempest/api/identity/admin/v2/test_tenant_negative.py index 3ee412b3e..367b69950 100644 --- a/tempest/api/identity/admin/v2/test_tenant_negative.py +++ b/tempest/api/identity/admin/v2/test_tenant_negative.py @@ -24,14 +24,14 @@ from tempest import test class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ca9bb202-63dd-4240-8a07-8ef9c19c04bb') def test_list_tenants_by_unauthorized_user(self): # Non-administrator user should not be able to list tenants self.assertRaises(lib_exc.Forbidden, self.non_admin_client.list_tenants) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('df33926c-1c96-4d8d-a762-79cc6b0c3cf4') def test_list_tenant_request_without_token(self): # Request to list tenants without a valid token should fail @@ -40,7 +40,7 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Unauthorized, self.client.list_tenants) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('162ba316-f18b-4987-8c0c-fd9140cd63ed') def test_tenant_delete_by_unauthorized_user(self): # Non-administrator user should not be able to delete a tenant @@ -50,7 +50,7 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.delete_tenant, tenant['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e450db62-2e9d-418f-893a-54772d6386b1') def test_tenant_delete_request_without_token(self): # Request to delete a tenant without a valid token should fail @@ -63,14 +63,14 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): tenant['id']) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9c9a2aed-6e3c-467a-8f5c-89da9d1b516b') def test_delete_non_existent_tenant(self): # Attempt to delete a non existent tenant should fail self.assertRaises(lib_exc.NotFound, self.client.delete_tenant, str(uuid.uuid4().hex)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('af16f44b-a849-46cb-9f13-a751c388f739') def test_tenant_create_duplicate(self): # Tenant names should be unique @@ -85,7 +85,7 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Conflict, self.client.create_tenant, tenant_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d26b278a-6389-4702-8d6e-5980d80137e0') def test_create_tenant_by_unauthorized_user(self): # Non-administrator user should not be authorized to create a tenant @@ -93,7 +93,7 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.create_tenant, tenant_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a3ee9d7e-6920-4dd5-9321-d4b2b7f0a638') def test_create_tenant_request_without_token(self): # Create tenant request without a token should not be authorized @@ -104,14 +104,14 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): tenant_name) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5a2e4ca9-b0c0-486c-9c48-64a94fba2395') def test_create_tenant_with_empty_name(self): # Tenant name should not be empty self.assertRaises(lib_exc.BadRequest, self.client.create_tenant, name='') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('2ff18d1e-dfe3-4359-9dc3-abf582c196b9') def test_create_tenants_name_length_over_64(self): # Tenant name length should not be greater than 64 characters @@ -119,14 +119,14 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.BadRequest, self.client.create_tenant, tenant_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('bd20dc2a-9557-4db7-b755-f48d952ad706') def test_update_non_existent_tenant(self): # Attempt to update a non existent tenant should fail self.assertRaises(lib_exc.NotFound, self.client.update_tenant, str(uuid.uuid4().hex)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('41704dc5-c5f7-4f79-abfa-76e6fedc570b') def test_tenant_update_by_unauthorized_user(self): # Non-administrator user should not be able to update a tenant @@ -136,7 +136,7 @@ class TenantsNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.update_tenant, tenant['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7a421573-72c7-4c22-a98e-ce539219c657') def test_tenant_update_request_without_token(self): # Request to update a tenant without a valid token should fail diff --git a/tempest/api/identity/admin/v2/test_users_negative.py b/tempest/api/identity/admin/v2/test_users_negative.py index dcf55653d..3c1500694 100644 --- a/tempest/api/identity/admin/v2/test_users_negative.py +++ b/tempest/api/identity/admin/v2/test_users_negative.py @@ -31,7 +31,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): cls.alt_password = data_utils.rand_name('pass') cls.alt_email = cls.alt_user + '@testmail.tm' - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('60a1f5fa-5744-4cdf-82bf-60b7de2d29a4') def test_create_user_by_unauthorized_user(self): # Non-administrator should not be authorized to create a user @@ -41,7 +41,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.alt_password, self.data.tenant['id'], self.alt_email) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d80d0c2f-4514-4d1e-806d-0930dfc5a187') def test_create_user_with_empty_name(self): # User with an empty name should not be created @@ -50,7 +50,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.alt_password, self.data.tenant['id'], self.alt_email) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7704b4f3-3b75-4b82-87cc-931d41c8f780') def test_create_user_with_name_length_over_255(self): # Length of user name filed should be restricted to 255 characters @@ -59,7 +59,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): 'a' * 256, self.alt_password, self.data.tenant['id'], self.alt_email) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('57ae8558-120c-4723-9308-3751474e7ecf') def test_create_user_with_duplicate_name(self): # Duplicate user should not be created @@ -68,7 +68,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.data.test_user, self.data.test_password, self.data.tenant['id'], self.data.test_email) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0132cc22-7c4f-42e1-9e50-ac6aad31d59a') def test_create_user_for_non_existent_tenant(self): # Attempt to create a user in a non-existent tenant should fail @@ -76,7 +76,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.alt_user, self.alt_password, '49ffgg99999', self.alt_email) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('55bbb103-d1ae-437b-989b-bcdf8175c1f4') def test_create_user_request_without_a_token(self): # Request to create a user without a valid token should fail @@ -92,7 +92,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): # Unset the token to allow further tests to generate a new token self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('23a2f3da-4a1a-41da-abdd-632328a861ad') def test_create_user_with_enabled_non_bool(self): # Attempt to create a user with valid enabled para should fail @@ -103,7 +103,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.data.tenant['id'], self.alt_email, enabled=3) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3d07e294-27a0-4144-b780-a2a1bf6fee19') def test_update_user_for_non_existent_user(self): # Attempt to update a user non-existent user should fail @@ -112,7 +112,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.NotFound, self.client.update_user, non_existent_id, name=user_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('3cc2a64b-83aa-4b02-88f0-d6ab737c4466') def test_update_user_request_without_a_token(self): # Request to update a user without a valid token should fail @@ -127,7 +127,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): # Unset the token to allow further tests to generate a new token self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('424868d5-18a7-43e1-8903-a64f95ee3aac') def test_update_user_by_unauthorized_user(self): # Non-administrator should not be authorized to update user @@ -135,7 +135,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.update_user, self.alt_user) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d45195d5-33ed-41b9-a452-7d0d6a00f6e9') def test_delete_users_by_unauthorized_user(self): # Non-administrator user should not be authorized to delete a user @@ -144,14 +144,14 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.non_admin_client.delete_user, self.data.user['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7cc82f7e-9998-4f89-abae-23df36495867') def test_delete_non_existent_user(self): # Attempt to delete a non-existent user should fail self.assertRaises(lib_exc.NotFound, self.client.delete_user, 'junk12345123') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('57fe1df8-0aa7-46c0-ae9f-c2e785c7504a') def test_delete_user_request_without_a_token(self): # Request to delete a user without a valid token should fail @@ -166,7 +166,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): # Unset the token to allow further tests to generate a new token self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('593a4981-f6d4-460a-99a1-57a78bf20829') def test_authentication_for_disabled_user(self): # Disabled user's token should not get authenticated @@ -177,7 +177,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.data.test_password, self.data.test_tenant) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('440a7a8d-9328-4b7b-83e0-d717010495e4') def test_authentication_when_tenant_is_disabled(self): # User's token for a disabled tenant should not be authenticated @@ -188,7 +188,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.data.test_password, self.data.test_tenant) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('921f1ad6-7907-40b8-853f-637e7ee52178') def test_authentication_with_invalid_tenant(self): # User's token for an invalid tenant should not be authenticated @@ -198,7 +198,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.data.test_password, 'junktenant1234') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('bde9aecd-3b1c-4079-858f-beb5deaa5b5e') def test_authentication_with_invalid_username(self): # Non-existent user's token should not get authenticated @@ -207,7 +207,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): 'junkuser123', self.data.test_password, self.data.test_tenant) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('d5308b33-3574-43c3-8d87-1c090c5e1eca') def test_authentication_with_invalid_password(self): # User's token with invalid password should not be authenticated @@ -216,7 +216,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.data.test_user, 'junkpass1234', self.data.test_tenant) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('284192ce-fb7c-4909-a63b-9a502e0ddd11') def test_get_users_by_unauthorized_user(self): # Non-administrator user should not be authorized to get user list @@ -224,7 +224,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Forbidden, self.non_admin_client.get_users) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a73591ec-1903-4ffe-be42-282b39fefc9d') def test_get_users_request_without_token(self): # Request to get list of users without a valid token should fail @@ -233,7 +233,7 @@ class UsersNegativeTestJSON(base.BaseIdentityV2AdminTest): self.assertRaises(lib_exc.Unauthorized, self.client.get_users) self.client.auth_provider.clear_auth() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f5d39046-fc5f-425c-b29e-bac2632da28e') def test_list_users_with_invalid_tenant(self): # Should not be able to return a list of all diff --git a/tempest/api/identity/admin/v3/test_endpoints_negative.py b/tempest/api/identity/admin/v3/test_endpoints_negative.py index 8b855665c..7972dbb3a 100644 --- a/tempest/api/identity/admin/v3/test_endpoints_negative.py +++ b/tempest/api/identity/admin/v3/test_endpoints_negative.py @@ -48,7 +48,7 @@ class EndpointsNegativeTestJSON(base.BaseIdentityV3AdminTest): cls.service_client.delete_service(s) super(EndpointsNegativeTestJSON, cls).resource_cleanup() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ac6c137e-4d3d-448f-8c83-4f13d0942651') def test_create_with_enabled_False(self): # Enabled should be a boolean, not a string like 'False' @@ -59,7 +59,7 @@ class EndpointsNegativeTestJSON(base.BaseIdentityV3AdminTest): self.service_id, interface, url, region=region, force_enabled='False') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9c43181e-0627-484a-8c79-923e8a59598b') def test_create_with_enabled_True(self): # Enabled should be a boolean, not a string like 'True' @@ -84,13 +84,13 @@ class EndpointsNegativeTestJSON(base.BaseIdentityV3AdminTest): self.assertRaises(lib_exc.BadRequest, self.client.update_endpoint, endpoint_for_update['id'], force_enabled=enabled) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('65e41f32-5eb7-498f-a92a-a6ccacf7439a') def test_update_with_enabled_False(self): # Enabled should be a boolean, not a string like 'False' self._assert_update_raises_bad_request('False') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('faba3587-f066-4757-a48e-b4a3f01803bb') def test_update_with_enabled_True(self): # Enabled should be a boolean, not a string like 'True' diff --git a/tempest/api/identity/admin/v3/test_projects_negative.py b/tempest/api/identity/admin/v3/test_projects_negative.py index 2dda5852c..37ec07149 100644 --- a/tempest/api/identity/admin/v3/test_projects_negative.py +++ b/tempest/api/identity/admin/v3/test_projects_negative.py @@ -22,14 +22,14 @@ from tempest import test class ProjectsNegativeTestJSON(base.BaseIdentityV3AdminTest): - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('24c49279-45dd-4155-887a-cb738c2385aa') def test_list_projects_by_unauthorized_user(self): # Non-admin user should not be able to list projects self.assertRaises(lib_exc.Forbidden, self.non_admin_client.list_projects) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('874c3e84-d174-4348-a16b-8c01f599561b') def test_project_create_duplicate(self): # Project names should be unique @@ -40,7 +40,7 @@ class ProjectsNegativeTestJSON(base.BaseIdentityV3AdminTest): self.assertRaises( lib_exc.Conflict, self.client.create_project, project_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8fba9de2-3e1f-4e77-812a-60cb68f8df13') def test_create_project_by_unauthorized_user(self): # Non-admin user should not be authorized to create a project @@ -49,14 +49,14 @@ class ProjectsNegativeTestJSON(base.BaseIdentityV3AdminTest): lib_exc.Forbidden, self.non_admin_client.create_project, project_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7828db17-95e5-475b-9432-9a51b4aa79a9') def test_create_project_with_empty_name(self): # Project name should not be empty self.assertRaises(lib_exc.BadRequest, self.client.create_project, name='') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('502b6ceb-b0c8-4422-bf53-f08fdb21e2f0') def test_create_projects_name_length_over_64(self): # Project name length should not be greater than 64 characters @@ -64,7 +64,7 @@ class ProjectsNegativeTestJSON(base.BaseIdentityV3AdminTest): self.assertRaises(lib_exc.BadRequest, self.client.create_project, project_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8d68c012-89e0-4394-8d6b-ccd7196def97') def test_project_delete_by_unauthorized_user(self): # Non-admin user should not be able to delete a project @@ -75,7 +75,7 @@ class ProjectsNegativeTestJSON(base.BaseIdentityV3AdminTest): lib_exc.Forbidden, self.non_admin_client.delete_project, project['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7965b581-60c1-43b7-8169-95d4ab7fc6fb') def test_delete_non_existent_project(self): # Attempt to delete a non existent project should fail diff --git a/tempest/api/image/v1/test_image_members_negative.py b/tempest/api/image/v1/test_image_members_negative.py index ad3e13196..b96cf71ef 100644 --- a/tempest/api/image/v1/test_image_members_negative.py +++ b/tempest/api/image/v1/test_image_members_negative.py @@ -21,7 +21,7 @@ from tempest import test class ImageMembersNegativeTest(base.BaseV1ImageMembersTest): - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('147a9536-18e3-45da-91ea-b037a028f364') def test_add_member_with_non_existing_image(self): # Add member with non existing image. @@ -29,7 +29,7 @@ class ImageMembersNegativeTest(base.BaseV1ImageMembersTest): self.assertRaises(lib_exc.NotFound, self.client.add_member, self.alt_tenant_id, non_exist_image) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e1559f05-b667-4f1b-a7af-518b52dc0c0f') def test_delete_member_with_non_existing_image(self): # Delete member with non existing image. @@ -37,7 +37,7 @@ class ImageMembersNegativeTest(base.BaseV1ImageMembersTest): self.assertRaises(lib_exc.NotFound, self.client.delete_member, self.alt_tenant_id, non_exist_image) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f5720333-dd69-4194-bb76-d2f048addd56') def test_delete_member_with_non_existing_tenant(self): # Delete member with non existing tenant. @@ -46,7 +46,7 @@ class ImageMembersNegativeTest(base.BaseV1ImageMembersTest): self.assertRaises(lib_exc.NotFound, self.client.delete_member, non_exist_tenant, image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f25f89e4-0b6c-453b-a853-1f80b9d7ef26') def test_get_image_without_membership(self): # Image is hidden from another tenants. diff --git a/tempest/api/image/v1/test_images_negative.py b/tempest/api/image/v1/test_images_negative.py index 85b943536..3d9440881 100644 --- a/tempest/api/image/v1/test_images_negative.py +++ b/tempest/api/image/v1/test_images_negative.py @@ -22,27 +22,27 @@ from tempest import test class CreateDeleteImagesNegativeTest(base.BaseV1ImageTest): """Here are negative tests for the deletion and creation of images.""" - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('036ede36-6160-4463-8c01-c781eee6369d') def test_register_with_invalid_container_format(self): # Negative tests for invalid data supplied to POST /images self.assertRaises(lib_exc.BadRequest, self.client.create_image, 'test', 'wrong', 'vhd') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('993face5-921d-4e84-aabf-c1bba4234a67') def test_register_with_invalid_disk_format(self): self.assertRaises(lib_exc.BadRequest, self.client.create_image, 'test', 'bare', 'wrong') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('bb016f15-0820-4f27-a92d-09b2f67d2488') def test_delete_image_with_invalid_image_id(self): # An image should not be deleted with invalid image id self.assertRaises(lib_exc.NotFound, self.client.delete_image, '!@$%^&*()') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ec652588-7e3c-4b67-a2f2-0fa96f57c8fc') def test_delete_non_existent_image(self): # Return an error while trying to delete a non-existent image @@ -51,13 +51,13 @@ class CreateDeleteImagesNegativeTest(base.BaseV1ImageTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, non_existent_image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('04f72aa3-fcec-45a3-81a3-308ef7cc82bc') def test_delete_image_blank_id(self): # Return an error while trying to delete an image with blank Id self.assertRaises(lib_exc.NotFound, self.client.delete_image, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('950e5054-a3c7-4dee-ada5-e576f1087abd') def test_delete_image_non_hex_string_id(self): # Return an error while trying to delete an image with non hex id @@ -65,13 +65,13 @@ class CreateDeleteImagesNegativeTest(base.BaseV1ImageTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4ed757cd-450c-44b1-9fd1-c819748c650d') def test_delete_image_negative_image_id(self): # Return an error while trying to delete an image with negative id self.assertRaises(lib_exc.NotFound, self.client.delete_image, -1) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('a4a448ab-3db2-4d2d-b9b2-6a1271241dfe') def test_delete_image_id_is_over_35_character_limit(self): # Return an error while trying to delete image with id over limit diff --git a/tempest/api/image/v2/test_images_member_negative.py b/tempest/api/image/v2/test_images_member_negative.py index c07db0ef1..d95e5c1e8 100644 --- a/tempest/api/image/v2/test_images_member_negative.py +++ b/tempest/api/image/v2/test_images_member_negative.py @@ -18,7 +18,7 @@ from tempest import test class ImagesMemberNegativeTest(base.BaseV2MemberImageTest): - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b79efb37-820d-4cf0-b54c-308b00cf842c') def test_image_share_invalid_status(self): image_id = self._create_image() @@ -29,7 +29,7 @@ class ImagesMemberNegativeTest(base.BaseV2MemberImageTest): self.alt_img_client.update_member_status, image_id, self.alt_tenant_id, 'notavalidstatus') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('27002f74-109e-4a37-acd0-f91cd4597967') def test_image_share_owner_cannot_accept(self): image_id = self._create_image() diff --git a/tempest/api/image/v2/test_images_negative.py b/tempest/api/image/v2/test_images_negative.py index 23d32f46f..60a10a28b 100644 --- a/tempest/api/image/v2/test_images_negative.py +++ b/tempest/api/image/v2/test_images_negative.py @@ -36,7 +36,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest): ** delete the deleted image """ - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('668743d5-08ad-4480-b2b8-15da34f81d9f') def test_get_non_existent_image(self): # get the non-existent image @@ -44,14 +44,14 @@ class ImagesNegativeTest(base.BaseV2ImageTest): self.assertRaises(lib_exc.NotFound, self.client.get_image, non_existent_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ef45000d-0a72-4781-866d-4cb7bf2562ad') 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) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e57fc127-7ba0-4693-92d7-1d8a05ebcba9') def test_get_delete_deleted_image(self): # get and delete the deleted image @@ -70,7 +70,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('6fe40f1c-57bd-4918-89cc-8500f850f3de') def test_delete_non_existing_image(self): # delete non-existent image @@ -78,7 +78,7 @@ class ImagesNegativeTest(base.BaseV2ImageTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, non_existent_image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('32248db1-ab88-4821-9604-c7c369f1f88c') def test_delete_image_null_id(self): # delete image with image_id=NULL @@ -86,14 +86,14 @@ class ImagesNegativeTest(base.BaseV2ImageTest): self.assertRaises(lib_exc.NotFound, self.client.delete_image, image_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('292bd310-369b-41c7-a7a3-10276ef76753') def test_register_with_invalid_container_format(self): # Negative tests for invalid data supplied to POST /images self.assertRaises(lib_exc.BadRequest, self.client.create_image, 'test', 'wrong', 'vhd') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('70c6040c-5a97-4111-9e13-e73665264ce1') def test_register_with_invalid_disk_format(self): self.assertRaises(lib_exc.BadRequest, self.client.create_image, diff --git a/tempest/api/image/v2/test_images_tags_negative.py b/tempest/api/image/v2/test_images_tags_negative.py index 227d35f3d..571b1f7ff 100644 --- a/tempest/api/image/v2/test_images_tags_negative.py +++ b/tempest/api/image/v2/test_images_tags_negative.py @@ -23,7 +23,7 @@ from tempest import test class ImagesTagsNegativeTest(base.BaseV2ImageTest): - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8cd30f82-6f9a-4c6e-8034-c1b51fba43d9') def test_update_tags_for_non_existing_image(self): # Update tag with non existing image. @@ -32,7 +32,7 @@ class ImagesTagsNegativeTest(base.BaseV2ImageTest): self.assertRaises(lib_exc.NotFound, self.client.add_image_tag, non_exist_image, tag) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('39c023a2-325a-433a-9eea-649bf1414b19') def test_delete_non_existing_tag(self): # Delete non existing tag. diff --git a/tempest/api/network/test_security_groups_negative.py b/tempest/api/network/test_security_groups_negative.py index 0c5f0173e..ce6253b62 100644 --- a/tempest/api/network/test_security_groups_negative.py +++ b/tempest/api/network/test_security_groups_negative.py @@ -34,14 +34,14 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): msg = "security-group extension not enabled." raise cls.skipException(msg) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('424fd5c3-9ddc-486a-b45f-39bf0c820fc6') def test_show_non_existent_security_group(self): non_exist_id = str(uuid.uuid4()) self.assertRaises(lib_exc.NotFound, self.client.show_security_group, non_exist_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4c094c09-000b-4e41-8100-9617600c02a6') def test_show_non_existent_security_group_rule(self): non_exist_id = str(uuid.uuid4()) @@ -49,7 +49,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): self.client.show_security_group_rule, non_exist_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1f1bb89d-5664-4956-9fcd-83ee0fa603df') def test_delete_non_existent_security_group(self): non_exist_id = str(uuid.uuid4()) @@ -58,7 +58,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): non_exist_id ) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('981bdc22-ce48-41ed-900a-73148b583958') def test_create_security_group_rule_with_bad_protocol(self): group_create_body, _ = self._create_security_group() @@ -70,7 +70,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): security_group_id=group_create_body['security_group']['id'], protocol=pname, direction='ingress', ethertype=self.ethertype) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5f8daf69-3c5f-4aaa-88c9-db1d66f68679') def test_create_security_group_rule_with_bad_remote_ip_prefix(self): group_create_body, _ = self._create_security_group() @@ -84,7 +84,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): protocol='tcp', direction='ingress', ethertype=self.ethertype, remote_ip_prefix=remote_ip_prefix) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('4bf786fd-2f02-443c-9716-5b98e159a49a') def test_create_security_group_rule_with_non_existent_remote_groupid(self): group_create_body, _ = self._create_security_group() @@ -99,7 +99,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): protocol='tcp', direction='ingress', ethertype=self.ethertype, remote_group_id=remote_group_id) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('b5c4b247-6b02-435b-b088-d10d45650881') def test_create_security_group_rule_with_remote_ip_and_group(self): sg1_body, _ = self._create_security_group() @@ -114,7 +114,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): ethertype=self.ethertype, remote_ip_prefix=prefix, remote_group_id=sg2_body['security_group']['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5666968c-fff3-40d6-9efc-df1c8bd01abb') def test_create_security_group_rule_with_bad_ethertype(self): group_create_body, _ = self._create_security_group() @@ -126,7 +126,7 @@ class NegativeSecGroupTest(base.BaseSecGroupTest): security_group_id=group_create_body['security_group']['id'], protocol='udp', direction='ingress', ethertype=ethertype) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0d9c7791-f2ad-4e2f-ac73-abf2373b0d2d') def test_create_security_group_rule_with_invalid_ports(self): group_create_body, _ = self._create_security_group() @@ -206,7 +206,7 @@ class NegativeSecGroupIPv6Test(NegativeSecGroupTest): _ip_version = 6 _tenant_network_cidr = CONF.network.tenant_network_v6_cidr - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7607439c-af73-499e-bf64-f687fd12a842') def test_create_security_group_rule_wrong_ip_prefix_version(self): group_create_body, _ = self._create_security_group() diff --git a/tempest/api/object_storage/test_account_services_negative.py b/tempest/api/object_storage/test_account_services_negative.py index 4a482da7d..feccf18b6 100644 --- a/tempest/api/object_storage/test_account_services_negative.py +++ b/tempest/api/object_storage/test_account_services_negative.py @@ -31,7 +31,7 @@ class AccountNegativeTest(base.BaseObjectTest): cls.isolated_creds.get_creds_by_roles( roles=[CONF.object_storage.operator_role], force_new=True)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('070e6aca-6152-4867-868d-1118d68fb38c') def test_list_containers_with_non_authorized_user(self): # list containers using non-authorized user diff --git a/tempest/api/object_storage/test_container_acl_negative.py b/tempest/api/object_storage/test_container_acl_negative.py index bbb44f4c6..f80cda488 100644 --- a/tempest/api/object_storage/test_container_acl_negative.py +++ b/tempest/api/object_storage/test_container_acl_negative.py @@ -46,7 +46,7 @@ class ObjectACLsNegativeTest(base.BaseObjectTest): self.delete_containers([self.container_name]) super(ObjectACLsNegativeTest, self).tearDown() - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('af587587-0c24-4e15-9822-8352ce711013') def test_write_object_without_using_creds(self): # trying to create object with empty headers @@ -60,7 +60,7 @@ class ObjectACLsNegativeTest(base.BaseObjectTest): self.object_client.create_object, self.container_name, object_name, 'data', headers={}) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('af85af0b-a025-4e72-a90e-121babf55720') def test_delete_object_without_using_creds(self): # create object @@ -77,7 +77,7 @@ class ObjectACLsNegativeTest(base.BaseObjectTest): self.object_client.delete_object, self.container_name, object_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('63d84e37-55a6-42e2-9e5f-276e60e26a00') def test_write_object_with_non_authorized_user(self): # attempt to upload another file using non-authorized user @@ -92,7 +92,7 @@ class ObjectACLsNegativeTest(base.BaseObjectTest): self.object_client.create_object, self.container_name, object_name, 'data', headers={}) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('abf63359-be52-4feb-87dd-447689fc77fd') def test_read_object_with_non_authorized_user(self): # attempt to read object using non-authorized user @@ -110,7 +110,7 @@ class ObjectACLsNegativeTest(base.BaseObjectTest): self.object_client.get_object, self.container_name, object_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('7343ac3d-cfed-4198-9bb0-00149741a492') def test_delete_object_with_non_authorized_user(self): # attempt to delete object using non-authorized user diff --git a/tempest/api/object_storage/test_object_formpost_negative.py b/tempest/api/object_storage/test_object_formpost_negative.py index 5e223a70a..89deca2af 100644 --- a/tempest/api/object_storage/test_object_formpost_negative.py +++ b/tempest/api/object_storage/test_object_formpost_negative.py @@ -108,7 +108,7 @@ class ObjectFormPostNegativeTest(base.BaseObjectTest): @test.idempotent_id('d3fb3c4d-e627-48ce-9379-a1631f21336d') @test.requires_ext(extension='formpost', service='object') - @test.attr(type=['gate', 'negative']) + @test.attr(type=['negative']) def test_post_object_using_form_expired(self): body, content_type = self.get_multipart_form(expires=1) time.sleep(2) diff --git a/tempest/api/object_storage/test_object_temp_url_negative.py b/tempest/api/object_storage/test_object_temp_url_negative.py index c054b2346..233cced1d 100644 --- a/tempest/api/object_storage/test_object_temp_url_negative.py +++ b/tempest/api/object_storage/test_object_temp_url_negative.py @@ -90,7 +90,7 @@ class ObjectTempUrlNegativeTest(base.BaseObjectTest): return url - @test.attr(type=['gate', 'negative']) + @test.attr(type=['negative']) @test.idempotent_id('5a583aca-c804-41ba-9d9a-e7be132bdf0b') @test.requires_ext(extension='tempurl', service='object') def test_get_object_after_expiration_time(self): diff --git a/tempest/api/orchestration/stacks/test_templates_negative.py b/tempest/api/orchestration/stacks/test_templates_negative.py index ebba69464..4bd0f333b 100644 --- a/tempest/api/orchestration/stacks/test_templates_negative.py +++ b/tempest/api/orchestration/stacks/test_templates_negative.py @@ -35,7 +35,7 @@ Resources: super(TemplateYAMLNegativeTestJSON, cls).resource_setup() cls.parameters = {} - @test.attr(type=['gate', 'negative']) + @test.attr(type=['negative']) @test.idempotent_id('5586cbca-ddc4-4152-9db8-fa1ce5fc1876') def test_validate_template_url(self): """Validating template passing url to it.""" diff --git a/tempest/api/volume/test_volumes_negative.py b/tempest/api/volume/test_volumes_negative.py index aba245aee..b591a1ad5 100644 --- a/tempest/api/volume/test_volumes_negative.py +++ b/tempest/api/volume/test_volumes_negative.py @@ -39,21 +39,21 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): cls.volume = cls.create_volume() cls.mountpoint = "/dev/vdc" - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f131c586-9448-44a4-a8b0-54ca838aa43e') def test_volume_get_nonexistent_volume_id(self): # Should not be able to get a non-existent volume self.assertRaises(lib_exc.NotFound, self.client.show_volume, str(uuid.uuid4())) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('555efa6e-efcd-44ef-8a3b-4a7ca4837a29') def test_volume_delete_nonexistent_volume_id(self): # Should not be able to delete a non-existent Volume self.assertRaises(lib_exc.NotFound, self.client.delete_volume, str(uuid.uuid4())) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1ed83a8a-682d-4dfb-a30e-ee63ffd6c049') def test_create_volume_with_invalid_size(self): # Should not be able to create volume with invalid size @@ -63,7 +63,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='#$%', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9387686f-334f-4d31-a439-33494b9e2683') def test_create_volume_with_out_passing_size(self): # Should not be able to create volume without passing size @@ -73,7 +73,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('41331caa-eaf4-4001-869d-bc18c1869360') def test_create_volume_with_size_zero(self): # Should not be able to create volume with size zero @@ -82,7 +82,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='0', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8b472729-9eba-446e-a83b-916bdb34bef7') def test_create_volume_with_size_negative(self): # Should not be able to create volume with size negative @@ -91,7 +91,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.create_volume, size='-1', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('10254ed8-3849-454e-862e-3ab8e6aa01d2') def test_create_volume_with_nonexistent_volume_type(self): # Should not be able to create volume with non-existent volume type @@ -101,7 +101,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): size='1', volume_type=str(uuid.uuid4()), display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0c36f6ae-4604-4017-b0a9-34fdc63096f9') def test_create_volume_with_nonexistent_snapshot_id(self): # Should not be able to create volume with non-existent snapshot @@ -111,7 +111,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): size='1', snapshot_id=str(uuid.uuid4()), display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('47c73e08-4be8-45bb-bfdf-0c4e79b88344') def test_create_volume_with_nonexistent_source_volid(self): # Should not be able to create volume with non-existent source volume @@ -121,7 +121,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): size='1', source_volid=str(uuid.uuid4()), display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0186422c-999a-480e-a026-6a665744c30c') def test_update_volume_with_nonexistent_volume_id(self): v_name = data_utils.rand_name('Volume') @@ -130,7 +130,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): volume_id=str(uuid.uuid4()), display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e66e40d6-65e6-4e75-bdc7-636792fa152d') def test_update_volume_with_invalid_volume_id(self): v_name = data_utils.rand_name('Volume') @@ -139,7 +139,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): volume_id='#$%%&^&^', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('72aeca85-57a5-4c1f-9057-f320f9ea575b') def test_update_volume_with_empty_volume_id(self): v_name = data_utils.rand_name('Volume') @@ -148,33 +148,33 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): volume_id='', display_name=v_name, metadata=metadata) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('30799cfd-7ee4-446c-b66c-45b383ed211b') def test_get_invalid_volume_id(self): # Should not be able to get volume with invalid id self.assertRaises(lib_exc.NotFound, self.client.show_volume, '#$%%&^&^') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('c6c3db06-29ad-4e91-beb0-2ab195fe49e3') def test_get_volume_without_passing_volume_id(self): # Should not be able to get volume when empty ID is passed self.assertRaises(lib_exc.NotFound, self.client.show_volume, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('1f035827-7c32-4019-9240-b4ec2dbd9dfd') def test_delete_invalid_volume_id(self): # Should not be able to delete volume when invalid ID is passed self.assertRaises(lib_exc.NotFound, self.client.delete_volume, '!@#$%^&*()') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('441a1550-5d44-4b30-af0f-a6d402f52026') def test_delete_volume_without_passing_volume_id(self): # Should not be able to delete volume when empty ID is passed self.assertRaises(lib_exc.NotFound, self.client.delete_volume, '') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('f5e56b0a-5d02-43c1-a2a7-c9b792c2e3f6') @test.services('compute') def test_attach_volumes_with_nonexistent_volume_id(self): @@ -188,14 +188,14 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): server['id'], self.mountpoint) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9f9c24e4-011d-46b5-b992-952140ce237a') def test_detach_volumes_with_invalid_volume_id(self): self.assertRaises(lib_exc.NotFound, self.client.detach_volume, 'xxx') - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e0c75c74-ee34-41a9-9288-2a2051452854') def test_volume_extend_with_size_smaller_than_original_size(self): # Extend volume with smaller size than original size. @@ -203,7 +203,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.extend_volume, self.volume['id'], extend_size) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('5d0b480d-e833-439f-8a5a-96ad2ed6f22f') def test_volume_extend_with_non_number_size(self): # Extend volume when size is non number. @@ -211,7 +211,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.extend_volume, self.volume['id'], extend_size) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('355218f1-8991-400a-a6bb-971239287d92') def test_volume_extend_with_None_size(self): # Extend volume with None size. @@ -219,7 +219,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.BadRequest, self.client.extend_volume, self.volume['id'], extend_size) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('8f05a943-013c-4063-ac71-7baf561e82eb') def test_volume_extend_with_nonexistent_volume_id(self): # Extend volume size when volume is nonexistent. @@ -227,7 +227,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.NotFound, self.client.extend_volume, str(uuid.uuid4()), extend_size) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('aff8ba64-6d6f-4f2e-bc33-41a08ee9f115') def test_volume_extend_without_passing_volume_id(self): # Extend volume size when passing volume id is None. @@ -235,21 +235,21 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.assertRaises(lib_exc.NotFound, self.client.extend_volume, None, extend_size) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ac6084c0-0546-45f9-b284-38a367e0e0e2') def test_reserve_volume_with_nonexistent_volume_id(self): self.assertRaises(lib_exc.NotFound, self.client.reserve_volume, str(uuid.uuid4())) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('eb467654-3dc1-4a72-9b46-47c29d22654c') def test_unreserve_volume_with_nonexistent_volume_id(self): self.assertRaises(lib_exc.NotFound, self.client.unreserve_volume, str(uuid.uuid4())) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('449c4ed2-ecdd-47bb-98dc-072aeccf158c') def test_reserve_volume_with_negative_volume_status(self): # Mark volume as reserved. @@ -261,7 +261,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): # Unmark volume as reserved. self.client.unreserve_volume(self.volume['id']) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('0f4aa809-8c7b-418f-8fb3-84c7a5dfc52f') def test_list_volumes_with_nonexistent_name(self): v_name = data_utils.rand_name('Volume') @@ -269,7 +269,7 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): fetched_volume = self.client.list_volumes(params=params) self.assertEqual(0, len(fetched_volume)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('9ca17820-a0e7-4cbd-a7fa-f4468735e359') def test_list_volumes_detail_with_nonexistent_name(self): v_name = data_utils.rand_name('Volume') @@ -278,14 +278,14 @@ class VolumesV2NegativeTest(base.BaseVolumeTest): self.client.list_volumes(detail=True, params=params) self.assertEqual(0, len(fetched_volume)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('143b279b-7522-466b-81be-34a87d564a7c') def test_list_volumes_with_invalid_status(self): params = {'status': 'null'} fetched_volume = self.client.list_volumes(params=params) self.assertEqual(0, len(fetched_volume)) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('ba94b27b-be3f-496c-a00e-0283b373fa75') def test_list_volumes_detail_with_invalid_status(self): params = {'status': 'null'} diff --git a/tempest/api/volume/test_volumes_snapshots_negative.py b/tempest/api/volume/test_volumes_snapshots_negative.py index 6307b621e..77f8552bb 100644 --- a/tempest/api/volume/test_volumes_snapshots_negative.py +++ b/tempest/api/volume/test_volumes_snapshots_negative.py @@ -30,7 +30,7 @@ class VolumesV2SnapshotNegativeTestJSON(base.BaseVolumeTest): if not CONF.volume_feature_enabled.snapshot: raise cls.skipException("Cinder volume snapshots are disabled") - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('e3e466af-70ab-4f4b-a967-ab04e3532ea7') def test_create_snapshot_with_nonexistent_volume_id(self): # Create a snapshot with nonexistent volume id @@ -39,7 +39,7 @@ class VolumesV2SnapshotNegativeTestJSON(base.BaseVolumeTest): self.snapshots_client.create_snapshot, str(uuid.uuid4()), display_name=s_name) - @test.attr(type=['negative', 'gate']) + @test.attr(type=['negative']) @test.idempotent_id('bb9da53e-d335-4309-9c15-7e76fd5e4d6d') def test_create_snapshot_without_passing_volume_id(self): # Create a snapshot without passing volume id |