feat: hide legacy licensing admin models

This commit is contained in:
QiuSW
2026-07-21 18:08:19 +08:00
parent 7bd4f3f125
commit 3130da6929
6 changed files with 56 additions and 6 deletions
+29
View File
@@ -1,7 +1,9 @@
from datetime import timedelta
from decimal import Decimal
from concurrent.futures import ThreadPoolExecutor
from types import SimpleNamespace
from django.contrib import admin
from django.db import close_old_connections
from django.test import TestCase, TransactionTestCase, override_settings
from django.urls import reverse
@@ -505,6 +507,7 @@ class SoftwareEntitlementAdminTests(TestCase):
email="licensing-admin@example.com",
password="test-password",
is_staff=True,
is_superuser=True,
)
self.user = User.objects.create_user(
username="licensing-target",
@@ -547,6 +550,32 @@ class SoftwareEntitlementAdminTests(TestCase):
).exists()
)
def test_admin_hides_legacy_license_models_but_keeps_current_models_visible(self):
hidden_models = (
LicenseSeat,
LegacyMigrationGrant,
MigrationRequest,
DeviceCredential,
)
visible_models = (
ClientDevice,
DeviceSession,
DeviceBindingAudit,
SoftwarePlan,
SoftwareEntitlement,
SoftwareOrder,
LicenseEvent,
)
request = SimpleNamespace(user=self.operator)
for model in hidden_models:
self.assertEqual(admin.site._registry[model].get_model_perms(request), {})
for model in visible_models:
self.assertTrue(admin.site._registry[model].get_model_perms(request))
self.assertTrue(LicenseSeat.objects.model._meta.db_table)
self.assertTrue(DeviceCredential.objects.model._meta.db_table)
class LicenseSeatConcurrencyTests(TransactionTestCase):
def setUp(self):