Files
agentmsgs/tests/test_store_protocol.py
T

41 lines
1.1 KiB
Python

from typing import Protocol
from agentmsgs.core.store import (
AgentStore,
CursorStore,
MessageStore,
Store,
ThreadStore,
)
def test_store_composes_domain_protocols():
assert issubclass(Store, Protocol)
assert AgentStore in Store.__mro__
assert ThreadStore in Store.__mro__
assert MessageStore in Store.__mro__
assert CursorStore in Store.__mro__
for protocol, methods in {
AgentStore: [
"get_or_create_agent",
"get_agent_by_name",
"get_agent_by_id",
"create_agent",
"delete_agent",
"list_agents",
],
ThreadStore: [
"create_thread",
"get_thread",
"find_threads",
"add_participant",
"remove_participant",
"delete_thread",
],
MessageStore: ["append_message", "list_messages"],
CursorStore: ["get_cursor", "set_cursor"],
}.items():
for method in methods:
assert hasattr(protocol, method), f"missing {method} from {protocol.__name__}"