reddit-media-collector/tests
Richard Nixon b4a2f303ac ci: add mypy job + pre-commit hook, tighten type annotations
- .github/workflows/ci.yml: new 'types' job runs mypy src/; docker now needs lint+types+test
- .pre-commit-config.yaml: add mirrors-mypy hook on src/ with types-requests, types-PyYAML
- pyproject.toml: add per-module overrides ignoring legacy modules (main, downloader, reddit_client, database, extractors.{reddit,gfycat}) while keeping src/web/ strict
- src/web/deps.py: type DOWNLOADS_DIR explicitly as Path
- src/web/config_manager.py: type guards on get_subreddits/users/blacklist returns
- src/web/routers/favorites.py: dict[str, object] for result, avoid in-place + on object
- src/web/routers/media.py: dict[str, object] for delete result
- src/web/rate_limit.py: move Awaitable/Callable under TYPE_CHECKING
- ruff format + auto-fix on src/ + tests/
2026-05-17 11:58:40 +01:00
..
__init__.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
conftest.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_auth.py test: cover routers, auth, rate limit, config_manager, imgur extractor 2026-05-17 11:54:40 +01:00
test_config.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_config_manager.py ci: add mypy job + pre-commit hook, tighten type annotations 2026-05-17 11:58:40 +01:00
test_database.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_downloader.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_extractors.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_extractors_imgur.py test: cover routers, auth, rate limit, config_manager, imgur extractor 2026-05-17 11:54:40 +01:00
test_main.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_rate_limit.py test: cover routers, auth, rate limit, config_manager, imgur extractor 2026-05-17 11:54:40 +01:00
test_reddit_client.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_router_config.py test: cover routers, auth, rate limit, config_manager, imgur extractor 2026-05-17 11:54:40 +01:00
test_router_favorites.py ci: add mypy job + pre-commit hook, tighten type annotations 2026-05-17 11:58:40 +01:00
test_router_media.py ci: add mypy job + pre-commit hook, tighten type annotations 2026-05-17 11:58:40 +01:00
test_router_stats.py test: cover routers, auth, rate limit, config_manager, imgur extractor 2026-05-17 11:54:40 +01:00
test_sidecar.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00
test_web_api.py chore: checkpoint baseline (routers, tests, pyproject) 2026-05-17 11:40:35 +01:00