From 8b037ebc76e5b8a0d429a0c365514b0c41d6022e Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 16 Aug 2018 14:50:26 +0300 Subject: Change: allow users to also have allowed scopes --- qvisqve/authn_entity_manager.py | 18 +++++++++--------- qvisqve/authn_entity_manager_tests.py | 36 +++++++++++++++++------------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/qvisqve/authn_entity_manager.py b/qvisqve/authn_entity_manager.py index 68d0c3e..f84634c 100644 --- a/qvisqve/authn_entity_manager.py +++ b/qvisqve/authn_entity_manager.py @@ -56,21 +56,21 @@ class AuthenticatingEntityManager(qvisqve.EntityManager): entity_id=entity_id) return True + def set_allowed_scopes(self, entity_id, scopes): + entity = self.get(entity_id) + entity['allowed_scopes'] = scopes + self.create(entity_id, entity) + + def get_allowed_scopes(self, entity_id): + entity = self.get(entity_id) + return entity.get('allowed_scopes', []) + class ClientManager(AuthenticatingEntityManager): def __init__(self, rs): super().__init__(rs, 'client') - def set_allowed_scopes(self, client_id, scopes): - client = self.get(client_id) - client['allowed_scopes'] = scopes - self.create(client_id, client) - - def get_allowed_scopes(self, client_id): - client = self.get(client_id) - return client.get('allowed_scopes', []) - class UserManager(AuthenticatingEntityManager): diff --git a/qvisqve/authn_entity_manager_tests.py b/qvisqve/authn_entity_manager_tests.py index d46cd03..0d51d4b 100644 --- a/qvisqve/authn_entity_manager_tests.py +++ b/qvisqve/authn_entity_manager_tests.py @@ -55,6 +55,24 @@ class AuthenticatingEntityManagerTests(unittest.TestCase): self.assertFalse(self.aem.is_valid_secret(client['id'], 'invalid')) self.assertTrue(self.aem.is_valid_secret(client['id'], secret)) + def test_returns_empty_list_of_scopes_initially(self): + client = { + 'id': 'test-client', + } + + self.aem.create(client['id'], client) + self.assertEqual(self.aem.get_allowed_scopes(client['id']), []) + + def test_sets_allowed_scopes(self): + client = { + 'id': 'test-client', + } + scopes = ['foo', 'bar'] + + self.aem.create(client['id'], client) + self.aem.set_allowed_scopes(client['id'], scopes) + self.assertEqual(self.aem.get_allowed_scopes(client['id']), scopes) + class ClientManagerTests(unittest.TestCase): @@ -76,24 +94,6 @@ class ClientManagerTests(unittest.TestCase): self.cm.set_secret(client['id'], secret) self.assertTrue(self.cm.is_valid_secret(client['id'], secret)) - def test_returns_empty_list_of_scopes_initially(self): - client = { - 'id': 'test-client', - } - - self.cm.create(client['id'], client) - self.assertEqual(self.cm.get_allowed_scopes(client['id']), []) - - def test_sets_allowed_scopes(self): - client = { - 'id': 'test-client', - } - scopes = ['foo', 'bar'] - - self.cm.create(client['id'], client) - self.cm.set_allowed_scopes(client['id'], scopes) - self.assertEqual(self.cm.get_allowed_scopes(client['id']), scopes) - class UserManagerTests(unittest.TestCase): -- cgit v1.2.1