22 lines
		
	
	
		
			878 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			878 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
 |