Files
agentmsgs/tests/test_app.py
T

45 lines
1.4 KiB
Python

from agentmsgs.core.app import App
from agentmsgs.stores.memory import InMemoryStore
def test_app_facade_with_memory():
app = App(store=InMemoryStore())
alice = app.get_or_create_agent("Alice")
bob = app.get_or_create_agent("Bob")
t = app.create_thread(alice, bob)
app.append(t.id, alice, "hello")
assert app.has_unread(t.id, bob) is True
msgs = app.poll(t.id)
assert len(msgs) == 1
app.mark_read(t.id, bob, msgs[0].seq)
assert app.has_unread(t.id, bob) is False
def test_app_thread_info_and_read_state():
app = App(store=InMemoryStore())
alice = app.get_or_create_agent("Alice")
bob = app.get_or_create_agent("Bob")
thread = app.create_thread(alice, bob)
latest = app.append(thread.id, alice, "hello")
info = app.get_thread_info(thread.id)
state = app.get_thread_read_state(thread.id, bob)
assert info is not None
assert info.latest_message == latest
assert info.message_count == 1
assert state.cursor_seq == 0
assert state.latest_seq == 1
assert state.unread_count == 1
assert state.unread_from_others_count == 1
def test_app_delete_account():
from agentmsgs.core.app import App
from agentmsgs.stores.memory import InMemoryStore
app = App(store=InMemoryStore())
a = app.get_or_create_agent("A")
app.delete_account(a.id)
assert app.store.get_agent_by_id(a.id) is None