summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-08-16 14:50:26 +0300
committerLars Wirzenius <liw@liw.fi>2018-08-16 14:50:26 +0300
commit8b037ebc76e5b8a0d429a0c365514b0c41d6022e (patch)
tree9dbf21751c7b17e43cf68337c7cbe461d79a63ec
parente4820d5adafffe5f93b28ca02fcb8415c6dc054d (diff)
downloadqvisqve-8b037ebc76e5b8a0d429a0c365514b0c41d6022e.tar.gz
Change: allow users to also have allowed scopes
-rw-r--r--qvisqve/authn_entity_manager.py18
-rw-r--r--qvisqve/authn_entity_manager_tests.py36
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):