Files
crewAI/tests/knowledge/knowledge_storage_test.py
Devin AI ae5f4fb9cb Fix import sorting with ruff --fix
Co-Authored-By: Joe Moura <joao@crewai.com>
2025-03-25 14:00:12 +00:00

57 lines
2.1 KiB
Python

import os
from unittest.mock import MagicMock, patch
import pytest
from crewai.knowledge.storage.knowledge_storage import KnowledgeStorage
class TestKnowledgeStorage:
@patch("crewai.knowledge.storage.knowledge_storage.chromadb")
@patch("crewai.knowledge.storage.knowledge_storage.shutil")
def test_reset_with_default_collection(self, mock_shutil, mock_chromadb):
# Setup
mock_app = MagicMock()
mock_chromadb.PersistentClient.return_value = mock_app
# Execute
storage = KnowledgeStorage()
storage.reset()
# Verify
mock_app.reset.assert_called_once()
mock_shutil.rmtree.assert_called_once()
@patch("crewai.knowledge.storage.knowledge_storage.chromadb")
@patch("crewai.knowledge.storage.knowledge_storage.shutil")
def test_reset_with_custom_collection(self, mock_shutil, mock_chromadb):
# Setup
mock_app = MagicMock()
mock_chromadb.PersistentClient.return_value = mock_app
# Execute
storage = KnowledgeStorage(collection_name="custom_collection")
storage.reset()
# Verify
mock_app.delete_collection.assert_called_once_with(name="knowledge_custom_collection")
mock_app.reset.assert_not_called()
mock_shutil.rmtree.assert_not_called()
@patch("crewai.knowledge.storage.knowledge_storage.chromadb")
@patch("crewai.knowledge.storage.knowledge_storage.shutil")
def test_reset_with_custom_collection_fallback(self, mock_shutil, mock_chromadb):
# Setup
mock_app = MagicMock()
mock_app.delete_collection.side_effect = Exception("Collection not found")
mock_chromadb.PersistentClient.return_value = mock_app
# Execute
storage = KnowledgeStorage(collection_name="custom_collection")
storage.reset()
# Verify
mock_app.delete_collection.assert_called_once_with(name="knowledge_custom_collection")
mock_app.reset.assert_called_once()
mock_shutil.rmtree.assert_called_once()