diff --git a/authentik/core/tests/test_users_api.py b/authentik/core/tests/test_users_api.py new file mode 100644 index 000000000..f2f3cdd72 --- /dev/null +++ b/authentik/core/tests/test_users_api.py @@ -0,0 +1,29 @@ +"""Test Users API""" +from django.urls.base import reverse +from rest_framework.test import APITestCase + +from authentik.core.models import User + + +class TestUsersAPI(APITestCase): + """Test Users API""" + + def setUp(self) -> None: + self.admin = User.objects.get(username="akadmin") + self.user = User.objects.create(username="test-user") + + def test_metrics(self): + """Test user's metrics""" + self.client.force_login(self.admin) + response = self.client.get( + reverse("authentik_api:user-metrics", kwargs={"pk": self.user.pk}) + ) + self.assertEqual(response.status_code, 200) + + def test_metrics_denied(self): + """Test user's metrics (non-superuser)""" + self.client.force_login(self.user) + response = self.client.get( + reverse("authentik_api:user-metrics", kwargs={"pk": self.user.pk}) + ) + self.assertEqual(response.status_code, 403) diff --git a/schema.yml b/schema.yml index bcf4bc18f..b329a4eef 100644 --- a/schema.yml +++ b/schema.yml @@ -15639,6 +15639,8 @@ components: long: type: number format: float + city: + type: string nullable: true readOnly: true user: