from pathlib import Path from app.config import load_api_config def test_load_api_config_selects_default_provider(tmp_path: Path) -> None: config_path = tmp_path / "api_config.yaml" config_path.write_text( """ default_provider: intranet providers: intranet: api_key: EMPTY base_url: http://model.local/v1 max_tokens: 1024 model: qwen3-coder temperature: 0.2 """.strip(), encoding="utf-8", ) settings = load_api_config(config_path) assert settings.provider_name == "intranet" assert settings.provider.model == "qwen3-coder" assert settings.provider.chat_completions_url == "http://model.local/v1/chat/completions" def test_load_api_config_accepts_full_chat_completions_url(tmp_path: Path) -> None: config_path = tmp_path / "api_config.yaml" config_path.write_text( """ default_provider: deepseek providers: deepseek: api_key: key base_url: https://api.deepseek.com/v1/chat/completions max_tokens: 4000 model: deepseek-chat temperature: 0.7 """.strip(), encoding="utf-8", ) settings = load_api_config(config_path, provider_name="deepseek") assert settings.provider.chat_completions_url == "https://api.deepseek.com/v1/chat/completions"