1- """Tests for SanitizationMigrationWrapper ."""
1+ """Tests for MigrationWrapper ."""
22
33import pytest
44
55from key_value .aio .stores .memory import MemoryStore
6- from key_value .aio .wrappers .sanitization_migration import SanitizationMigrationWrapper
6+ from key_value .aio .wrappers .migration import MigrationWrapper
77
8+ pytestmark = pytest .mark .asyncio
89
9- class TestSanitizationMigrationWrapper :
10- """Tests for SanitizationMigrationWrapper."""
10+
11+ class TestMigrationWrapper :
12+ """Tests for MigrationWrapper."""
1113
1214 @pytest .fixture
1315 def current_store (self ) -> MemoryStore :
@@ -20,37 +22,35 @@ def legacy_store(self) -> MemoryStore:
2022 return MemoryStore ()
2123
2224 @pytest .fixture
23- def wrapper (self , current_store : MemoryStore , legacy_store : MemoryStore ) -> SanitizationMigrationWrapper :
25+ def wrapper (self , current_store : MemoryStore , legacy_store : MemoryStore ) -> MigrationWrapper :
2426 """Create a migration wrapper."""
25- return SanitizationMigrationWrapper (
27+ return MigrationWrapper (
2628 current_store = current_store ,
2729 legacy_store = legacy_store ,
2830 migrate_on_read = False ,
2931 cache_size = 100 ,
3032 )
3133
3234 @pytest .fixture
33- def migrating_wrapper (self , current_store : MemoryStore , legacy_store : MemoryStore ) -> SanitizationMigrationWrapper :
35+ def migrating_wrapper (self , current_store : MemoryStore , legacy_store : MemoryStore ) -> MigrationWrapper :
3436 """Create a migration wrapper with migrate_on_read=True."""
35- return SanitizationMigrationWrapper (
37+ return MigrationWrapper (
3638 current_store = current_store ,
3739 legacy_store = legacy_store ,
3840 migrate_on_read = True ,
3941 delete_after_migration = False ,
4042 cache_size = 100 ,
4143 )
4244
43- async def test_get_from_current_store (self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore ) -> None :
45+ async def test_get_from_current_store (self , wrapper : MigrationWrapper , current_store : MemoryStore ) -> None :
4446 """Test getting a value from the current store."""
4547 await current_store .put (key = "test_key" , value = {"data" : "current" }, collection = "default" )
4648
4749 result = await wrapper .get (key = "test_key" , collection = "default" )
4850 assert result is not None
4951 assert result ["data" ] == "current"
5052
51- async def test_get_from_legacy_store (
52- self , wrapper : SanitizationMigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
53- ) -> None :
53+ async def test_get_from_legacy_store (self , wrapper : MigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore ) -> None :
5454 """Test getting a value from the legacy store when not in current."""
5555 await legacy_store .put (key = "test_key" , value = {"data" : "legacy" }, collection = "default" )
5656
@@ -62,13 +62,13 @@ async def test_get_from_legacy_store(
6262 current_result = await current_store .get (key = "test_key" , collection = "default" )
6363 assert current_result is None
6464
65- async def test_get_missing_key (self , wrapper : SanitizationMigrationWrapper ) -> None :
65+ async def test_get_missing_key (self , wrapper : MigrationWrapper ) -> None :
6666 """Test getting a missing key returns None."""
6767 result = await wrapper .get (key = "missing_key" , collection = "default" )
6868 assert result is None
6969
7070 async def test_migrate_on_read (
71- self , migrating_wrapper : SanitizationMigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
71+ self , migrating_wrapper : MigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
7272 ) -> None :
7373 """Test that migrate_on_read copies data from legacy to current."""
7474 await legacy_store .put (key = "test_key" , value = {"data" : "legacy" }, collection = "default" , ttl = 3600 )
@@ -88,7 +88,7 @@ async def test_migrate_on_read(
8888
8989 async def test_migrate_on_read_with_delete (self , legacy_store : MemoryStore , current_store : MemoryStore ) -> None :
9090 """Test that delete_after_migration removes from legacy."""
91- wrapper = SanitizationMigrationWrapper (
91+ wrapper = MigrationWrapper (
9292 current_store = current_store ,
9393 legacy_store = legacy_store ,
9494 migrate_on_read = True ,
@@ -106,7 +106,7 @@ async def test_migrate_on_read_with_delete(self, legacy_store: MemoryStore, curr
106106 assert legacy_result is None
107107
108108 async def test_cache_avoids_repeated_lookups (
109- self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore
109+ self , wrapper : MigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore
110110 ) -> None :
111111 """Test that cache avoids repeated lookups."""
112112 await current_store .put (key = "test_key" , value = {"data" : "current" }, collection = "default" )
@@ -125,7 +125,7 @@ async def test_cache_avoids_repeated_lookups(
125125 assert result2 is not None
126126 assert result2 ["data" ] == "current" # Still from current, not legacy
127127
128- async def test_cache_missing_keys (self , wrapper : SanitizationMigrationWrapper ) -> None :
128+ async def test_cache_missing_keys (self , wrapper : MigrationWrapper ) -> None :
129129 """Test that missing keys are cached."""
130130 # First get - should cache as missing
131131 result1 = await wrapper .get (key = "missing_key" , collection = "default" )
@@ -139,9 +139,7 @@ async def test_cache_missing_keys(self, wrapper: SanitizationMigrationWrapper) -
139139 result2 = await wrapper .get (key = "missing_key" , collection = "default" )
140140 assert result2 is None
141141
142- async def test_put_updates_cache (
143- self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore
144- ) -> None :
142+ async def test_put_updates_cache (self , wrapper : MigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
145143 """Test that put updates the cache."""
146144 # Put initially in legacy
147145 await legacy_store .put (key = "test_key" , value = {"data" : "legacy" }, collection = "default" )
@@ -159,9 +157,7 @@ async def test_put_updates_cache(
159157 assert result is not None
160158 assert result ["data" ] == "new"
161159
162- async def test_delete_from_both_stores (
163- self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore
164- ) -> None :
160+ async def test_delete_from_both_stores (self , wrapper : MigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
165161 """Test that delete removes from both stores."""
166162 await current_store .put (key = "key1" , value = {"data" : "current" }, collection = "default" )
167163 await legacy_store .put (key = "key2" , value = {"data" : "legacy" }, collection = "default" )
@@ -177,7 +173,7 @@ async def test_delete_from_both_stores(
177173 assert await current_store .get (key = "key1" , collection = "default" ) is None
178174 assert await legacy_store .get (key = "key2" , collection = "default" ) is None
179175
180- async def test_get_many (self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
176+ async def test_get_many (self , wrapper : MigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
181177 """Test get_many with keys in different stores."""
182178 await current_store .put (key = "key1" , value = {"data" : "current1" }, collection = "default" )
183179 await legacy_store .put (key = "key2" , value = {"data" : "legacy2" }, collection = "default" )
@@ -192,7 +188,7 @@ async def test_get_many(self, wrapper: SanitizationMigrationWrapper, current_sto
192188 assert results [2 ] is None
193189
194190 async def test_get_many_with_migration (
195- self , migrating_wrapper : SanitizationMigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
191+ self , migrating_wrapper : MigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
196192 ) -> None :
197193 """Test get_many migrates keys from legacy to current."""
198194 await legacy_store .put (key = "key1" , value = {"data" : "legacy1" }, collection = "default" )
@@ -210,7 +206,7 @@ async def test_get_many_with_migration(
210206 assert current_result1 is not None
211207 assert current_result2 is not None
212208
213- async def test_ttl_from_current (self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore ) -> None :
209+ async def test_ttl_from_current (self , wrapper : MigrationWrapper , current_store : MemoryStore ) -> None :
214210 """Test ttl from current store."""
215211 await current_store .put (key = "test_key" , value = {"data" : "current" }, collection = "default" , ttl = 3600 )
216212
@@ -220,9 +216,7 @@ async def test_ttl_from_current(self, wrapper: SanitizationMigrationWrapper, cur
220216 assert ttl is not None
221217 assert ttl > 0
222218
223- async def test_ttl_from_legacy (
224- self , wrapper : SanitizationMigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
225- ) -> None :
219+ async def test_ttl_from_legacy (self , wrapper : MigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore ) -> None :
226220 """Test ttl from legacy store."""
227221 await legacy_store .put (key = "test_key" , value = {"data" : "legacy" }, collection = "default" , ttl = 3600 )
228222
@@ -236,7 +230,7 @@ async def test_ttl_from_legacy(
236230 assert current_result is None
237231
238232 async def test_ttl_with_migration (
239- self , migrating_wrapper : SanitizationMigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
233+ self , migrating_wrapper : MigrationWrapper , legacy_store : MemoryStore , current_store : MemoryStore
240234 ) -> None :
241235 """Test ttl migrates from legacy to current."""
242236 await legacy_store .put (key = "test_key" , value = {"data" : "legacy" }, collection = "default" , ttl = 3600 )
@@ -250,7 +244,7 @@ async def test_ttl_with_migration(
250244 assert current_value is not None
251245 assert current_ttl is not None
252246
253- async def test_put_many (self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore ) -> None :
247+ async def test_put_many (self , wrapper : MigrationWrapper , current_store : MemoryStore ) -> None :
254248 """Test put_many writes to current store."""
255249 await wrapper .put_many (
256250 keys = ["key1" , "key2" ],
@@ -264,7 +258,7 @@ async def test_put_many(self, wrapper: SanitizationMigrationWrapper, current_sto
264258 assert result1 is not None
265259 assert result2 is not None
266260
267- async def test_delete_many (self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
261+ async def test_delete_many (self , wrapper : MigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
268262 """Test delete_many removes from both stores."""
269263 await current_store .put (key = "key1" , value = {"data" : "current" }, collection = "default" )
270264 await legacy_store .put (key = "key2" , value = {"data" : "legacy" }, collection = "default" )
@@ -278,7 +272,7 @@ async def test_delete_many(self, wrapper: SanitizationMigrationWrapper, current_
278272
279273 async def test_cache_disabled (self , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
280274 """Test wrapper with caching disabled."""
281- wrapper = SanitizationMigrationWrapper (
275+ wrapper = MigrationWrapper (
282276 current_store = current_store ,
283277 legacy_store = legacy_store ,
284278 cache_size = 0 , # Disable cache
@@ -292,7 +286,7 @@ async def test_cache_disabled(self, current_store: MemoryStore, legacy_store: Me
292286 # Cache should be disabled
293287 assert not wrapper ._cache_enabled # pyright: ignore[reportPrivateUsage]
294288
295- async def test_ttl_many (self , wrapper : SanitizationMigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
289+ async def test_ttl_many (self , wrapper : MigrationWrapper , current_store : MemoryStore , legacy_store : MemoryStore ) -> None :
296290 """Test ttl_many with keys in different stores."""
297291 await current_store .put (key = "key1" , value = {"data" : "current1" }, collection = "default" , ttl = 3600 )
298292 await legacy_store .put (key = "key2" , value = {"data" : "legacy2" }, collection = "default" , ttl = 7200 )
0 commit comments