mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-11 00:58:30 +00:00
Address PR feedback: Improve code quality and test coverage
Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
from crewai.utilities.embedding_configurator import EmbeddingConfigurator
|
||||
from crewai.knowledge.embedder.chromadb.utils.embedding_functions.voyageai_embedding_function import VoyageAIEmbeddingFunction
|
||||
|
||||
|
||||
class TestEmbeddingConfigurator:
|
||||
@@ -43,3 +45,37 @@ class TestEmbeddingConfigurator:
|
||||
model_name="voyage-3", api_key="test-key"
|
||||
)
|
||||
assert embedder == mock_instance
|
||||
|
||||
def test_configure_voyageai_embedder_missing_api_key(self):
|
||||
"""Test that the VoyageAI embedder raises an error when API key is missing."""
|
||||
with patch(
|
||||
"crewai.utilities.embedding_configurator.VoyageAIEmbeddingFunction"
|
||||
) as mock_voyageai:
|
||||
mock_voyageai.side_effect = ValueError("API key is required for VoyageAI embeddings")
|
||||
|
||||
config = {} # Empty config without API key
|
||||
model_name = "voyage-3"
|
||||
|
||||
configurator = EmbeddingConfigurator()
|
||||
|
||||
with pytest.raises(ValueError, match="API key is required"):
|
||||
configurator._configure_voyageai(config, model_name)
|
||||
|
||||
def test_configure_voyageai_embedder_custom_model(self):
|
||||
"""Test that the VoyageAI embedder works with different model names."""
|
||||
with patch(
|
||||
"crewai.utilities.embedding_configurator.VoyageAIEmbeddingFunction"
|
||||
) as mock_voyageai:
|
||||
mock_instance = MagicMock()
|
||||
mock_voyageai.return_value = mock_instance
|
||||
|
||||
config = {"api_key": "test-key"}
|
||||
model_name = "voyage-3.5-lite" # Using a different model
|
||||
|
||||
configurator = EmbeddingConfigurator()
|
||||
embedder = configurator._configure_voyageai(config, model_name)
|
||||
|
||||
mock_voyageai.assert_called_once_with(
|
||||
model_name=model_name, api_key="test-key"
|
||||
)
|
||||
assert embedder == mock_instance
|
||||
|
||||
Reference in New Issue
Block a user