
* 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>
32 lines
1002 B
Python
32 lines
1002 B
Python
"""authentik API Modelviewset tests"""
|
|
|
|
from collections.abc import Callable
|
|
|
|
from django.test import TestCase
|
|
from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet
|
|
|
|
from authentik.api.v3.urls import router
|
|
|
|
|
|
class TestModelViewSets(TestCase):
|
|
"""Test Viewset"""
|
|
|
|
|
|
def viewset_tester_factory(test_viewset: type[ModelViewSet]) -> Callable:
|
|
"""Test Viewset"""
|
|
|
|
def tester(self: TestModelViewSets):
|
|
self.assertIsNotNone(getattr(test_viewset, "search_fields", None))
|
|
self.assertIsNotNone(getattr(test_viewset, "ordering", None))
|
|
filterset_class = getattr(test_viewset, "filterset_class", None)
|
|
if not filterset_class:
|
|
self.assertIsNotNone(getattr(test_viewset, "filterset_fields", None))
|
|
|
|
return tester
|
|
|
|
|
|
for _, viewset, _ in router.registry:
|
|
if not issubclass(viewset, ModelViewSet | ReadOnlyModelViewSet):
|
|
continue
|
|
setattr(TestModelViewSets, f"test_viewset_{viewset.__name__}", viewset_tester_factory(viewset))
|