oncall-engine/engine/apps/metrics_exporter/tests/test_views.py

28 lines
736 B
Python

import pytest
from django.test import override_settings
from django.urls import reverse
from rest_framework.test import APIClient
@pytest.mark.django_db
@pytest.mark.parametrize(
"token,auth,expected",
[
(None, None, 200),
("secret", "invalid", 401),
("secret", "secret", 200),
],
)
@override_settings(FEATURE_PROMETHEUS_EXPORTER_ENABLED=True)
def test_metrics_exporter_auth(settings, reload_urls, token, auth, expected):
reload_urls()
settings.PROMETHEUS_EXPORTER_SECRET = token
client = APIClient()
client.credentials(HTTP_AUTHORIZATION="Bearer {}".format(auth))
url = reverse("metrics-exporter")
response = client.get(url)
assert response.status_code == expected