Spaces:
No application file
No application file
import os | |
import pytest | |
import embedchain | |
import embedchain.embedder.gpt4all | |
import embedchain.embedder.huggingface | |
import embedchain.embedder.openai | |
import embedchain.embedder.vertexai | |
import embedchain.llm.anthropic | |
import embedchain.llm.openai | |
import embedchain.vectordb.chroma | |
import embedchain.vectordb.elasticsearch | |
import embedchain.vectordb.opensearch | |
from embedchain.factory import EmbedderFactory, LlmFactory, VectorDBFactory | |
class TestFactories: | |
def test_llm_factory_create(self, provider_name, config_data, expected_class): | |
os.environ["ANTHROPIC_API_KEY"] = "test_api_key" | |
os.environ["OPENAI_API_KEY"] = "test_api_key" | |
llm_instance = LlmFactory.create(provider_name, config_data) | |
assert isinstance(llm_instance, expected_class) | |
def test_embedder_factory_create(self, mocker, provider_name, config_data, expected_class): | |
mocker.patch("embedchain.embedder.vertexai.VertexAIEmbedder", autospec=True) | |
embedder_instance = EmbedderFactory.create(provider_name, config_data) | |
assert isinstance(embedder_instance, expected_class) | |
def test_vectordb_factory_create(self, mocker, provider_name, config_data, expected_class): | |
mocker.patch("embedchain.vectordb.opensearch.OpenSearchDB", autospec=True) | |
vectordb_instance = VectorDBFactory.create(provider_name, config_data) | |
assert isinstance(vectordb_instance, expected_class) | |