Skip to content

Commit

Permalink
rename AUTH_TYPE_* constants (#1367)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikkonie committed Jul 9, 2024
1 parent 286c14d commit 367a97f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 20 deletions.
6 changes: 3 additions & 3 deletions projectroles/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@
'PROJECT': {'default': 'project', 'plural': 'projects'},
},
# User types
'USER_TYPE_LOCAL': 'LOCAL',
'USER_TYPE_LDAP': 'LDAP',
'USER_TYPE_OIDC': 'OIDC',
'AUTH_TYPE_LOCAL': 'LOCAL',
'AUTH_TYPE_LDAP': 'LDAP',
'AUTH_TYPE_OIDC': 'OIDC',
# System user group
'SYSTEM_USER_GROUP': 'system',
'OIDC_USER_GROUP': 'oidc',
Expand Down
20 changes: 10 additions & 10 deletions projectroles/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
PROJECT_ROLE_GUEST = SODAR_CONSTANTS['PROJECT_ROLE_GUEST']
PROJECT_ROLE_FINDER = SODAR_CONSTANTS['PROJECT_ROLE_FINDER']
APP_SETTING_SCOPE_SITE = SODAR_CONSTANTS['APP_SETTING_SCOPE_SITE']
USER_TYPE_LOCAL = SODAR_CONSTANTS['USER_TYPE_LOCAL']
USER_TYPE_LDAP = SODAR_CONSTANTS['USER_TYPE_LDAP']
USER_TYPE_OIDC = SODAR_CONSTANTS['USER_TYPE_OIDC']
AUTH_TYPE_LOCAL = SODAR_CONSTANTS['AUTH_TYPE_LOCAL']
AUTH_TYPE_LDAP = SODAR_CONSTANTS['AUTH_TYPE_LDAP']
AUTH_TYPE_OIDC = SODAR_CONSTANTS['AUTH_TYPE_OIDC']

# Local constants
ROLE_RANKING = {
Expand Down Expand Up @@ -1350,26 +1350,26 @@ def get_auth_type(self):
"""
Return user authentication type: OIDC, LDAP or local.
:return: String which may equal USER_TYPE_OIDC, USER_TYPE_LDAP or
USER_TYPE_LOCAL.
:return: String which may equal AUTH_TYPE_OIDC, AUTH_TYPE_LDAP or
AUTH_TYPE_LOCAL.
"""
groups = [g.name for g in self.groups.all()]
if 'oidc' in groups:
return USER_TYPE_OIDC
return AUTH_TYPE_OIDC
elif (
self.username.find('@') != -1
and self.username.split('@')[1].lower() in groups
):
return USER_TYPE_LDAP
return USER_TYPE_LOCAL
return AUTH_TYPE_LDAP
return AUTH_TYPE_LOCAL

def is_local(self):
"""
Return True if user is of type USER_TYPE_LOCAL.
Return True if user is of type AUTH_TYPE_LOCAL.
:return: Boolean
"""
return self.get_auth_type() == USER_TYPE_LOCAL
return self.get_auth_type() == AUTH_TYPE_LOCAL

def set_group(self):
"""Set user group based on user name or social auth provider"""
Expand Down
14 changes: 7 additions & 7 deletions projectroles/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@
REMOTE_LEVEL_VIEW_AVAIL = SODAR_CONSTANTS['REMOTE_LEVEL_VIEW_AVAIL']
REMOTE_LEVEL_READ_ROLES = SODAR_CONSTANTS['REMOTE_LEVEL_READ_ROLES']
REMOTE_LEVEL_REVOKED = SODAR_CONSTANTS['REMOTE_LEVEL_REVOKED']
USER_TYPE_LOCAL = SODAR_CONSTANTS['USER_TYPE_LOCAL']
USER_TYPE_LDAP = SODAR_CONSTANTS['USER_TYPE_LDAP']
USER_TYPE_OIDC = SODAR_CONSTANTS['USER_TYPE_OIDC']
AUTH_TYPE_LOCAL = SODAR_CONSTANTS['AUTH_TYPE_LOCAL']
AUTH_TYPE_LDAP = SODAR_CONSTANTS['AUTH_TYPE_LDAP']
AUTH_TYPE_OIDC = SODAR_CONSTANTS['AUTH_TYPE_OIDC']
OIDC_USER_GROUP = SODAR_CONSTANTS['OIDC_USER_GROUP']

# Local constants
Expand Down Expand Up @@ -1616,26 +1616,26 @@ def test_get_form_label_first_last(self):

def test_get_auth_type_local(self):
"""Test get_auth_type() with local user"""
self.assertEqual(self.user.get_auth_type(), USER_TYPE_LOCAL)
self.assertEqual(self.user.get_auth_type(), AUTH_TYPE_LOCAL)

@override_settings(AUTH_LDAP_USERNAME_DOMAIN='TEST')
def test_get_auth_type_ldap(self):
"""Test get_auth_type() with LDAP user"""
self.user.username = 'testuser@TEST'
self.user.save() # NOTE: set_group() is called on user save()
self.assertEqual(self.user.get_auth_type(), USER_TYPE_LDAP)
self.assertEqual(self.user.get_auth_type(), AUTH_TYPE_LDAP)

def test_get_auth_type_ldap_no_group(self):
"""Test get_auth_type() with LDAP username but no user group"""
self.user.username = 'testuser@TEST'
self.user.save()
self.assertEqual(self.user.get_auth_type(), USER_TYPE_LOCAL)
self.assertEqual(self.user.get_auth_type(), AUTH_TYPE_LOCAL)

def test_get_auth_type_oidc(self):
"""Test get_auth_type() with OIDC user"""
group, _ = Group.objects.get_or_create(name=OIDC_USER_GROUP)
group.user_set.add(self.user)
self.assertEqual(self.user.get_auth_type(), USER_TYPE_OIDC)
self.assertEqual(self.user.get_auth_type(), AUTH_TYPE_OIDC)

def test_update_full_name(self):
"""Test update_full_name()"""
Expand Down

0 comments on commit 367a97f

Please sign in to comment.