* format files Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix pyright Signed-off-by: Jens Langhammer <jens@goauthentik.io> * revert #8367 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * sigh Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
		
			
				
	
	
		
			32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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)
 |