authentik/authentik/root/tests.py

32 lines
1.0 KiB
Python

"""root tests"""
from base64 import b64encode
from django.conf import settings
from django.test import TestCase
from django.urls import reverse
class TestRoot(TestCase):
"""Test root application"""
def test_monitoring_error(self):
"""Test monitoring without any credentials"""
response = self.client.get(reverse("metrics"))
self.assertEqual(response.status_code, 401)
def test_monitoring_ok(self):
"""Test monitoring with credentials"""
creds = "Basic " + b64encode(f"monitor:{settings.SECRET_KEY}".encode()).decode("utf-8")
auth_headers = {"HTTP_AUTHORIZATION": creds}
response = self.client.get(reverse("metrics"), **auth_headers)
self.assertEqual(response.status_code, 200)
def test_monitoring_live(self):
"""Test LiveView"""
self.assertEqual(self.client.get(reverse("health-live")).status_code, 204)
def test_monitoring_ready(self):
"""Test ReadyView"""
self.assertEqual(self.client.get(reverse("health-ready")).status_code, 204)