Files
awoooi/apps/api/tests/test_ollama_endpoint_resolver.py
Your Name 45cd55b2da
All checks were successful
Code Review / ai-code-review (push) Successful in 11s
CD Pipeline / tests (push) Successful in 5m13s
CD Pipeline / build-and-deploy (push) Successful in 3m31s
CD Pipeline / post-deploy-checks (push) Successful in 1m18s
fix(api): enforce global ollama endpoint order
2026-05-19 12:32:19 +08:00

80 lines
2.3 KiB
Python

from __future__ import annotations
from types import SimpleNamespace
from src.services.ollama_endpoint_resolver import (
resolve_ollama_order,
resolve_ollama_selection,
)
def _settings(
*,
primary: str = "http://192.168.0.110:11435",
secondary: str = "http://192.168.0.110:11436",
fallback: str = "http://192.168.0.110:11437",
) -> SimpleNamespace:
return SimpleNamespace(
OLLAMA_URL=primary,
OLLAMA_SECONDARY_URL=secondary,
OLLAMA_FALLBACK_URL=fallback,
)
def test_all_workloads_prefer_gcp_a_lane() -> None:
cfg = _settings()
for workload in (
"interactive",
"healthcheck",
"alert_fast",
"batch",
"embedding",
"rag",
"code_review",
"shadow",
"canary",
"deep_rca",
"image_analysis",
"hermes",
"local_required",
"privacy_sensitive",
"dr",
):
selection = resolve_ollama_selection(workload, config=cfg)
assert selection.url == "http://192.168.0.110:11435"
assert selection.provider_name == "ollama_gcp_a"
assert selection.reason == "global_primary_gcp_a"
def test_all_workloads_share_global_ollama_order() -> None:
cfg = _settings()
for workload in ("interactive", "deep_rca", "local_required", "privacy_sensitive", "dr"):
order = resolve_ollama_order(workload, config=cfg)
assert [selection.url for selection in order] == [
"http://192.168.0.110:11435",
"http://192.168.0.110:11436",
"http://192.168.0.110:11437",
]
assert [selection.provider_name for selection in order] == [
"ollama_gcp_a",
"ollama_gcp_b",
"ollama_local",
]
def test_non_sensitive_workloads_fall_back_to_gcp_b_when_primary_missing() -> None:
cfg = _settings(primary="")
selection = resolve_ollama_selection("embedding", config=cfg)
assert selection.url == "http://192.168.0.110:11436"
assert selection.provider_name == "ollama_gcp_b"
assert selection.reason == "global_secondary_gcp_b"
order = resolve_ollama_order("embedding", config=cfg)
assert [selection.provider_name for selection in order] == [
"ollama_gcp_b",
"ollama_local",
]