Skip to content
Snippets Groups Projects
test_ldap.py 879 B
Newer Older
  • Learn to ignore specific revisions
  • 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