import pytest
from src.ai.assistant.model.model_provider import ModelProvider, ModelProviders
[docs]
def test_adds_provider_correctly():
providers = ModelProviders()
provider = ModelProvider(
name="Provider1", base_url="https://example.com", api_key="12345"
)
providers.add(provider)
assert providers["Provider1"] == provider
[docs]
def test_adds_provider_from_dict_correctly():
providers = ModelProviders()
provider_dict = {
"name": "Provider2",
"base_url": "https://example2.com",
"api_key": "67890",
}
providers.add_dict(provider_dict)
assert providers["Provider2"].name == "Provider2"
assert providers["Provider2"].base_url == "https://example2.com"
assert providers["Provider2"].api_key == "67890"
[docs]
def test_handles_duplicate_provider_names():
providers = ModelProviders()
provider1 = ModelProvider(
name="Provider1", base_url="https://example.com", api_key="12345"
)
provider2 = ModelProvider(
name="Provider1", base_url="https://example2.com", api_key="67890"
)
providers.add(provider1)
providers.add(provider2)
assert providers["Provider1"] == provider2
[docs]
def test_handles_empty_provider_dict():
providers = ModelProviders()
provider_dict = {}
with pytest.raises(TypeError):
providers.add_dict(provider_dict)