def test_role_grant(self, kc): request = construct_request(body=''' {"action": "grant", "data": {"user_id": "user123", "role_id": "role123", "project_id": "project123"}} ''') response = keystone.Roles().post(request) self.assertStatusCode(response, 204) self.assertEqual(response.content, '') kc.add_tenant_user_role.assert_called_once_with( request, 'project123', 'user123', 'role123')
def test_role_get_list(self): request = self.mock_rest_request(**{'GET': {}}) self.mock_role_list.return_value = [ mock.Mock(**{'to_dict.return_value': {'name': 'Ni!'}}), mock.Mock(**{'to_dict.return_value': {'name': 'Ptang!'}}) ] response = keystone.Roles().get(request) self.assertStatusCode(response, 200) self.assertEqual(response.json, {"items": [{"name": "Ni!"}, {"name": "Ptang!"}]}) self.mock_role_list.assert_called_once_with(request)
def test_role_delete_many(self, kc): request = self.mock_rest_request(body=''' ["id1", "id2", "id3"] ''') response = keystone.Roles().delete(request) self.assertStatusCode(response, 204) self.assertEqual(response.content, '') kc.role_delete.assert_has_calls([ mock.call(request, 'id1'), mock.call(request, 'id2'), mock.call(request, 'id3'), ])
def test_role_get_for_user(self, kc): request = self.mock_rest_request(**{'GET': {'user_id': 'user123', 'project_id': 'project123'}}) kc.roles_for_user.return_value = [ mock.Mock(**{'to_dict.return_value': {'name': 'Ni!'}}), mock.Mock(**{'to_dict.return_value': {'name': 'Ptang!'}}) ] response = keystone.Roles().get(request) self.assertStatusCode(response, 200) self.assertEqual(response.content, '{"items": [{"name": "Ni!"}, {"name": "Ptang!"}]}') kc.roles_for_user.assert_called_once_with(request, 'user123', 'project123')
def test_role_create(self): request = self.mock_rest_request(body=''' {"name": "bob"} ''') self.mock_role_create.return_value.id = 'role123' self.mock_role_create.return_value.to_dict.return_value = { 'id': 'role123', 'name': 'bob' } response = keystone.Roles().post(request) self.assertStatusCode(response, 201) self.assertEqual(response['location'], '/api/keystone/roles/role123') self.assertEqual(response.json, {"id": "role123", "name": "bob"}) self.mock_role_create.assert_called_once_with(request, 'bob')
def test_role_create(self, kc): request = construct_request(body=''' {"action": "create", "data": {"name": "bob"}} ''') kc.role_create.return_value.id = 'role123' kc.role_create.return_value.to_dict.return_value = { 'id': 'role123', 'name': 'bob' } response = keystone.Roles().post(request) self.assertStatusCode(response, 201) self.assertEqual(response['location'], '/api/keystone/roles/role123') self.assertEqual(response.content, '{"id": "role123", "name": "bob"}') kc.role_create.assert_called_once_with(request, 'bob')
def test_role_delete_many(self, kc): request = construct_request(body=''' { "action": "delete", "data": ["id1", "id2", "id3"] } ''') response = keystone.Roles().post(request) self.assertStatusCode(response, 204) self.assertEqual(response.content, '') kc.role_delete.assert_has_mock.calls([ mock.call(request, 'id1'), mock.call(request, 'id2'), mock.call(request, 'id3'), ])