authentik.enterprise.tests.test_metrics

Enterprise metrics tests

 1"""Enterprise metrics tests"""
 2
 3from unittest.mock import MagicMock, patch
 4
 5from django.test import TestCase
 6from prometheus_client import REGISTRY
 7
 8from authentik.core.models import User
 9from authentik.core.tests.utils import create_test_user
10from authentik.enterprise.license import LicenseKey
11from authentik.enterprise.models import License
12from authentik.enterprise.tests.test_license import expiry_valid
13from authentik.lib.generators import generate_id
14from authentik.root.monitoring import monitoring_set
15
16
17class TestEnterpriseMetrics(TestCase):
18    """Enterprise metrics tests"""
19
20    @patch(
21        "authentik.enterprise.license.LicenseKey.validate",
22        MagicMock(
23            return_value=LicenseKey(
24                aud="",
25                exp=expiry_valid,
26                name=generate_id(),
27                internal_users=100,
28                external_users=100,
29            )
30        ),
31    )
32    def test_usage_empty(self):
33        """Test usage (no users)"""
34        License.objects.create(key=generate_id())
35        User.objects.all().delete()
36        create_test_user()
37        monitoring_set.send_robust(self)
38        self.assertEqual(
39            REGISTRY.get_sample_value(
40                "authentik_enterprise_license_usage", {"user_type": "internal"}
41            ),
42            1.0,
43        )
44        self.assertEqual(
45            REGISTRY.get_sample_value(
46                "authentik_enterprise_license_usage", {"user_type": "external"}
47            ),
48            0,
49        )
class TestEnterpriseMetrics(django.test.testcases.TestCase):
18class TestEnterpriseMetrics(TestCase):
19    """Enterprise metrics tests"""
20
21    @patch(
22        "authentik.enterprise.license.LicenseKey.validate",
23        MagicMock(
24            return_value=LicenseKey(
25                aud="",
26                exp=expiry_valid,
27                name=generate_id(),
28                internal_users=100,
29                external_users=100,
30            )
31        ),
32    )
33    def test_usage_empty(self):
34        """Test usage (no users)"""
35        License.objects.create(key=generate_id())
36        User.objects.all().delete()
37        create_test_user()
38        monitoring_set.send_robust(self)
39        self.assertEqual(
40            REGISTRY.get_sample_value(
41                "authentik_enterprise_license_usage", {"user_type": "internal"}
42            ),
43            1.0,
44        )
45        self.assertEqual(
46            REGISTRY.get_sample_value(
47                "authentik_enterprise_license_usage", {"user_type": "external"}
48            ),
49            0,
50        )

Enterprise metrics tests

@patch('authentik.enterprise.license.LicenseKey.validate', MagicMock(return_value=LicenseKey(aud='', exp=expiry_valid, name=generate_id(), internal_users=100, external_users=100)))
def test_usage_empty(self):
21    @patch(
22        "authentik.enterprise.license.LicenseKey.validate",
23        MagicMock(
24            return_value=LicenseKey(
25                aud="",
26                exp=expiry_valid,
27                name=generate_id(),
28                internal_users=100,
29                external_users=100,
30            )
31        ),
32    )
33    def test_usage_empty(self):
34        """Test usage (no users)"""
35        License.objects.create(key=generate_id())
36        User.objects.all().delete()
37        create_test_user()
38        monitoring_set.send_robust(self)
39        self.assertEqual(
40            REGISTRY.get_sample_value(
41                "authentik_enterprise_license_usage", {"user_type": "internal"}
42            ),
43            1.0,
44        )
45        self.assertEqual(
46            REGISTRY.get_sample_value(
47                "authentik_enterprise_license_usage", {"user_type": "external"}
48            ),
49            0,
50        )

Test usage (no users)