mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-22 05:32:12 -03:00
fix(cache): harden metadata defaults
This commit is contained in:
47
tests/services/test_model_cache_resilience.py
Normal file
47
tests/services/test_model_cache_resilience.py
Normal file
@@ -0,0 +1,47 @@
|
||||
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
|
||||
Reference in New Issue
Block a user