chore: raising errors for passages, adding new passage test (#2234)

Co-authored-by: Mindy Long <mindy@letta.com>
This commit is contained in:
mlong93
2024-12-12 14:29:22 -08:00
committed by GitHub
parent be274749fc
commit e7a56328cf
5 changed files with 66 additions and 79 deletions

View File

@@ -433,42 +433,47 @@ def test_get_recall_memory(server, org_id, user_id, agent_id):
assert message_id in message_ids, f"{message_id} not in {message_ids}"
# TODO: Out-of-date test. pagination commands are off
# @pytest.mark.order(6)
# def test_get_archival_memory(server, user_id, agent_id):
# # test archival memory cursor pagination
# passages_1 = server.get_agent_archival_cursor(user_id=user_id, agent_id=agent_id, reverse=False, limit=2, order_by="text")
# assert len(passages_1) == 2, f"Returned {[p.text for p in passages_1]}, not equal to 2"
# cursor1 = passages_1[-1].id
# passages_2 = server.get_agent_archival_cursor(
# user_id=user_id,
# agent_id=agent_id,
# reverse=False,
# after=cursor1,
# order_by="text",
# )
# cursor2 = passages_2[-1].id
# passages_3 = server.get_agent_archival_cursor(
# user_id=user_id,
# agent_id=agent_id,
# reverse=False,
# before=cursor2,
# limit=1000,
# order_by="text",
# )
# passages_3[-1].id
# # assert passages_1[0].text == "Cinderella wore a blue dress"
# assert len(passages_2) in [3, 4] # NOTE: exact size seems non-deterministic, so loosen test
# assert len(passages_3) in [4, 5] # NOTE: exact size seems non-deterministic, so loosen test
@pytest.mark.order(6)
def test_get_archival_memory(server, user_id, agent_id):
# test archival memory cursor pagination
user = server.user_manager.get_user_by_id(user_id=user_id)
# List latest 2 passages
passages_1 = server.passage_manager.list_passages(
actor=user, agent_id=agent_id, ascending=False, limit=2,
)
assert len(passages_1) == 2, f"Returned {[p.text for p in passages_1]}, not equal to 2"
# # test archival memory
# passage_1 = server.get_agent_archival(user_id=user_id, agent_id=agent_id, start=0, count=1)
# assert len(passage_1) == 1
# passage_2 = server.get_agent_archival(user_id=user_id, agent_id=agent_id, start=1, count=1000)
# assert len(passage_2) in [4, 5] # NOTE: exact size seems non-deterministic, so loosen test
# # test safe empty return
# passage_none = server.get_agent_archival(user_id=user_id, agent_id=agent_id, start=1000, count=1000)
# assert len(passage_none) == 0
# List next 3 passages (earliest 3)
cursor1 = passages_1[-1].id
passages_2 = server.passage_manager.list_passages(
actor=user,
agent_id=agent_id,
ascending=False,
cursor=cursor1,
)
# List all 5
cursor2 = passages_1[0].created_at
passages_3 = server.passage_manager.list_passages(
actor=user,
agent_id=agent_id,
ascending=False,
end_date=cursor2,
limit=1000,
)
# assert passages_1[0].text == "Cinderella wore a blue dress"
assert len(passages_2) in [3, 4] # NOTE: exact size seems non-deterministic, so loosen test
assert len(passages_3) in [4, 5] # NOTE: exact size seems non-deterministic, so loosen test
# test archival memory
passage_1 = server.get_agent_archival(user_id=user_id, agent_id=agent_id, limit=1)
assert len(passage_1) == 1
passage_2 = server.get_agent_archival(user_id=user_id, agent_id=agent_id, cursor=passage_1[-1].id, limit=1000)
assert len(passage_2) in [4, 5] # NOTE: exact size seems non-deterministic, so loosen test
# test safe empty return
passage_none = server.get_agent_archival(user_id=user_id, agent_id=agent_id, cursor=passages_1[0].id, limit=1000)
assert len(passage_none) == 0
def test_agent_rethink_rewrite_retry(server, user_id, agent_id):