From d230a178df4877a88edd192f03c93ce60c20ff31 Mon Sep 17 00:00:00 2001 From: Cassio Farias Machado Date: Wed, 19 Aug 2026 18:33:46 -0300 Subject: [PATCH 1/2] test(agent-memory): enhance agent memory tests with unique agent ID management --- tests/agent_memory/integration/conftest.py | 21 ++++++++++ .../integration/test_agentmemory_bdd.py | 40 ++++++++++--------- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/tests/agent_memory/integration/conftest.py b/tests/agent_memory/integration/conftest.py index 5bc95b69..1823b2ce 100644 --- a/tests/agent_memory/integration/conftest.py +++ b/tests/agent_memory/integration/conftest.py @@ -23,6 +23,7 @@ """ import os +import uuid from pathlib import Path import pytest @@ -84,3 +85,23 @@ def subscriber_tenant() -> str: ) return tenant + + +def _delete_all_memories(client: AgentMemoryClient, agent_id: str) -> None: + offset = 0 + limit = 50 + while True: + memories = client.list_memories(agent_id=agent_id, limit=limit, offset=offset) + for memory in memories: + client.delete_memory(memory.id) + if len(memories) < limit: + break + offset += limit + + +@pytest.fixture(scope="session") +def run_agent_id(agent_memory_client: AgentMemoryClient) -> str: + """Return a unique agent ID for this test run and clean up all its data afterwards.""" + agent_id = f"test-agent-{uuid.uuid4().hex[:8]}" + yield agent_id + _delete_all_memories(agent_memory_client, agent_id) diff --git a/tests/agent_memory/integration/test_agentmemory_bdd.py b/tests/agent_memory/integration/test_agentmemory_bdd.py index b0caab21..ef655d2d 100644 --- a/tests/agent_memory/integration/test_agentmemory_bdd.py +++ b/tests/agent_memory/integration/test_agentmemory_bdd.py @@ -161,10 +161,12 @@ def test_filter_messages_by_metadata_subscriber(): @pytest.fixture -def context(): +def context(run_agent_id): return { "access_strategy": AccessStrategy.PROVIDER, "tenant": None, + "agent_id": run_agent_id, + "invoker_id": "test-user", } @@ -190,7 +192,7 @@ def use_configured_subscriber_tenant(context, subscriber_tenant): def memory_exists(context, agent_memory_client, agent_id, invoker_id, content): context["client"] = agent_memory_client context["memory"] = agent_memory_client.add_memory( - agent_id, invoker_id, content, + context["agent_id"], context["invoker_id"], content, ) @@ -202,7 +204,7 @@ def memory_exists(context, agent_memory_client, agent_id, invoker_id, content): def message_exists(context, agent_memory_client, agent_id, invoker_id, group, role, content): context["client"] = agent_memory_client context["message"] = agent_memory_client.add_message( - agent_id, invoker_id, group, role, content, + context["agent_id"], context["invoker_id"], group, role, content, ) @@ -214,7 +216,7 @@ def message_exists(context, agent_memory_client, agent_id, invoker_id, group, ro def message_exists_with_metadata(context, agent_memory_client, agent_id, invoker_id, group, role, content, metadata_value): context["client"] = agent_memory_client context["message"] = agent_memory_client.add_message( - agent_id, invoker_id, group, role, content, + context["agent_id"], context["invoker_id"], group, role, content, metadata={"tag": metadata_value}, ) @@ -230,7 +232,7 @@ def message_exists_with_metadata(context, agent_memory_client, agent_id, invoker def add_memory(context, agent_id, invoker_id, content): client: AgentMemoryClient = context["client"] context["memory"] = client.add_memory( - agent_id, invoker_id, content, + context["agent_id"], context["invoker_id"], content, ) @@ -257,10 +259,10 @@ def update_memory(context, content): def list_memories(context, agent_id): client: AgentMemoryClient = context["client"] context["memories"] = client.list_memories( - agent_id=agent_id, + agent_id=context["agent_id"], ) context["total"] = client.count_memories( - agent_id=agent_id, + agent_id=context["agent_id"], ) @@ -277,8 +279,8 @@ def delete_memory(context): def search_memories(context, query): client: AgentMemoryClient = context["client"] context["search_results"] = client.search_memories( - agent_id="test-agent", - invoker_id="test-user", + agent_id=context["agent_id"], + invoker_id=context["invoker_id"], query=query, threshold=0.5, limit=10, @@ -293,7 +295,7 @@ def search_memories(context, query): def add_message(context, agent_id, invoker_id, group, role, content): client: AgentMemoryClient = context["client"] context["message"] = client.add_message( - agent_id, invoker_id, group, MessageRole(role), content, + context["agent_id"], context["invoker_id"], group, MessageRole(role), content, ) @@ -305,7 +307,7 @@ def add_message(context, agent_id, invoker_id, group, role, content): def list_messages(context, agent_id, group): client: AgentMemoryClient = context["client"] context["messages"] = client.list_messages( - agent_id=agent_id, + agent_id=context["agent_id"], message_group=group, ) context["total"] = len(context["messages"]) @@ -345,8 +347,8 @@ def update_retention_config(context): def count_memories(context, agent_id, invoker_id): client: AgentMemoryClient = context["client"] context["memory_count"] = client.count_memories( - agent_id=agent_id, - invoker_id=invoker_id, + agent_id=context["agent_id"], + invoker_id=context["invoker_id"], ) @@ -354,8 +356,8 @@ def count_memories(context, agent_id, invoker_id): def list_memories_by_content(context, substring): client: AgentMemoryClient = context["client"] context["memories"] = client.list_memories( - agent_id="test-agent", - invoker_id="test-user", + agent_id=context["agent_id"], + invoker_id=context["invoker_id"], filters=[FilterDefinition(target="content", contains=substring)], ) @@ -364,8 +366,8 @@ def list_memories_by_content(context, substring): def list_messages_by_metadata(context, substring): client: AgentMemoryClient = context["client"] context["messages"] = client.list_messages( - agent_id="test-agent", - invoker_id="test-user", + agent_id=context["agent_id"], + invoker_id=context["invoker_id"], message_group="conv-filter", filters=[FilterDefinition(target="metadata", contains=substring)], ) @@ -381,12 +383,12 @@ def check_memory_id(context): @then(parsers.parse('the memory should have agent_id "{agent_id}"')) def check_memory_agent_id(context, agent_id): - assert context["memory"].agent_id == agent_id + assert context["memory"].agent_id == context["agent_id"] @then(parsers.parse('the memory should have invoker_id "{invoker_id}"')) def check_memory_invoker_id(context, invoker_id): - assert context["memory"].invoker_id == invoker_id + assert context["memory"].invoker_id == context["invoker_id"] @then(parsers.parse('the memory should have content "{content}"')) From 2a6c669b9772974b455fc7a06ac83e519177db29 Mon Sep 17 00:00:00 2001 From: Cassio Farias Machado Date: Wed, 19 Aug 2026 18:42:31 -0300 Subject: [PATCH 2/2] fix: code quality issues --- tests/agent_memory/integration/conftest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/agent_memory/integration/conftest.py b/tests/agent_memory/integration/conftest.py index 1823b2ce..684b8318 100644 --- a/tests/agent_memory/integration/conftest.py +++ b/tests/agent_memory/integration/conftest.py @@ -22,6 +22,7 @@ Required for SUBSCRIBER tests. When absent those tests are skipped. """ +from collections.abc import Generator import os import uuid from pathlib import Path @@ -100,7 +101,7 @@ def _delete_all_memories(client: AgentMemoryClient, agent_id: str) -> None: @pytest.fixture(scope="session") -def run_agent_id(agent_memory_client: AgentMemoryClient) -> str: +def run_agent_id(agent_memory_client: AgentMemoryClient) -> Generator[str, None, None]: """Return a unique agent ID for this test run and clean up all its data afterwards.""" agent_id = f"test-agent-{uuid.uuid4().hex[:8]}" yield agent_id