Skip to content

Commit 5c26a08

Browse files
committed
test: add tests for open / not open
1 parent f04f594 commit 5c26a08

2 files changed

Lines changed: 35 additions & 1 deletion

File tree

tests/test_store/test_local.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,24 @@ def test_set_range_sync(
211211
assert result is not None
212212
assert result.to_bytes() == expected
213213

214+
async def test_set_range_not_open(self, store_not_open: LocalStore) -> None:
215+
"""set_range auto-opens a closed store."""
216+
assert not store_not_open._is_open
217+
await self.set(store_not_open, "test/key", cpu.Buffer.from_bytes(b"AAAAAAAAAA"))
218+
await store_not_open.set_range("test/key", cpu.Buffer.from_bytes(b"XX"), start=0)
219+
assert store_not_open._is_open
220+
observed = await self.get(store_not_open, "test/key")
221+
assert observed.to_bytes() == b"XXAAAAAAAA"
222+
223+
def test_set_range_sync_not_open(self, store_not_open: LocalStore) -> None:
224+
"""set_range_sync auto-opens a closed store."""
225+
assert not store_not_open._is_open
226+
sync(self.set(store_not_open, "test/key", cpu.Buffer.from_bytes(b"AAAAAAAAAA")))
227+
store_not_open.set_range_sync("test/key", cpu.Buffer.from_bytes(b"XX"), start=0)
228+
assert store_not_open._is_open
229+
observed = sync(self.get(store_not_open, "test/key"))
230+
assert observed.to_bytes() == b"XXAAAAAAAA"
231+
214232

215233
@pytest.mark.parametrize("exclusive", [True, False])
216234
def test_atomic_write_successful(tmp_path: pathlib.Path, exclusive: bool) -> None:

tests/test_store/test_memory.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)