mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-28 07:35:27 -04:00
090f4078d8
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.
28 lines
1.2 KiB
Python
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"
|