feat: add admin client policy control
This commit is contained in:
@@ -65,6 +65,7 @@ from apps.moderation.models import SensitiveWord
|
||||
from apps.moderation.providers.keyword import reset_keyword_matcher_cache
|
||||
from apps.portal.models import DownloadRelease
|
||||
from apps.licensing.models import (
|
||||
ClientSubscriptionPolicy,
|
||||
ClientDevice,
|
||||
SoftwareEntitlement,
|
||||
SoftwareOrder,
|
||||
@@ -690,6 +691,29 @@ class ClientLatestReleaseApiTests(TestCase):
|
||||
},
|
||||
)
|
||||
|
||||
@override_settings(
|
||||
CMSHOPEE_CLIENT_SUBSCRIPTION_POLICY="off",
|
||||
CMSHOPEE_CLIENT_SUBSCRIPTION_POLICY_UPDATED_AT="2026-07-28T00:00:00+08:00",
|
||||
)
|
||||
def test_latest_release_prefers_admin_policy_without_restart(self):
|
||||
policy = ClientSubscriptionPolicy.objects.create(
|
||||
mode=ClientSubscriptionPolicy.Mode.OBSERVE,
|
||||
)
|
||||
|
||||
response = self.client.get(self.url)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response["Cache-Control"], "no-store")
|
||||
self.assertEqual(
|
||||
response.data["client_policy"],
|
||||
{
|
||||
"policy_version": 1,
|
||||
"subscription_check_enabled": True,
|
||||
"subscription_enforcement_enabled": False,
|
||||
"updated_at": policy.updated_at.isoformat(),
|
||||
},
|
||||
)
|
||||
|
||||
@override_settings(
|
||||
CMSHOPEE_CLIENT_SUBSCRIPTION_POLICY="invalid",
|
||||
CMSHOPEE_CLIENT_SUBSCRIPTION_POLICY_UPDATED_AT="2026-07-28T10:00:00+08:00",
|
||||
|
||||
Reference in New Issue
Block a user