Files
memabra/tests/test_memory_store.py
2026-04-15 11:06:05 +08:00

28 lines
1006 B
Python

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())