Skip to content

Commit f72177c

Browse files
committed
separate user_attrs into privileged so other methods can run
1 parent 4620511 commit f72177c

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

ocflib/account/creation.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ def validate_calnet_uid(uid):
274274
raise ValidationError(
275275
'CalNet UID already has account: ' + str(existing_accounts))
276276

277-
attrs = search.user_attrs_ucb(uid)
277+
attrs = search.user_attrs_ucb_privileged(uid)
278278

279279
if not attrs:
280280
raise ValidationError("CalNet UID can't be found in university LDAP.")

ocflib/account/search.py

+5
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ def user_attrs_ucb(uid):
5656
base=UCB_LDAP_PEOPLE)
5757

5858

59+
def user_attrs_ucb_privileged(uid):
60+
return user_attrs(uid, connection=ldap.ldap_ucb_privileged,
61+
base=UCB_LDAP_PEOPLE)
62+
63+
5964
def user_exists(account):
6065
"""Returns whether username is an OCF account."""
6166
return bool(user_attrs(account))

ocflib/vhost/web.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import requests
44

55
from ocflib.account.search import user_attrs
6-
from ocflib.account.search import user_attrs_ucb
6+
from ocflib.account.search import user_attrs_ucb_privileged
77

88
VHOST_DB_PATH = '/home/s/st/staff/vhost/vhost.conf'
99
VHOST_DB_URL = 'https://www.ocf.berkeley.edu/~staff/vhost.conf'
@@ -86,9 +86,9 @@ def eligible_for_vhost(user):
8686
if 'callinkOid' in attrs:
8787
return True
8888
elif 'calnetUid' in attrs:
89-
attrs_ucb = user_attrs_ucb(attrs['calnetUid'])
90-
# TODO: Uncomment when we get a privileged LDAP bind.
91-
if attrs_ucb: # and 'EMPLOYEE-TYPE-ACADEMIC' in attrs_ucb['berkeleyEduAffiliations']:
89+
attrs_ucb = user_attrs_ucb_privileged(attrs['calnetUid'])
90+
91+
if attrs_ucb and 'EMPLOYEE-TYPE-ACADEMIC' in attrs_ucb['berkeleyEduAffiliations']:
9292
return True
9393

9494
return False

tests/account/creation_test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ def fake_credentials(mock_rsa_key):
444444
@pytest.yield_fixture
445445
def mock_valid_calnet_uid():
446446
with mock.patch(
447-
'ocflib.account.search.user_attrs_ucb',
447+
'ocflib.account.search.user_attrs_ucb_privileged',
448448
return_value={'berkeleyEduAffiliations': ['STUDENT-TYPE-REGISTERED']}
449449
):
450450
yield
@@ -453,7 +453,7 @@ def mock_valid_calnet_uid():
453453
@pytest.yield_fixture
454454
def mock_invalid_calnet_uid():
455455
with mock.patch(
456-
'ocflib.account.search.user_attrs_ucb',
456+
'ocflib.account.search.user_attrs_ucb_privileged',
457457
return_value={'berkeleyEduAffiliations': ['STUDENT-STATUS-EXPIRED']},
458458
):
459459
yield

0 commit comments

Comments
 (0)