"""Test della TTLCache: in particolare l'invalidazione per prefisso.""" from __future__ import annotations from web.services.cache import TTLCache def test_delete_prefix_removes_only_matching_keys(): cache: TTLCache[int] = TTLCache(max_items=10, ttl=3600) cache.set("docA|svg|0", 1) cache.set("docA|png|1", 2) cache.set("docB|svg|0", 3) removed = cache.delete_prefix("docA|") assert removed == 2 assert cache.get("docA|svg|0") is None assert cache.get("docA|png|1") is None assert cache.get("docB|svg|0") == 3 def test_delete_prefix_no_match_returns_zero(): cache: TTLCache[int] = TTLCache(max_items=10, ttl=3600) cache.set("docB|svg|0", 3) assert cache.delete_prefix("docA|") == 0 assert cache.get("docB|svg|0") == 3