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:
Will Miao
2026-08-08 20:12:59 +08:00
parent 8e724538bd
commit d2f955266d
95 changed files with 953 additions and 666 deletions

View File

@@ -6,11 +6,12 @@ from py.services import model_metadata_provider as provider_module
from py.services.errors import RateLimitError
from py.services.model_metadata_provider import (
FallbackMetadataProvider,
ModelMetadataProvider,
RateLimitRetryingProvider,
)
class RateLimitThenSuccessProvider:
class RateLimitThenSuccessProvider(ModelMetadataProvider):
def __init__(self) -> None:
self.calls = 0
@@ -20,8 +21,20 @@ class RateLimitThenSuccessProvider:
raise RateLimitError("limited", retry_after=1.0)
return {"id": "ok"}, None
async def get_model_versions(self, model_id: str):
return None
class AlwaysRateLimitedProvider:
async def get_model_version(self, model_id=None, version_id=None):
return None
async def get_model_version_info(self, version_id: str):
return None, None
async def get_user_models(self, username: str, cursor=None):
return None
class AlwaysRateLimitedProvider(ModelMetadataProvider):
def __init__(self) -> None:
self.calls = 0
@@ -29,8 +42,20 @@ class AlwaysRateLimitedProvider:
self.calls += 1
raise RateLimitError("limited")
async def get_model_versions(self, model_id: str):
return None
class TrackingProvider:
async def get_model_version(self, model_id=None, version_id=None):
return None
async def get_model_version_info(self, version_id: str):
return None, None
async def get_user_models(self, username: str, cursor=None):
return None
class TrackingProvider(ModelMetadataProvider):
def __init__(self) -> None:
self.calls = 0
@@ -38,6 +63,18 @@ class TrackingProvider:
self.calls += 1
return {"id": "secondary"}, None
async def get_model_versions(self, model_id: str):
return None
async def get_model_version(self, model_id=None, version_id=None):
return None
async def get_model_version_info(self, version_id: str):
return None, None
async def get_user_models(self, username: str, cursor=None):
return None
@pytest.mark.asyncio
async def test_fallback_retries_same_provider_on_rate_limit(monkeypatch):