Fix scopeclaims class.
This commit is contained in:
parent
9a081cb05a
commit
bf7f380033
2 changed files with 25 additions and 3 deletions
|
@ -68,7 +68,7 @@ class ScopeClaims(object):
|
||||||
"""
|
"""
|
||||||
scopes = []
|
scopes = []
|
||||||
|
|
||||||
for name in self.__class__.__dict__:
|
for name in dir(self.__class__):
|
||||||
if name.startswith('scope_'):
|
if name.startswith('scope_'):
|
||||||
scope = name.split('scope_')[1]
|
scope = name.split('scope_')[1]
|
||||||
scopes.append(scope)
|
scopes.append(scope)
|
||||||
|
@ -98,7 +98,7 @@ class ScopeClaims(object):
|
||||||
scopes = []
|
scopes = []
|
||||||
scopes_info = []
|
scopes_info = []
|
||||||
|
|
||||||
for name in cls.__dict__:
|
for name in dir(cls):
|
||||||
if name.startswith('info_'):
|
if name.startswith('info_'):
|
||||||
scope_name = name.split('info_')[1]
|
scope_name = name.split('info_')[1]
|
||||||
if scope_name in scopes:
|
if scope_name in scopes:
|
||||||
|
|
|
@ -12,7 +12,7 @@ class ClaimsTestCase(TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.user = create_fake_user()
|
self.user = create_fake_user()
|
||||||
self.scopes = ['openid', 'address', 'email', 'phone', 'profile']
|
self.scopes = ['openid', 'address', 'email', 'phone', 'profile', 'foo']
|
||||||
self.client = create_fake_client('code')
|
self.client = create_fake_client('code')
|
||||||
self.token = create_fake_token(self.user, self.scopes, self.client)
|
self.token = create_fake_token(self.user, self.scopes, self.client)
|
||||||
self.scopeClaims = ScopeClaims(self.token)
|
self.scopeClaims = ScopeClaims(self.token)
|
||||||
|
@ -62,3 +62,25 @@ class ClaimsTestCase(TestCase):
|
||||||
def test_locale(self):
|
def test_locale(self):
|
||||||
with override_language('fr'):
|
with override_language('fr'):
|
||||||
self.assertEqual(text_type(StandardScopeClaims.info_profile[0]), 'Profil de base')
|
self.assertEqual(text_type(StandardScopeClaims.info_profile[0]), 'Profil de base')
|
||||||
|
|
||||||
|
def test_scopeclaims_class_inheritance(self):
|
||||||
|
# Generate example class that will be used for `OIDC_EXTRA_SCOPE_CLAIMS` setting.
|
||||||
|
class CustomScopeClaims(ScopeClaims):
|
||||||
|
|
||||||
|
info_foo = ('Title', 'Description')
|
||||||
|
|
||||||
|
def scope_foo(self):
|
||||||
|
dic = {'test': self.user.id}
|
||||||
|
return dic
|
||||||
|
|
||||||
|
info_notadd = ('Title', 'Description')
|
||||||
|
|
||||||
|
def scope_notadd(self):
|
||||||
|
dic = {'test': self.user.id}
|
||||||
|
return dic
|
||||||
|
|
||||||
|
claims = CustomScopeClaims(self.token)
|
||||||
|
response = claims.create_response_dic()
|
||||||
|
|
||||||
|
self.assertTrue('test' in response.keys())
|
||||||
|
self.assertFalse('notadd' in response.keys())
|
||||||
|
|
Loading…
Reference in a new issue