diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-07-28 13:39:19 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-07-28 13:39:19 +0000 |
commit | 41129c850394e97947ec374dad8e852b5e1b33b5 (patch) | |
tree | b759f3f1be6d843db65305fe2082545cc4cb8122 | |
parent | 09f47ab0ba9b0b7a7b46dbb6d60ad7f63dff7da7 (diff) | |
parent | 05ffab464965ac5187fe5e131f831152d862b8d4 (diff) | |
download | python-keystoneclient-3.3.0.tar.gz |
Merge "Improve implied-role functional tests"3.3.0
-rw-r--r-- | keystoneclient/tests/functional/v3/client_fixtures.py | 25 | ||||
-rw-r--r-- | keystoneclient/tests/functional/v3/test_implied_roles.py | 34 |
2 files changed, 31 insertions, 28 deletions
diff --git a/keystoneclient/tests/functional/v3/client_fixtures.py b/keystoneclient/tests/functional/v3/client_fixtures.py index 812237c..7f1fa76 100644 --- a/keystoneclient/tests/functional/v3/client_fixtures.py +++ b/keystoneclient/tests/functional/v3/client_fixtures.py @@ -88,14 +88,37 @@ class Project(Base): class Role(Base): + def __init__(self, client, name=None, domain=None): + super(Role, self).__init__(client) + self.name = name or RESOURCE_NAME_PREFIX + uuid.uuid4().hex + self.domain = domain + def setUp(self): super(Role, self).setUp() - self.ref = {'name': RESOURCE_NAME_PREFIX + uuid.uuid4().hex} + self.ref = {'name': self.name, + 'domain': self.domain} self.entity = self.client.roles.create(**self.ref) self.addCleanup(self.client.roles.delete, self.entity) +class InferenceRule(Base): + + def __init__(self, client, prior_role, implied_role): + super(InferenceRule, self).__init__(client) + self.prior_role = prior_role + self.implied_role = implied_role + + def setUp(self): + super(InferenceRule, self).setUp() + + self.ref = {'prior_role': self.prior_role, + 'implied_role': self.implied_role} + self.entity = self.client.roles.create_implied(**self.ref) + self.addCleanup(self.client.roles.delete_implied, self.prior_role, + self.implied_role) + + class Service(Base): def setUp(self): diff --git a/keystoneclient/tests/functional/v3/test_implied_roles.py b/keystoneclient/tests/functional/v3/test_implied_roles.py index c4eb4f0..a514652 100644 --- a/keystoneclient/tests/functional/v3/test_implied_roles.py +++ b/keystoneclient/tests/functional/v3/test_implied_roles.py @@ -11,6 +11,8 @@ # under the License. from keystoneclient.tests.functional import base +from keystoneclient.tests.functional.v3 import client_fixtures as fixtures + role_defs = ["test_admin", "test_id_manager", @@ -44,8 +46,6 @@ class TestImpliedRoles(base.V3ClientTestCase): def setUp(self): super(TestImpliedRoles, self).setUp() - self.delete_rules() - self.delete_roles() def test_implied_roles(self): @@ -61,38 +61,18 @@ class TestImpliedRoles(base.V3ClientTestCase): self.assertEqual(initial_rule_count + len(inference_rules), rule_count) - self.delete_rules() - self.delete_roles() - role_count = len(self.client.roles.list()) - self.assertEqual(initial_role_count, role_count) - rule_count = len(self.client.roles.list_role_inferences()) - self.assertEqual(initial_rule_count, rule_count) - def role_dict(self): roles = {role.name: role.id for role in self.client.roles.list()} return roles def create_roles(self): for role_def in role_defs: - self.client.roles.create(role_def) - - def delete_roles(self): - roles = self.role_dict() - for role_def in role_defs: - try: - self.client.roles.delete(roles[role_def]) - except KeyError: - pass + role = fixtures.Role(self.client, name=role_def) + self.useFixture(role) def create_rules(self): roles = self.role_dict() for prior, implied in inference_rules.items(): - self.client.roles.create_implied(roles[prior], roles[implied]) - - def delete_rules(self): - roles = self.role_dict() - for prior, implied in inference_rules.items(): - try: - self.client.roles.delete_implied(roles[prior], roles[implied]) - except KeyError: - pass + rule = fixtures.InferenceRule(self.client, roles[prior], + roles[implied]) + self.useFixture(rule) |