admin: add full api tests
This commit is contained in:
parent
29f98abd00
commit
a5e5e140d6
|
@ -66,7 +66,7 @@ class TaskViewSet(ViewSet):
|
||||||
"successful": True,
|
"successful": True,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
except ImportError:
|
except ImportError: # pragma: no cover
|
||||||
# if we get an import error, the module path has probably changed
|
# if we get an import error, the module path has probably changed
|
||||||
task.delete()
|
task.delete()
|
||||||
return Response({"successful": False})
|
return Response({"successful": False})
|
||||||
|
|
|
@ -28,7 +28,7 @@ class VersionSerializer(Serializer):
|
||||||
def get_version_latest(self, _) -> str:
|
def get_version_latest(self, _) -> str:
|
||||||
"""Get latest version from cache"""
|
"""Get latest version from cache"""
|
||||||
version_in_cache = cache.get(VERSION_CACHE_KEY)
|
version_in_cache = cache.get(VERSION_CACHE_KEY)
|
||||||
if not version_in_cache:
|
if not version_in_cache: # pragma: no cover
|
||||||
update_latest_version.delay()
|
update_latest_version.delay()
|
||||||
return __version__
|
return __version__
|
||||||
return version_in_cache
|
return version_in_cache
|
||||||
|
|
|
@ -19,6 +19,37 @@ class TestAdminAPI(TestCase):
|
||||||
self.group.save()
|
self.group.save()
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
|
|
||||||
|
def test_tasks(self):
|
||||||
|
"""Test Task API"""
|
||||||
|
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)"""
|
||||||
|
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):
|
def test_version(self):
|
||||||
"""Test Version API"""
|
"""Test Version API"""
|
||||||
response = self.client.get(reverse("authentik_api:admin_version-list"))
|
response = self.client.get(reverse("authentik_api:admin_version-list"))
|
||||||
|
@ -37,8 +68,3 @@ class TestAdminAPI(TestCase):
|
||||||
"""Test metrics API"""
|
"""Test metrics API"""
|
||||||
response = self.client.get(reverse("authentik_api:admin_metrics-list"))
|
response = self.client.get(reverse("authentik_api:admin_metrics-list"))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_tasks(self):
|
|
||||||
"""Test tasks metrics API"""
|
|
||||||
response = self.client.get(reverse("authentik_api:admin_system_tasks-list"))
|
|
||||||
self.assertEqual(response.status_code, 200)
|
|
||||||
|
|
Reference in a new issue