fix some more tests

Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
This commit is contained in:
Marc 'risson' Schmitt
2025-06-27 15:44:32 +02:00
parent d92764789f
commit 5d813438f0
4 changed files with 14 additions and 5 deletions

View File

@ -1,5 +1,6 @@
"""event utilities""" """event utilities"""
from collections.abc import KeysView
import re import re
from copy import copy from copy import copy
from dataclasses import asdict, is_dataclass from dataclasses import asdict, is_dataclass
@ -108,6 +109,8 @@ def sanitize_item(value: Any) -> Any: # noqa: PLR0911, PLR0912
value = asdict(value) value = asdict(value)
if isinstance(value, dict): if isinstance(value, dict):
return sanitize_dict(value) return sanitize_dict(value)
if isinstance(value, KeysView):
return list(value)
if isinstance(value, GeneratorType): if isinstance(value, GeneratorType):
return sanitize_item(list(value)) return sanitize_item(list(value))
if isinstance(value, list | tuple | set): if isinstance(value, list | tuple | set):

View File

@ -113,6 +113,8 @@ class UserLDAPSynchronizer(BaseLDAPSynchronizer):
else: else:
self._logger.debug("Synced User", user=ak_user.username, created=created) self._logger.debug("Synced User", user=ak_user.username, created=created)
user_count += 1 user_count += 1
MicrosoftActiveDirectory(self._source).sync(attributes, ak_user, created) MicrosoftActiveDirectory(self._source, self._task).sync(
FreeIPA(self._source).sync(attributes, ak_user, created) attributes, ak_user, created
)
FreeIPA(self._source, self._task).sync(attributes, ak_user, created)
return user_count return user_count

View File

@ -1,4 +1,5 @@
from django.db.models.signals import post_save from django.db.models.signals import post_save
from django.conf import settings
from django.dispatch import receiver from django.dispatch import receiver
from authentik.tasks.schedules.models import ScheduledModel from authentik.tasks.schedules.models import ScheduledModel
@ -8,6 +9,8 @@ from authentik.tasks.schedules.models import ScheduledModel
def post_save_scheduled_model(sender, instance, **_): def post_save_scheduled_model(sender, instance, **_):
if not isinstance(instance, ScheduledModel): if not isinstance(instance, ScheduledModel):
return return
if settings.TEST:
return
for spec in instance.schedule_specs: for spec in instance.schedule_specs:
spec.rel_obj = instance spec.rel_obj = instance
schedule = spec.update_or_create() schedule = spec.update_or_create()

View File

@ -11,6 +11,7 @@ from authentik.sources.ldap.models import LDAPSource, LDAPSourcePropertyMapping
from authentik.sources.ldap.sync.groups import GroupLDAPSynchronizer from authentik.sources.ldap.sync.groups import GroupLDAPSynchronizer
from authentik.sources.ldap.sync.membership import MembershipLDAPSynchronizer from authentik.sources.ldap.sync.membership import MembershipLDAPSynchronizer
from authentik.sources.ldap.sync.users import UserLDAPSynchronizer from authentik.sources.ldap.sync.users import UserLDAPSynchronizer
from authentik.tasks.models import Task
from tests.e2e.utils import SeleniumTestCase, retry from tests.e2e.utils import SeleniumTestCase, retry
@ -93,9 +94,9 @@ class TestSourceLDAPSamba(SeleniumTestCase):
managed="goauthentik.io/sources/ldap/default-name" managed="goauthentik.io/sources/ldap/default-name"
) )
) )
GroupLDAPSynchronizer(source).sync_full() GroupLDAPSynchronizer(source, Task()).sync_full()
UserLDAPSynchronizer(source).sync_full() UserLDAPSynchronizer(source, Task()).sync_full()
MembershipLDAPSynchronizer(source).sync_full() MembershipLDAPSynchronizer(source, Task()).sync_full()
self.assertIsNotNone(User.objects.get(username="bob")) self.assertIsNotNone(User.objects.get(username="bob"))
self.assertIsNotNone(User.objects.get(username="james")) self.assertIsNotNone(User.objects.get(username="james"))
self.assertIsNotNone(User.objects.get(username="john")) self.assertIsNotNone(User.objects.get(username="john"))