@@ -170,13 +170,29 @@ def test_set_range_sync(
170170 self , store : MemoryStore , start : int , patch : bytes , expected : bytes
171171 ) -> None :
172172 """set_range_sync should overwrite bytes at the given offset."""
173- store ._is_open = True
174173 store ._store_dict ["test/key" ] = cpu .Buffer .from_bytes (b"AAAAAAAAAA" )
175174 store .set_range_sync ("test/key" , cpu .Buffer .from_bytes (patch ), start = start )
176175 result = store .get_sync (key = "test/key" , prototype = cpu .buffer_prototype )
177176 assert result is not None
178177 assert result .to_bytes () == expected
179178
179+ async def test_set_range_not_open (self , store_not_open : MemoryStore ) -> None :
180+ """set_range auto-opens a closed store."""
181+ assert not store_not_open ._is_open
182+ await self .set (store_not_open , "test/key" , cpu .Buffer .from_bytes (b"AAAAAAAAAA" ))
183+ await store_not_open .set_range ("test/key" , cpu .Buffer .from_bytes (b"XX" ), start = 0 )
184+ assert store_not_open ._is_open
185+ observed = await self .get (store_not_open , "test/key" )
186+ assert observed .to_bytes () == b"XXAAAAAAAA"
187+
188+ def test_set_range_sync_not_open (self , store_not_open : MemoryStore ) -> None :
189+ """set_range_sync auto-opens a closed store."""
190+ assert not store_not_open ._is_open
191+ store_not_open ._store_dict ["test/key" ] = cpu .Buffer .from_bytes (b"AAAAAAAAAA" )
192+ store_not_open .set_range_sync ("test/key" , cpu .Buffer .from_bytes (b"XX" ), start = 0 )
193+ assert store_not_open ._is_open
194+ assert store_not_open ._store_dict ["test/key" ].to_bytes () == b"XXAAAAAAAA"
195+
180196
181197# TODO: fix this warning
182198@pytest .mark .filterwarnings ("ignore:Unclosed client session:ResourceWarning" )
0 commit comments