| """Settings behaviour for Hugging Face Spaces and Hub tokens.""" | |
| from api.config import Settings | |
| def test_space_id_without_llm_provider_env_uses_huggingface_and_hf_token(monkeypatch): | |
| monkeypatch.setenv("SPACE_ID", "author/repo") | |
| monkeypatch.delenv("LLM_PROVIDER", raising=False) | |
| monkeypatch.delenv("HUGGINGFACE_API_KEY", raising=False) | |
| monkeypatch.setenv("HF_TOKEN", "hf_test_token") | |
| s = Settings(_env_file=None) | |
| assert s.llm_provider == "huggingface" | |
| assert s.huggingface_api_key == "hf_test_token" | |
| def test_space_id_respects_explicit_llm_provider_ollama(monkeypatch): | |
| monkeypatch.setenv("SPACE_ID", "author/repo") | |
| monkeypatch.setenv("LLM_PROVIDER", "ollama") | |
| monkeypatch.delenv("HUGGINGFACE_API_KEY", raising=False) | |
| s = Settings(_env_file=None) | |
| assert s.llm_provider == "ollama" | |