mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-22 05:32:12 -03:00
48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
import asyncio
|
|
|
|
import pytest
|
|
|
|
from py.services.model_cache import ModelCache
|
|
from py.services.model_query import SearchStrategy
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_model_cache_handles_missing_string_fields():
|
|
cache = ModelCache(
|
|
raw_data=[
|
|
{
|
|
"file_path": "/models/example.safetensors",
|
|
"file_name": None,
|
|
"model_name": None,
|
|
"folder": None,
|
|
"size": 0,
|
|
"modified": 0.0,
|
|
}
|
|
],
|
|
folders=[],
|
|
)
|
|
|
|
await asyncio.sleep(0) # allow background resort task to run
|
|
sorted_data = await cache.get_sorted_data("name", "asc")
|
|
|
|
assert sorted_data[0]["model_name"] == ""
|
|
assert sorted_data[0]["file_name"] == ""
|
|
assert cache.folders == [""]
|
|
|
|
|
|
def test_search_strategy_handles_non_string_candidates():
|
|
strategy = SearchStrategy()
|
|
options = strategy.normalize_options(None)
|
|
|
|
data = [
|
|
{
|
|
"file_name": "example.safetensors",
|
|
"model_name": None,
|
|
"tags": ["test"],
|
|
}
|
|
]
|
|
|
|
results = strategy.apply(data, "example", options)
|
|
|
|
assert data[0] in results
|