Files
ComfyUI-Lora-Manager/tests/routes/test_embedding_routes.py
2025-09-25 09:40:25 +08:00

51 lines
1.4 KiB
Python

import json
import pytest
from py.routes.embedding_routes import EmbeddingRoutes
class DummyRequest:
def __init__(self, *, match_info=None):
self.match_info = match_info or {}
class StubEmbeddingService:
def __init__(self):
self.info = {}
async def get_model_info_by_name(self, name):
value = self.info.get(name)
if isinstance(value, Exception):
raise value
return value
@pytest.fixture
def routes():
handler = EmbeddingRoutes()
handler.service = StubEmbeddingService()
return handler
async def test_get_embedding_info_success(routes):
routes.service.info["demo"] = {"name": "demo"}
response = await routes.get_embedding_info(DummyRequest(match_info={"name": "demo"}))
payload = json.loads(response.text)
assert payload == {"name": "demo"}
async def test_get_embedding_info_missing(routes):
response = await routes.get_embedding_info(DummyRequest(match_info={"name": "missing"}))
payload = json.loads(response.text)
assert response.status == 404
assert payload == {"error": "Embedding not found"}
async def test_get_embedding_info_error(routes):
routes.service.info["demo"] = RuntimeError("boom")
response = await routes.get_embedding_info(DummyRequest(match_info={"name": "demo"}))
payload = json.loads(response.text)
assert response.status == 500
assert payload == {"error": "boom"}