fix(flags): added cache invalidation

This commit is contained in:
ITQ
2026-02-24 19:30:19 +03:00
parent 1c7753b71e
commit 2056041ee2
5 changed files with 27 additions and 4 deletions
@@ -1,6 +1,7 @@
from django.core.exceptions import ValidationError
from django.test import TestCase
from apps.decision.services import decide_for_flag
from apps.flags.models import (
FeatureFlagType,
validate_value_for_type,
@@ -159,6 +160,20 @@ class FeatureFlagServiceTest(TestCase):
with self.assertRaises(ValidationError):
feature_flag_update_default(flag=flag, default_value="bad")
def test_update_default_invalidates_decide_flag_cache(self) -> None:
flag = feature_flag_create(
key="svc_upd_cache",
name="Update Cache",
value_type=FeatureFlagType.STRING,
default_value="old",
)
first = decide_for_flag(flag.key, "svc_subj_1", {})
self.assertEqual(first["value"], "old")
feature_flag_update_default(flag=flag, default_value="new")
second = decide_for_flag(flag.key, "svc_subj_2", {})
self.assertEqual(second["reason"], "no_active_experiment")
self.assertEqual(second["value"], "new")
class FeatureFlagSelectorTest(TestCase):
def test_list_all(self) -> None: