Initial standalone memabra release
This commit is contained in:
27
tests/test_memory_store.py
Normal file
27
tests/test_memory_store.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from memabra.memory_store import InMemoryMemoryStore, MemoryRecord, MemorySource
|
||||
from memabra.schemas import SchemaRegistry
|
||||
|
||||
|
||||
def test_memory_store_verify_and_revoke_round_trip():
|
||||
store = InMemoryMemoryStore()
|
||||
record = MemoryRecord(
|
||||
id="mem-pref-1",
|
||||
memory_type="semantic",
|
||||
fact_status="assumed",
|
||||
content="User prefers plain text on Telegram.",
|
||||
summary="Telegram plain-text preference",
|
||||
source=MemorySource(kind="user", ref="session-1"),
|
||||
confidence=0.9,
|
||||
)
|
||||
store.upsert(record)
|
||||
store.verify("mem-pref-1", status="confirmed", check_method="user-confirmed")
|
||||
store.mark_used("mem-pref-1")
|
||||
store.revoke("mem-pref-1", reason="User changed preference")
|
||||
|
||||
updated = store.get("mem-pref-1")
|
||||
assert updated is not None
|
||||
assert updated.verification.status == "confirmed"
|
||||
assert updated.last_used_at is not None
|
||||
assert updated.fact_status == "revoked"
|
||||
|
||||
SchemaRegistry().validate_memory_record(updated.to_dict())
|
||||
Reference in New Issue
Block a user