Merge "Tempest: wait for access rule to be deleted"

This commit is contained in:
Jenkins 2015-08-28 11:21:01 +00:00 committed by Gerrit Code Review
commit b46f92c53a
2 changed files with 22 additions and 5 deletions

View File

@ -34,6 +34,8 @@ def _create_delete_ro_access_rule(self):
self.shares_client.wait_for_access_rule_status(
self.share["id"], rule["id"], "active")
self.shares_client.delete_access_rule(self.share["id"], rule["id"])
self.shares_client.wait_for_resource_deletion(
rule_id=rule["id"], share_id=self.share['id'])
class ShareIpRulesForNFSTest(base.BaseSharesTest):
@ -63,8 +65,10 @@ class ShareIpRulesForNFSTest(base.BaseSharesTest):
self.shares_client.wait_for_access_rule_status(
self.share["id"], rule["id"], "active")
# delete rule
# delete rule and wait for deletion
self.shares_client.delete_access_rule(self.share["id"], rule["id"])
self.shares_client.wait_for_resource_deletion(
rule_id=rule["id"], share_id=self.share['id'])
@test.attr(type=["gate", ])
def test_create_delete_access_rule_with_cidr(self):
@ -79,8 +83,10 @@ class ShareIpRulesForNFSTest(base.BaseSharesTest):
self.shares_client.wait_for_access_rule_status(
self.share["id"], rule["id"], "active")
# delete rule
# delete rule and wait for deletion
self.shares_client.delete_access_rule(self.share["id"], rule["id"])
self.shares_client.wait_for_resource_deletion(
rule_id=rule["id"], share_id=self.share['id'])
@test.attr(type=["gate", ])
@testtools.skipIf(
@ -126,8 +132,10 @@ class ShareUserRulesForNFSTest(base.BaseSharesTest):
self.shares_client.wait_for_access_rule_status(
self.share["id"], rule["id"], "active")
# delete rule
# delete rule and wait for deletion
self.shares_client.delete_access_rule(self.share["id"], rule["id"])
self.shares_client.wait_for_resource_deletion(
rule_id=rule["id"], share_id=self.share['id'])
@test.attr(type=["gate", ])
@testtools.skipIf(

View File

@ -364,8 +364,17 @@ class SharesClient(rest_client.RestClient):
:raises share_exceptions.InvalidResource
"""
if "share_id" in kwargs:
return self._is_resource_deleted(
self.get_share, kwargs.get("share_id"))
if "rule_id" in kwargs:
rule_id = kwargs.get("rule_id")
share_id = kwargs.get("share_id")
rules = self.list_access_rules(share_id)
for rule in rules:
if rule["id"] == rule_id:
return False
return True
else:
return self._is_resource_deleted(
self.get_share, kwargs.get("share_id"))
elif "snapshot_id" in kwargs:
return self._is_resource_deleted(
self.get_snapshot, kwargs.get("snapshot_id"))