Improve type system and test coverage for custom memory storage

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-03-04 20:23:51 +00:00
parent 541fa13df7
commit b13590a359
14 changed files with 318 additions and 148 deletions

View File

@@ -7,7 +7,31 @@ from crewai.memory.long_term.long_term_memory_item import LongTermMemoryItem
@pytest.fixture
def long_term_memory():
"""Fixture to create a LongTermMemory instance"""
return LongTermMemory()
# Create a mock storage for testing
from crewai.memory.storage.interface import Storage
class MockStorage(Storage):
def __init__(self):
self.data = []
def save(self, value, metadata):
self.data.append({"value": value, "metadata": metadata})
def search(self, query, limit=3, score_threshold=0.35):
return [
{
"context": item["value"],
"metadata": item["metadata"],
"score": 0.5,
"datetime": item["metadata"].get("datetime", "test_datetime")
}
for item in self.data
]
def reset(self):
self.data = []
return LongTermMemory(storage=MockStorage())
def test_save_and_search(long_term_memory):