42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from app.ai_provider.config.loader import load_models_config, load_providers_config
|
|
|
|
|
|
class TestLoader:
|
|
def test_load_models_config(self, tmp_path: Path):
|
|
yaml_content = """
|
|
version: 1
|
|
models:
|
|
- name: test-model
|
|
provider: deepseek
|
|
model: deepseek-v4-flash
|
|
format: openai
|
|
"""
|
|
config_file = tmp_path / "models.yaml"
|
|
config_file.write_text(yaml_content)
|
|
models = load_models_config(config_file)
|
|
assert len(models) == 1
|
|
assert models[0].name == "test-model"
|
|
|
|
def test_load_providers_config(self, tmp_path: Path):
|
|
yaml_content = """
|
|
version: 1
|
|
providers:
|
|
deepseek:
|
|
format: openai
|
|
base_url_env: DEEPSEEK_BASE_URL
|
|
api_key_env: DEEPSEEK_API_KEY
|
|
"""
|
|
config_file = tmp_path / "providers.yaml"
|
|
config_file.write_text(yaml_content)
|
|
providers = load_providers_config(config_file)
|
|
assert "deepseek" in providers
|
|
assert providers["deepseek"].format == "openai"
|
|
|
|
def test_missing_file(self):
|
|
with pytest.raises(FileNotFoundError):
|
|
load_models_config(Path("/nonexistent/models.yaml"))
|