Files
xerrors--yuxi/backend/test/unit/server/test_model_provider_router.py
wehub-resource-sync 1443d3fdf9
Ruff Format Check / Ruff Format & Lint (push) Failing after 7m39s
Deploy VitePress site to Pages / build (push) Failing after 9m11s
Deploy VitePress site to Pages / Deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:26 +08:00

57 lines
1.8 KiB
Python

import pytest
from server.routers import model_provider_router
from server.routers.model_provider_router import ModelProviderPayload
def test_model_provider_payload_accepts_embedding_and_rerank_urls():
payload = ModelProviderPayload(
provider_id="mixed-provider",
display_name="Mixed Provider",
base_url="https://api.example.com/v1",
embedding_base_url="https://api.example.com/v1/embeddings",
rerank_base_url="https://api.example.com/v1/rerank",
capabilities=["chat", "embedding", "rerank"],
)
data = payload.model_dump(exclude_none=True)
assert data["embedding_base_url"] == "https://api.example.com/v1/embeddings"
assert data["rerank_base_url"] == "https://api.example.com/v1/rerank"
@pytest.mark.asyncio
async def test_update_provider_commits_before_refreshing_cache(monkeypatch):
calls = []
class Db:
async def commit(self):
calls.append("commit")
class User:
username = "admin"
class Provider:
def to_dict(self):
return {"provider_id": "alibaba"}
async def fake_update_provider_config(db, provider_id, data, username):
calls.append("update")
return Provider()
async def fake_refresh_model_cache():
calls.append("refresh")
monkeypatch.setattr(model_provider_router, "update_provider_config", fake_update_provider_config)
monkeypatch.setattr(model_provider_router, "_refresh_model_cache", fake_refresh_model_cache)
result = await model_provider_router.update_provider(
"alibaba",
ModelProviderPayload(enabled_models=[]),
current_user=User(),
db=Db(),
)
assert result == {"success": True, "data": {"provider_id": "alibaba"}}
assert calls == ["update", "commit", "refresh"]