fix: Convert PosixPath to str for ChromaDB

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-02-09 23:26:51 +00:00
parent 4bee02e7f2
commit e6698e24cd

View File

@@ -23,13 +23,13 @@ def temp_db_dir() -> Generator[Path, None, None]:
def test_memory_reset_with_openai(temp_db_dir):
"""Test memory reset with default OpenAI provider."""
os.environ["OPENAI_API_KEY"] = "test-key"
memory = ShortTermMemory(path=temp_db_dir)
memory = ShortTermMemory(path=str(temp_db_dir))
memory.reset() # Should work with OpenAI as default
def test_memory_reset_with_ollama(temp_db_dir):
"""Test memory reset with Ollama provider."""
os.environ["CREWAI_EMBEDDING_PROVIDER"] = "ollama"
memory = ShortTermMemory(path=temp_db_dir)
memory = ShortTermMemory(path=str(temp_db_dir))
memory.reset() # Should not raise any OpenAI-related errors
def test_memory_reset_with_custom_provider(temp_db_dir):
@@ -41,7 +41,7 @@ def test_memory_reset_with_custom_provider(temp_db_dir):
return [[0.5] * 10] * len(input)
memory = ShortTermMemory(
path=temp_db_dir,
path=str(temp_db_dir),
embedder_config={"provider": CustomEmbedder()}
)
memory.reset() # Should work with custom embedder
@@ -50,7 +50,7 @@ def test_memory_reset_with_invalid_provider(temp_db_dir):
"""Test memory reset with invalid provider raises appropriate error."""
os.environ["CREWAI_EMBEDDING_PROVIDER"] = "invalid_provider"
with pytest.raises(Exception) as exc_info:
memory = ShortTermMemory(path=temp_db_dir)
memory = ShortTermMemory(path=str(temp_db_dir))
memory.reset()
assert "Unsupported embedding provider" in str(exc_info.value)
@@ -58,14 +58,14 @@ def test_memory_reset_with_missing_api_key(temp_db_dir):
"""Test memory reset with missing API key raises appropriate error."""
os.environ.pop("OPENAI_API_KEY", None) # Ensure key is not set
os.environ["CREWAI_EMBEDDING_PROVIDER"] = "openai"
with pytest.raises(Exception) as exc_info:
memory = ShortTermMemory(path=temp_db_dir)
with pytest.raises(ValueError) as exc_info:
memory = ShortTermMemory(path=str(temp_db_dir))
memory.reset()
assert "api_key" in str(exc_info.value).lower()
assert "openai api key" in str(exc_info.value).lower()
def test_memory_reset_cleans_up_files(temp_db_dir):
"""Test that memory reset properly cleans up database files."""
memory = ShortTermMemory(path=temp_db_dir)
memory = ShortTermMemory(path=str(temp_db_dir))
memory.save("test memory", {"test": "metadata"})
assert any(temp_db_dir.iterdir()) # Directory should have files
memory.reset()