mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-08-09 07:20:15 -03:00
fix(types): resolve pre-existing basedpyright errors in tests
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)
This commit is contained in:
@@ -8,8 +8,10 @@ response schemas.
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import pytest
|
||||
from types import SimpleNamespace
|
||||
from typing import Any
|
||||
|
||||
import pytest
|
||||
from syrupy import SnapshotAssertion
|
||||
|
||||
from py.routes.handlers.misc_handlers import (
|
||||
@@ -54,13 +56,35 @@ async def noop_async(*_args, **_kwargs):
|
||||
return None
|
||||
|
||||
|
||||
class FakeDownloader:
|
||||
"""Minimal downloader stub satisfying DownloaderProtocol."""
|
||||
|
||||
async def refresh_session(self) -> None:
|
||||
return None
|
||||
|
||||
|
||||
async def fake_downloader_factory() -> FakeDownloader:
|
||||
return FakeDownloader()
|
||||
|
||||
|
||||
async def fake_metadata_provider_factory():
|
||||
return None
|
||||
|
||||
|
||||
def json_payload(response) -> Any:
|
||||
"""Decode the JSON body of a web.Response, asserting it is not null."""
|
||||
text = response.text
|
||||
assert text is not None
|
||||
return json.loads(text)
|
||||
|
||||
|
||||
class FakePromptServer:
|
||||
"""Fake prompt server for testing."""
|
||||
|
||||
sent = []
|
||||
|
||||
class Instance:
|
||||
sockets: dict = {}
|
||||
sockets: dict[str, Any] = {}
|
||||
|
||||
def send_sync(self, event, payload, sid=None):
|
||||
FakePromptServer.sent.append((event, payload))
|
||||
@@ -103,11 +127,11 @@ class TestSettingsHandlerSnapshots:
|
||||
handler = SettingsHandler(
|
||||
settings_service=settings_service,
|
||||
metadata_provider_updater=noop_async,
|
||||
downloader_factory=lambda: None,
|
||||
downloader_factory=fake_downloader_factory,
|
||||
)
|
||||
|
||||
response = await handler.get_settings(FakeRequest())
|
||||
payload = json.loads(response.text)
|
||||
response = await handler.get_settings(FakeRequest()) # pyright: ignore[reportArgumentType]
|
||||
payload = json_payload(response)
|
||||
|
||||
assert payload == snapshot
|
||||
|
||||
@@ -118,12 +142,12 @@ class TestSettingsHandlerSnapshots:
|
||||
handler = SettingsHandler(
|
||||
settings_service=settings_service,
|
||||
metadata_provider_updater=noop_async,
|
||||
downloader_factory=lambda: None,
|
||||
downloader_factory=fake_downloader_factory,
|
||||
)
|
||||
|
||||
request = FakeRequest(json_data={"language": "zh"})
|
||||
response = await handler.update_settings(request)
|
||||
payload = json.loads(response.text)
|
||||
response = await handler.update_settings(request) # pyright: ignore[reportArgumentType]
|
||||
payload = json_payload(response)
|
||||
|
||||
assert payload == snapshot
|
||||
|
||||
@@ -137,7 +161,7 @@ class TestNodeRegistryHandlerSnapshots:
|
||||
node_registry = NodeRegistry()
|
||||
handler = NodeRegistryHandler(
|
||||
node_registry=node_registry,
|
||||
prompt_server=FakePromptServer,
|
||||
prompt_server=FakePromptServer, # pyright: ignore[reportArgumentType]
|
||||
standalone_mode=False,
|
||||
)
|
||||
|
||||
@@ -155,8 +179,8 @@ class TestNodeRegistryHandlerSnapshots:
|
||||
}
|
||||
)
|
||||
|
||||
response = await handler.register_nodes(request)
|
||||
payload = json.loads(response.text)
|
||||
response = await handler.register_nodes(request) # pyright: ignore[reportArgumentType]
|
||||
payload = json_payload(response)
|
||||
|
||||
assert payload == snapshot
|
||||
|
||||
@@ -166,13 +190,13 @@ class TestNodeRegistryHandlerSnapshots:
|
||||
node_registry = NodeRegistry()
|
||||
handler = NodeRegistryHandler(
|
||||
node_registry=node_registry,
|
||||
prompt_server=FakePromptServer,
|
||||
prompt_server=FakePromptServer, # pyright: ignore[reportArgumentType]
|
||||
standalone_mode=False,
|
||||
)
|
||||
|
||||
request = FakeRequest(json_data={"nodes": [], "client_id": "test-client-1"})
|
||||
response = await handler.register_nodes(request)
|
||||
payload = json.loads(response.text)
|
||||
response = await handler.register_nodes(request) # pyright: ignore[reportArgumentType]
|
||||
payload = json_payload(response)
|
||||
|
||||
assert payload == snapshot
|
||||
|
||||
@@ -249,10 +273,12 @@ class TestModelLibraryHandlerSnapshots:
|
||||
get_embedding_scanner=scanner_factory,
|
||||
get_downloaded_version_history_service=fake_download_history_service_factory,
|
||||
),
|
||||
metadata_provider_factory=lambda: None,
|
||||
metadata_provider_factory=fake_metadata_provider_factory,
|
||||
)
|
||||
|
||||
response = await handler.check_model_exists(FakeRequest(query={"modelId": "1"}))
|
||||
payload = json.loads(response.text)
|
||||
response = await handler.check_model_exists(
|
||||
FakeRequest(query={"modelId": "1"}) # pyright: ignore[reportArgumentType]
|
||||
)
|
||||
payload = json_payload(response)
|
||||
|
||||
assert payload == snapshot
|
||||
|
||||
Reference in New Issue
Block a user