mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-08-09 07:20:15 -03:00
Fix ~790 basedpyright errors across the test suite: - Type stub subclasses of real production classes with super().__init__() - Add missing generic type arguments and Dict[str, Any] annotations - Add None guards before subscript/member access - Adapt tests to production API changes (removed dead handlers, PersistentModelCache.get_default, _i18n_filter_added location)
59 lines
1.5 KiB
Python
59 lines
1.5 KiB
Python
from types import SimpleNamespace
|
|
|
|
import pytest
|
|
|
|
from py.services.model_scanner import ModelScanner
|
|
from py.utils.models import BaseModelMetadata
|
|
|
|
|
|
class DummyScanner(ModelScanner):
|
|
def __init__(self, raw_data):
|
|
super().__init__(
|
|
model_type="dummy",
|
|
model_class=BaseModelMetadata,
|
|
file_extensions={".safetensors"},
|
|
)
|
|
self._cache = SimpleNamespace(raw_data=raw_data)
|
|
|
|
async def get_cached_data(self, force_refresh: bool = False, rebuild_cache: bool = False):
|
|
return self._cache
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_get_base_models_limit_zero_returns_all_sorted():
|
|
scanner = DummyScanner(
|
|
[
|
|
{"base_model": "SDXL"},
|
|
{"base_model": "LTXV 2.3"},
|
|
{"base_model": "SDXL"},
|
|
{"base_model": ""},
|
|
{},
|
|
]
|
|
)
|
|
|
|
result = await ModelScanner.get_base_models(scanner, limit=0)
|
|
|
|
assert result == [
|
|
{"name": "SDXL", "count": 2},
|
|
{"name": "LTXV 2.3", "count": 1},
|
|
]
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_get_base_models_positive_limit_still_truncates():
|
|
scanner = DummyScanner(
|
|
[
|
|
{"base_model": "SDXL"},
|
|
{"base_model": "LTXV 2.3"},
|
|
{"base_model": "Flux.1 D"},
|
|
{"base_model": "SDXL"},
|
|
]
|
|
)
|
|
|
|
result = await ModelScanner.get_base_models(scanner, limit=2)
|
|
|
|
assert result == [
|
|
{"name": "SDXL", "count": 2},
|
|
{"name": "LTXV 2.3", "count": 1},
|
|
]
|