mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2025-12-16 01:57:04 +08:00
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
"""
|
|
Tests for model management endpoints.
|
|
These features are scheduled for deprecation, so tests are minimal.
|
|
"""
|
|
import pytest
|
|
from typing import Callable, Dict
|
|
|
|
from utils.validation import validate_response
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"mode",
|
|
["local", "remote"]
|
|
)
|
|
def test_get_external_model_list(
|
|
api_request: Callable,
|
|
openapi_spec: Dict,
|
|
mode: str
|
|
):
|
|
"""
|
|
Test the endpoint for listing external models.
|
|
"""
|
|
# Make the API request
|
|
path = "/externalmodel/getlist"
|
|
response, json_data = api_request(
|
|
method="get",
|
|
path=path,
|
|
params={"mode": mode},
|
|
expected_status=200,
|
|
)
|
|
|
|
# Validate response structure against the schema
|
|
assert json_data is not None
|
|
validate_response(
|
|
response_data=json_data,
|
|
path=path,
|
|
method="get",
|
|
spec=openapi_spec,
|
|
)
|
|
|
|
# Verify the response contains the expected fields
|
|
assert "models" in json_data
|
|
assert isinstance(json_data["models"], list)
|
|
|
|
# If there are any models, verify they have the expected structure
|
|
if json_data["models"]:
|
|
first_model = json_data["models"][0]
|
|
assert "name" in first_model
|
|
assert "type" in first_model
|
|
assert "url" in first_model
|
|
assert "filename" in first_model
|
|
assert "installed" in first_model
|
|
|
|
|
|
@pytest.mark.skip(reason="State-modifying operation that requires auth")
|
|
def test_install_model():
|
|
"""
|
|
Test queuing a model installation.
|
|
Skipped to avoid modifying state and requires authentication.
|
|
This feature is also scheduled for deprecation.
|
|
"""
|
|
pass |