mirror of
https://github.com/goauthentik/authentik.git
synced 2026-06-17 19:09:11 +03:00
b225b0200e
* remove pyright Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove pylint Signed-off-by: Jens Langhammer <jens@goauthentik.io> * replace pylint with ruff Signed-off-by: Jens Langhammer <jens@goauthentik.io> * ruff fix Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix UP038 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix DJ012 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix default arg Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix UP031 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * rename stage type to view Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix DJ008 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix remaining upgrade Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix PLR2004 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix B904 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix PLW2901 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix remaining issues Signed-off-by: Jens Langhammer <jens@goauthentik.io> * prevent ruff from breaking the code Signed-off-by: Jens Langhammer <jens@goauthentik.io> * stages/prompt: refactor field building Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix lint Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fully remove isort Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io> Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
"""Test utils"""
|
|
|
|
from inspect import currentframe
|
|
from pathlib import Path
|
|
|
|
from django.contrib.messages.middleware import MessageMiddleware
|
|
from django.contrib.sessions.middleware import SessionMiddleware
|
|
from django.http import HttpRequest
|
|
from django.test.client import RequestFactory
|
|
from guardian.utils import get_anonymous_user
|
|
|
|
|
|
def dummy_get_response(request: HttpRequest): # pragma: no cover
|
|
"""Dummy get_response for SessionMiddleware"""
|
|
return None
|
|
|
|
|
|
def load_fixture(path: str, **kwargs) -> str:
|
|
"""Load fixture, optionally formatting it with kwargs"""
|
|
current = currentframe()
|
|
parent = current.f_back
|
|
calling_file_path = parent.f_globals["__file__"]
|
|
with open(Path(calling_file_path).resolve().parent / Path(path), encoding="utf-8") as _fixture:
|
|
fixture = _fixture.read()
|
|
try:
|
|
return fixture % kwargs
|
|
except TypeError:
|
|
return fixture
|
|
|
|
|
|
def get_request(*args, user=None, **kwargs):
|
|
"""Get a request with usable session"""
|
|
request = RequestFactory().get(*args, **kwargs)
|
|
if user:
|
|
request.user = user
|
|
else:
|
|
request.user = get_anonymous_user()
|
|
middleware = SessionMiddleware(dummy_get_response)
|
|
middleware.process_request(request)
|
|
request.session.save()
|
|
middleware = MessageMiddleware(dummy_get_response)
|
|
middleware.process_request(request)
|
|
request.session.save()
|
|
return request
|