kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
23 wiersze
879 B
Python
23 wiersze
879 B
Python
|
from django.contrib.auth import get_backends
|
||
|
|
||
|
from django_auth_ldap import backend
|
||
|
|
||
|
|
||
|
def test_ldap_user_creation_also_creates_actor(settings, factories, mocker):
|
||
|
actor = factories["federation.Actor"]()
|
||
|
mocker.patch("funkwhale_api.users.models.create_actor", return_value=actor)
|
||
|
mocker.patch(
|
||
|
"django_auth_ldap.backend.LDAPBackend.ldap_to_django_username",
|
||
|
return_value="hello",
|
||
|
)
|
||
|
settings.AUTHENTICATION_BACKENDS += ("django_auth_ldap.backend.LDAPBackend",)
|
||
|
# django-auth-ldap offers a populate_user signal we can use
|
||
|
# to create our user actor if it does not exists
|
||
|
ldap_backend = get_backends()[-1]
|
||
|
ldap_user = backend._LDAPUser(ldap_backend, username="hello")
|
||
|
ldap_user._user_attrs = {"hello": "world"}
|
||
|
ldap_user._get_or_create_user()
|
||
|
ldap_user._user.refresh_from_db()
|
||
|
|
||
|
assert ldap_user._user.actor == actor
|