api: add tests for swagger generation
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		@ -1,9 +0,0 @@
 | 
			
		||||
"""authentik admin mixins"""
 | 
			
		||||
from django.contrib.auth.mixins import UserPassesTestMixin
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AdminRequiredMixin(UserPassesTestMixin):
 | 
			
		||||
    """Make sure user is administrator"""
 | 
			
		||||
 | 
			
		||||
    def test_func(self):
 | 
			
		||||
        return self.request.user.is_superuser
 | 
			
		||||
							
								
								
									
										0
									
								
								authentik/api/tests/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								authentik/api/tests/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										24
									
								
								authentik/api/tests/test_swagger.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								authentik/api/tests/test_swagger.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
"""Swagger generation tests"""
 | 
			
		||||
from json import loads
 | 
			
		||||
 | 
			
		||||
from django.urls import reverse
 | 
			
		||||
from rest_framework.test import APITestCase
 | 
			
		||||
from yaml import safe_load
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestSwaggerGeneration(APITestCase):
 | 
			
		||||
    """Generic admin tests"""
 | 
			
		||||
 | 
			
		||||
    def test_yaml(self):
 | 
			
		||||
        """Test YAML generation"""
 | 
			
		||||
        response = self.client.get(
 | 
			
		||||
            reverse("authentik_api:schema-json", kwargs={"format": ".yaml"}),
 | 
			
		||||
        )
 | 
			
		||||
        self.assertTrue(safe_load(response.content.decode()))
 | 
			
		||||
 | 
			
		||||
    def test_json(self):
 | 
			
		||||
        """Test JSON generation"""
 | 
			
		||||
        response = self.client.get(
 | 
			
		||||
            reverse("authentik_api:schema-json", kwargs={"format": ".json"}),
 | 
			
		||||
        )
 | 
			
		||||
        self.assertTrue(loads(response.content.decode()))
 | 
			
		||||
@ -17,7 +17,7 @@ def post_save_application(sender, instance, created: bool, **_):
 | 
			
		||||
 | 
			
		||||
    if sender != Application:
 | 
			
		||||
        return
 | 
			
		||||
    if not created:
 | 
			
		||||
    if not created:  # pragma: no cover
 | 
			
		||||
        return
 | 
			
		||||
    # Also delete user application cache
 | 
			
		||||
    keys = cache.keys(user_app_cache_key("*"))
 | 
			
		||||
 | 
			
		||||
@ -76,7 +76,9 @@ class AuditMiddleware:
 | 
			
		||||
        user: User, request: HttpRequest, sender, instance: Model, **_
 | 
			
		||||
    ):
 | 
			
		||||
        """Signal handler for all object's pre_delete"""
 | 
			
		||||
        if isinstance(instance, (Event, Notification, UserObjectPermission)):
 | 
			
		||||
        if isinstance(
 | 
			
		||||
            instance, (Event, Notification, UserObjectPermission)
 | 
			
		||||
        ):  # pragma: no cover
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        EventNewThread(
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,5 @@
 | 
			
		||||
"""Managed Object models"""
 | 
			
		||||
from django.db import models
 | 
			
		||||
from django.db.models import QuerySet
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,10 +21,6 @@ class ManagedModel(models.Model):
 | 
			
		||||
        unique=True,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    def managed_objects(self) -> QuerySet:
 | 
			
		||||
        """Get all objects which are managed"""
 | 
			
		||||
        return self.objects.exclude(managed__isnull=True)
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
 | 
			
		||||
        abstract = True
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user