mirror of https://github.com/zulip/zulip.git
fakeldap: Move fakeldap configuration into ZulipLDAPAuthBackendBase.
This allows us to use this for testing the ZulipLDAPUserPopulator code as well.
This commit is contained in:
parent
33fb750275
commit
b5e65a2ea0
|
@ -280,6 +280,24 @@ class ZulipLDAPConfigurationError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class ZulipLDAPAuthBackendBase(ZulipAuthMixin, LDAPBackend):
|
class ZulipLDAPAuthBackendBase(ZulipAuthMixin, LDAPBackend):
|
||||||
|
def __init__(self) -> None:
|
||||||
|
if settings.DEVELOPMENT and settings.FAKE_LDAP_MODE: # nocoverage
|
||||||
|
# We only use this in development. Importing mock inside
|
||||||
|
# this function is an import time optimization, which
|
||||||
|
# avoids the expensive import of the mock module (slow
|
||||||
|
# because its dependency pbr uses pkgresources, which is
|
||||||
|
# really slow to import.)
|
||||||
|
import mock
|
||||||
|
from fakeldap import MockLDAP
|
||||||
|
|
||||||
|
ldap_patcher = mock.patch('django_auth_ldap.config.ldap.initialize')
|
||||||
|
self.mock_initialize = ldap_patcher.start()
|
||||||
|
self.mock_ldap = MockLDAP()
|
||||||
|
self.mock_initialize.return_value = self.mock_ldap
|
||||||
|
|
||||||
|
self.mock_ldap.directory = generate_dev_ldap_dir(settings.FAKE_LDAP_MODE,
|
||||||
|
settings.FAKE_LDAP_NUM_USERS)
|
||||||
|
|
||||||
# Don't use Django LDAP's permissions functions
|
# Don't use Django LDAP's permissions functions
|
||||||
def has_perm(self, user: Optional[UserProfile], perm: Any, obj: Any=None) -> bool:
|
def has_perm(self, user: Optional[UserProfile], perm: Any, obj: Any=None) -> bool:
|
||||||
# Using Any type is safe because we are not doing anything with
|
# Using Any type is safe because we are not doing anything with
|
||||||
|
@ -315,24 +333,6 @@ class ZulipLDAPAuthBackendBase(ZulipAuthMixin, LDAPBackend):
|
||||||
class ZulipLDAPAuthBackend(ZulipLDAPAuthBackendBase):
|
class ZulipLDAPAuthBackend(ZulipLDAPAuthBackendBase):
|
||||||
REALM_IS_NONE_ERROR = 1
|
REALM_IS_NONE_ERROR = 1
|
||||||
|
|
||||||
def __init__(self) -> None:
|
|
||||||
if settings.DEVELOPMENT and settings.FAKE_LDAP_MODE: # nocoverage
|
|
||||||
# We only use this in development. Importing mock inside
|
|
||||||
# this function is an import time optimization, which
|
|
||||||
# avoids the expensive import of the mock module (slow
|
|
||||||
# because its dependency pbr uses pkgresources, which is
|
|
||||||
# really slow to import.)
|
|
||||||
import mock
|
|
||||||
from fakeldap import MockLDAP
|
|
||||||
|
|
||||||
ldap_patcher = mock.patch('django_auth_ldap.config.ldap.initialize')
|
|
||||||
self.mock_initialize = ldap_patcher.start()
|
|
||||||
self.mock_ldap = MockLDAP()
|
|
||||||
self.mock_initialize.return_value = self.mock_ldap
|
|
||||||
|
|
||||||
self.mock_ldap.directory = generate_dev_ldap_dir(settings.FAKE_LDAP_MODE,
|
|
||||||
settings.FAKE_LDAP_NUM_USERS)
|
|
||||||
|
|
||||||
def authenticate(self, username: str, password: str, realm: Optional[Realm]=None,
|
def authenticate(self, username: str, password: str, realm: Optional[Realm]=None,
|
||||||
return_data: Optional[Dict[str, Any]]=None) -> Optional[UserProfile]:
|
return_data: Optional[Dict[str, Any]]=None) -> Optional[UserProfile]:
|
||||||
if realm is None:
|
if realm is None:
|
||||||
|
|
Loading…
Reference in New Issue