Spaces:
Sleeping
Sleeping
github-actions[bot]
Sync backend to Hugging Face Space (commit: 39b5c807918249fa80049d49f4b6a74d6a0ed1fc)
6d86412 | from __future__ import annotations | |
| import pytest | |
| from backend.app.services import campaign_vectorizer | |
| from backend.app.services.campaign_vectorizer import FEATURE_KEYS, extract_campaign_features | |
| def test_extract_campaign_features_explicitly_falls_back_when_llm_errors( | |
| monkeypatch: pytest.MonkeyPatch, | |
| ) -> None: | |
| monkeypatch.setattr(campaign_vectorizer.settings, "ollama_api_key", "present-for-test") | |
| monkeypatch.setattr(campaign_vectorizer, "embed_text", lambda _text: [0.0] * 384) | |
| def _raise_llm_error(*_args, **_kwargs): | |
| raise ConnectionError("simulated provider outage") | |
| monkeypatch.setattr(campaign_vectorizer, "llm_create", _raise_llm_error) | |
| result = extract_campaign_features( | |
| "Oncology campaign for senior KOLs focused on phase 3 evidence, safety, and guideline alignment." | |
| ) | |
| assert result["model"] == "fallback-llm-error" | |
| assert list(result["features"]) == FEATURE_KEYS | |
| assert list(result["normalized_features"]) == FEATURE_KEYS | |
| assert all(0.0 <= float(value) <= 1.0 for value in result["features"].values()) | |