Merge "Use Tempest decorators in tempest.common.utils"
diff --git a/patrole_tempest_plugin/tests/api/identity/rbac_base.py b/patrole_tempest_plugin/tests/api/identity/rbac_base.py
index 8273022..a99365d 100644
--- a/patrole_tempest_plugin/tests/api/identity/rbac_base.py
+++ b/patrole_tempest_plugin/tests/api/identity/rbac_base.py
@@ -41,34 +41,6 @@
cls.rbac_utils = rbac_utils.RbacUtils(cls)
@classmethod
- def resource_setup(cls):
- super(BaseIdentityRbacTest, cls).resource_setup()
- cls.endpoints = []
- cls.roles = []
- cls.services = []
- cls.users = []
-
- @classmethod
- def resource_cleanup(cls):
- for endpoint in cls.endpoints:
- test_utils.call_and_ignore_notfound_exc(
- cls.endpoints_client.delete_endpoint, endpoint['id'])
-
- for role in cls.roles:
- test_utils.call_and_ignore_notfound_exc(
- cls.roles_client.delete_role, role['id'])
-
- for service in cls.services:
- test_utils.call_and_ignore_notfound_exc(
- cls.services_client.delete_service, service['id'])
-
- for user in cls.users:
- test_utils.call_and_ignore_notfound_exc(
- cls.users_client.delete_user, user['id'])
-
- super(BaseIdentityRbacTest, cls).resource_cleanup()
-
- @classmethod
def setup_test_endpoint(cls, service=None):
"""Creates a service and an endpoint for test."""
interface = 'public'
@@ -89,7 +61,9 @@
params['url'] = url
endpoint = cls.endpoints_client.create_endpoint(**params)['endpoint']
- cls.endpoints.append(endpoint)
+ cls.addClassResourceCleanup(
+ test_utils.call_and_ignore_notfound_exc,
+ cls.endpoints_client.delete_endpoint, endpoint['id'])
return endpoint
@@ -98,7 +72,9 @@
"""Set up a test role."""
name = data_utils.rand_name(cls.__name__ + '-test_role')
role = cls.roles_client.create_role(name=name)['role']
- cls.roles.append(role)
+ cls.addClassResourceCleanup(
+ test_utils.call_and_ignore_notfound_exc,
+ cls.roles_client.delete_role, role['id'])
return role
@@ -119,7 +95,9 @@
elif cls.identity_version == 'v3':
service = service['service']
- cls.services.append(service)
+ cls.addClassResourceCleanup(
+ test_utils.call_and_ignore_notfound_exc,
+ cls.services_client.delete_service, service['id'])
return service
@@ -134,7 +112,9 @@
email=email,
password=password,
**kwargs)['user']
- cls.users.append(user)
+ cls.addClassResourceCleanup(
+ test_utils.call_and_ignore_notfound_exc,
+ cls.users_client.delete_user, user['id'])
return user
diff --git a/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py b/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py
index 456e10b..701e345 100644
--- a/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/test_image_resource_types_rbac.py
@@ -31,13 +31,9 @@
cls.namespaces_client.create_namespace(
namespace=cls.namespace_name,
protected=False)
-
- @classmethod
- def resource_cleanup(cls):
- test_utils.call_and_ignore_notfound_exc(
- cls.namespaces_client.delete_namespace,
- cls.namespace_name)
- super(ImageResourceTypesRbacTest, cls).resource_cleanup()
+ cls.addClassResourceCleanup(
+ test_utils.call_and_ignore_notfound_exc,
+ cls.namespaces_client.delete_namespace, cls.namespace_name)
@rbac_rule_validation.action(service="glance",
rule="list_metadef_resource_types")
diff --git a/patrole_tempest_plugin/tests/api/network/test_floating_ips_rbac.py b/patrole_tempest_plugin/tests/api/network/test_floating_ips_rbac.py
index 67b32a2..dc674d1 100644
--- a/patrole_tempest_plugin/tests/api/network/test_floating_ips_rbac.py
+++ b/patrole_tempest_plugin/tests/api/network/test_floating_ips_rbac.py
@@ -30,10 +30,15 @@
@classmethod
def resource_setup(cls):
super(FloatingIpsRbacTest, cls).resource_setup()
-
- # Create an external network for floating ip creation
+ # Create an external network for floating ip creation.
cls.fip_extnet = cls.create_network(**{'router:external': True})
+ # Update router:external attribute to False for proper subnet resource
+ # cleanup by base class.
cls.fip_extnet_id = cls.fip_extnet['id']
+ cls.addClassResourceCleanup(
+ test_utils.call_and_ignore_notfound_exc,
+ cls.networks_client.update_network, cls.fip_extnet_id,
+ **{'router:external': False})
# Create a subnet for the external network
cls.cidr = netaddr.IPNetwork(CONF.network.project_network_cidr)
@@ -41,14 +46,6 @@
cidr=cls.cidr,
mask_bits=24)
- @classmethod
- def resource_cleanup(cls):
- # Update router:external attribute to False for proper subnet resource
- # cleanup by base class
- cls.networks_client.update_network(cls.fip_extnet_id,
- **{'router:external': False})
- super(FloatingIpsRbacTest, cls).resource_cleanup()
-
def _create_floatingip(self, floating_ip_address=None):
if floating_ip_address is not None:
body = self.floating_ips_client.create_floatingip(
diff --git a/patrole_tempest_plugin/tests/api/network/test_metering_label_rules_rbac.py b/patrole_tempest_plugin/tests/api/network/test_metering_label_rules_rbac.py
index d213b9e..5ffc966 100644
--- a/patrole_tempest_plugin/tests/api/network/test_metering_label_rules_rbac.py
+++ b/patrole_tempest_plugin/tests/api/network/test_metering_label_rules_rbac.py
@@ -44,15 +44,11 @@
@classmethod
def resource_setup(cls):
super(MeteringLabelRulesRbacTest, cls).resource_setup()
-
body = cls.metering_labels_client.create_metering_label(
name=data_utils.rand_name(cls.__name__))
cls.label = body['metering_label']
-
- @classmethod
- def resource_cleanup(cls):
- cls.metering_labels_client.delete_metering_label(cls.label['id'])
- super(MeteringLabelRulesRbacTest, cls).resource_cleanup()
+ cls.addClassResourceCleanup(
+ cls.metering_labels_client.delete_metering_label, cls.label['id'])
def _create_metering_label_rule(self, label):
body = self.metering_label_rules_client.create_metering_label_rule(
diff --git a/patrole_tempest_plugin/tests/api/network/test_security_groups_rbac.py b/patrole_tempest_plugin/tests/api/network/test_security_groups_rbac.py
index 3a8b7bd..3ed23fd 100644
--- a/patrole_tempest_plugin/tests/api/network/test_security_groups_rbac.py
+++ b/patrole_tempest_plugin/tests/api/network/test_security_groups_rbac.py
@@ -37,14 +37,9 @@
secgroup_name = data_utils.rand_name(cls.__name__ + '-secgroup')
cls.secgroup = cls.security_groups_client.create_security_group(
name=secgroup_name)['security_group']
-
- @classmethod
- def resource_cleanup(cls):
- # Clean up security group
- test_utils.call_and_ignore_notfound_exc(
+ cls.addClassResourceCleanup(
cls.security_groups_client.delete_security_group,
cls.secgroup['id'])
- super(SecGroupRbacTest, cls).resource_cleanup()
def _create_security_group(self):
# Create a security group