28 lines
736 B
Python
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
|