diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-09-26 11:37:39 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-09-26 11:37:39 +0000 |
commit | ec930d1b326321639f332289ba0ab41f690b3887 (patch) | |
tree | 67c055048ce338e8f74b054e71e75b21fcef3d35 | |
parent | 050617e36c24f597d4ea9c0bd49f86193297ae69 (diff) | |
parent | 8b07996ad29903ea59ab7fc0c7042c8efcf816ce (diff) | |
download | python-keystoneclient-ec930d1b326321639f332289ba0ab41f690b3887.tar.gz |
Merge "Correct output for Implied Roles"
-rw-r--r-- | keystoneclient/tests/unit/v3/test_roles.py | 25 | ||||
-rw-r--r-- | keystoneclient/v3/roles.py | 3 |
2 files changed, 26 insertions, 2 deletions
diff --git a/keystoneclient/tests/unit/v3/test_roles.py b/keystoneclient/tests/unit/v3/test_roles.py index bcf2948..7dfd7f2 100644 --- a/keystoneclient/tests/unit/v3/test_roles.py +++ b/keystoneclient/tests/unit/v3/test_roles.py @@ -621,11 +621,34 @@ class RoleTests(utils.ClientTestCase, utils.CrudTests): def test_implied_role_create(self): prior_role_id = uuid.uuid4().hex implied_role_id = uuid.uuid4().hex + test_json = { + "role_inference": { + "prior_role": { + "id": prior_role_id, + "links": {}, + "name": "prior role name" + }, + "implies": { + "id": implied_role_id, + "links": {}, + "name": "implied role name" + } + }, + "links": {} + } + self.stub_url('PUT', ['roles', prior_role_id, 'implies', implied_role_id], + json=test_json, status_code=200) - self.manager.create_implied(prior_role_id, implied_role_id) + returned_rule = self.manager.create_implied( + prior_role_id, implied_role_id) + + self.assertEqual(test_json['role_inference']['implies'], + returned_rule.implies) + self.assertEqual(test_json['role_inference']['prior_role'], + returned_rule.prior_role) def test_implied_role_delete(self): prior_role_id = uuid.uuid4().hex diff --git a/keystoneclient/v3/roles.py b/keystoneclient/v3/roles.py index 7d5742c..c083856 100644 --- a/keystoneclient/v3/roles.py +++ b/keystoneclient/v3/roles.py @@ -136,7 +136,8 @@ class RoleManager(base.CrudManager): """ url_tail = self._implied_role_url_tail(prior_role, implied_role) - self.client.put("/roles" + url_tail, **kwargs) + resp, body = self.client.put("/roles" + url_tail, **kwargs) + return self.resource_class(self, body['role_inference']) def delete_implied(self, prior_role, implied_role, **kwargs): """Delete an inference rule. |