mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
26 lines
768 B
Python
26 lines
768 B
Python
from collections.abc import Iterator
|
|
|
|
import pytest
|
|
|
|
from sentry.utils.codecs import BytesCodec, JSONCodec
|
|
from sentry.utils.kvstore.abstract import KVStorage
|
|
from sentry.utils.kvstore.encoding import KVStorageCodecWrapper
|
|
from sentry.utils.kvstore.memory import MemoryKVStorage
|
|
|
|
|
|
@pytest.fixture
|
|
def store() -> Iterator[KVStorage[str, bytes]]:
|
|
store: KVStorage[str, bytes] = MemoryKVStorage()
|
|
yield store
|
|
store.destroy()
|
|
|
|
|
|
def test_encoding_wrapper(store: KVStorage[str, bytes]) -> None:
|
|
wrapper = KVStorageCodecWrapper(store, JSONCodec() | BytesCodec())
|
|
|
|
wrapper.set("key", [1, 2, 3])
|
|
assert store.get("key") == b"[1,2,3]"
|
|
|
|
assert wrapper.get("key") == [1, 2, 3]
|
|
assert [*wrapper.get_many(["key", "missing"])] == [("key", [1, 2, 3])]
|