29 lines
870 B
Python
29 lines
870 B
Python
|
"""root tests"""
|
||
|
from base64 import b64encode
|
||
|
|
||
|
from django.conf import settings
|
||
|
from django.shortcuts import reverse
|
||
|
from django.test import Client, TestCase
|
||
|
|
||
|
|
||
|
class TestRoot(TestCase):
|
||
|
"""Test root application"""
|
||
|
|
||
|
def setUp(self):
|
||
|
super().setUp()
|
||
|
self.client = Client()
|
||
|
|
||
|
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)
|