33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
|
|
from yuxi.services.model_cache import ModelCache
|
||
|
|
|
||
|
|
|
||
|
|
def test_model_cache_prefers_model_base_url_override(monkeypatch):
|
||
|
|
saved_cache = {}
|
||
|
|
|
||
|
|
class Provider:
|
||
|
|
is_enabled = True
|
||
|
|
provider_id = "alibaba"
|
||
|
|
api_key = "sk-test"
|
||
|
|
api_key_env = None
|
||
|
|
provider_type = "openai"
|
||
|
|
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
|
||
|
|
embedding_base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings"
|
||
|
|
rerank_base_url = "https://dashscope.aliyuncs.com/compatible-api/v1/reranks"
|
||
|
|
headers_json = {}
|
||
|
|
extra_json = {}
|
||
|
|
enabled_models = [
|
||
|
|
{
|
||
|
|
"id": "qwen3-rerank",
|
||
|
|
"type": "rerank",
|
||
|
|
"display_name": "Qwen3 Rerank",
|
||
|
|
"base_url_override": "https://invalid.example/rerank",
|
||
|
|
}
|
||
|
|
]
|
||
|
|
|
||
|
|
cache = ModelCache()
|
||
|
|
monkeypatch.setattr(cache, "_save_cache", lambda data: saved_cache.update(data))
|
||
|
|
|
||
|
|
cache.rebuild([Provider()])
|
||
|
|
|
||
|
|
assert saved_cache["alibaba:qwen3-rerank"].base_url == "https://invalid.example/rerank"
|