MCPcopy Create free account
hub / github.com/Drakkar-Software/OctoBot / MemoryObjectStore

Class MemoryObjectStore

packages/sync/tests/conftest.py:20–49  ·  view source on GitHub ↗

Minimal AbstractObjectStore for testing.

Source from the content-addressed store, hash-verified

18
19
20class MemoryObjectStore:
21 """Minimal AbstractObjectStore for testing."""
22
23 def __init__(self) -> None:
24 self._store: dict[str, str] = {}
25
26 async def get_string(self, key: str) -> str | None:
27 return self._store.get(key)
28
29 async def put(
30 self, key: str, body: str, *, content_type: str | None = None, cache_control: str | None = None
31 ) -> None:
32 self._store[key] = body
33
34 async def list_keys(
35 self, prefix: str, *, start_after: str | None = None, limit: int | None = None
36 ) -> list[str]:
37 keys = sorted(k for k in self._store if k.startswith(prefix))
38 if start_after:
39 keys = [k for k in keys if k > start_after]
40 if limit:
41 keys = keys[:limit]
42 return keys
43
44 async def delete(self, key: str) -> None:
45 self._store.pop(key, None)
46
47 async def delete_many(self, keys: list[str]) -> None:
48 for k in keys:
49 self._store.pop(k, None)

Callers 3

appFunction · 0.90

Calls

no outgoing calls

Tested by 3

appFunction · 0.72