1dc01ef857
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
79 lines
2.6 KiB
Python
79 lines
2.6 KiB
Python
"""test admin api"""
|
|
from json import loads
|
|
|
|
from django.test import TestCase
|
|
from django.urls import reverse
|
|
|
|
from authentik import __version__
|
|
from authentik.core.models import Group, User
|
|
from authentik.core.tasks import clean_expired_models
|
|
|
|
|
|
class TestAdminAPI(TestCase):
|
|
"""test admin api"""
|
|
|
|
def setUp(self) -> None:
|
|
super().setUp()
|
|
self.user = User.objects.create(username="test-user")
|
|
self.group = Group.objects.create(name="superusers", is_superuser=True)
|
|
self.group.users.add(self.user)
|
|
self.group.save()
|
|
self.client.force_login(self.user)
|
|
|
|
def test_tasks(self):
|
|
"""Test Task API"""
|
|
clean_expired_models.delay()
|
|
response = self.client.get(reverse("authentik_api:admin_system_tasks-list"))
|
|
self.assertEqual(response.status_code, 200)
|
|
body = loads(response.content)
|
|
self.assertTrue(
|
|
any(task["task_name"] == "clean_expired_models" for task in body)
|
|
)
|
|
|
|
def test_tasks_retry(self):
|
|
"""Test Task API (retry)"""
|
|
clean_expired_models.delay()
|
|
response = self.client.post(
|
|
reverse(
|
|
"authentik_api:admin_system_tasks-retry",
|
|
kwargs={"pk": "clean_expired_models"},
|
|
)
|
|
)
|
|
self.assertEqual(response.status_code, 200)
|
|
body = loads(response.content)
|
|
self.assertTrue(body["successful"])
|
|
|
|
def test_tasks_retry_404(self):
|
|
"""Test Task API (retry, 404)"""
|
|
response = self.client.post(
|
|
reverse(
|
|
"authentik_api:admin_system_tasks-retry",
|
|
kwargs={"pk": "qwerqewrqrqewrqewr"},
|
|
)
|
|
)
|
|
self.assertEqual(response.status_code, 404)
|
|
|
|
def test_version(self):
|
|
"""Test Version API"""
|
|
response = self.client.get(reverse("authentik_api:admin_version-list"))
|
|
self.assertEqual(response.status_code, 200)
|
|
body = loads(response.content)
|
|
self.assertEqual(body["version_current"], __version__)
|
|
|
|
def test_workers(self):
|
|
"""Test Workers API"""
|
|
response = self.client.get(reverse("authentik_api:admin_workers-list"))
|
|
self.assertEqual(response.status_code, 200)
|
|
body = loads(response.content)
|
|
self.assertEqual(body["pagination"]["count"], 0)
|
|
|
|
def test_metrics(self):
|
|
"""Test metrics API"""
|
|
response = self.client.get(reverse("authentik_api:admin_metrics-list"))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_apps(self):
|
|
"""Test apps API"""
|
|
response = self.client.get(reverse("authentik_api:apps-list"))
|
|
self.assertEqual(response.status_code, 200)
|