Files
odysseus/tests/test_cerebras_cache_affinity.py
T
Rudra Sarker 090f4078d8 fix(llm-core): prevent cache-affinity fields from reaching Cerebras
Recognize api.cerebras.ai as a Cerebras cloud provider so llama.cpp/LM Studio cache-affinity fields are not attached even when endpoint_kind is misconfigured as local. Add regression coverage for provider detection, self-hosted classification, and payload field exclusion.
2026-06-27 18:07:12 +01:00

28 lines
1.2 KiB
Python

"""Regression test for issue #4640.
Cerebras endpoints must not receive llama.cpp-specific fields
(session_id, cache_prompt) even when endpoint_kind is misconfigured as 'local'.
"""
import importlib
def test_detect_provider_recognizes_cerebras():
"""_detect_provider should return 'cerebras' for api.cerebras.ai URLs."""
llm_core = importlib.import_module("src.llm_core")
assert llm_core._detect_provider("https://api.cerebras.ai/v1") == "cerebras"
def test_cerebras_not_self_hosted():
"""_is_self_hosted_openai_compatible should be False for Cerebras."""
llm_core = importlib.import_module("src.llm_core")
assert llm_core._is_self_hosted_openai_compatible("https://api.cerebras.ai/v1") is False
def test_apply_local_cache_affinity_skips_cerebras():
"""_apply_local_cache_affinity must not add session_id/cache_prompt for Cerebras."""
llm_core = importlib.import_module("src.llm_core")
payload = {"messages": []}
llm_core._apply_local_cache_affinity(payload, "https://api.cerebras.ai/v1", "test-session-123")
assert "session_id" not in payload, "session_id leaked into Cerebras payload"
assert "cache_prompt" not in payload, "cache_prompt leaked into Cerebras payload"