mirror of
https://github.com/goauthentik/authentik.git
synced 2026-06-17 19:09:11 +03:00
dc320df3a3
* add test_runner option to not capture stdout Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix exception for container failing to start not being raised Signed-off-by: Jens Langhammer <jens@goauthentik.io> * maybe use channels server for testing? Signed-off-by: Jens Langhammer <jens@goauthentik.io> * simplify and patch enterprise Signed-off-by: Jens Langhammer <jens@goauthentik.io> * simplify waiting for outpost Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add rac SSH tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix rac missing in CI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * retry on container failure Signed-off-by: Jens Langhammer <jens@goauthentik.io> * bump healthcheck tries Signed-off-by: Jens Langhammer <jens@goauthentik.io> * patch email port always Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fixup? Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix guardian cache Signed-off-by: Jens Langhammer <jens@goauthentik.io> * only build webui when using selenium Signed-off-by: Jens Langhammer <jens@goauthentik.io> * only use channels when needed Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix coverage and combine based on https://github.com/django/channels/issues/2063#issuecomment-2067722400 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * dont even cache Signed-off-by: Jens Langhammer <jens@goauthentik.io> * test with delete_token_on_disconnect Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
"""authentik e2e testing utilities"""
|
|
|
|
from datetime import timedelta
|
|
from time import mktime
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
from daphne.testing import DaphneProcess
|
|
from django import setup as django_setup
|
|
from django.conf import settings
|
|
from django.utils.timezone import now
|
|
|
|
from authentik.lib.config import CONFIG
|
|
from authentik.lib.generators import generate_id
|
|
|
|
|
|
class TestDatabaseProcess(DaphneProcess):
|
|
"""Channels does not correctly switch to the test database by default.
|
|
https://github.com/django/channels/issues/2048"""
|
|
|
|
def run(self):
|
|
if not settings.configured: # Fix For raise AppRegistryNotReady("Apps aren't loaded yet.")
|
|
django_setup() # Ensure Django is fully set up before using settings
|
|
if not settings.DATABASES[list(settings.DATABASES.keys())[0]]["NAME"].startswith("test_"):
|
|
for _, db_settings in settings.DATABASES.items():
|
|
db_settings["NAME"] = f"test_{db_settings['NAME']}"
|
|
settings.TEST = True
|
|
from authentik.enterprise.license import LicenseKey
|
|
from authentik.root.test_runner import patched__get_ct_cached
|
|
|
|
with (
|
|
patch(
|
|
"authentik.enterprise.license.LicenseKey.validate",
|
|
MagicMock(
|
|
return_value=LicenseKey(
|
|
aud="",
|
|
exp=int(mktime((now() + timedelta(days=3000)).timetuple())),
|
|
name=generate_id(),
|
|
internal_users=100,
|
|
external_users=100,
|
|
)
|
|
),
|
|
),
|
|
CONFIG.patch("email.port", 1025),
|
|
patch("guardian.shortcuts._get_ct_cached", patched__get_ct_cached),
|
|
):
|
|
return super().run()
|