feat: remove startup NFO repair, update docs and tests
- Remove NFO repair scan step from ARCHITECTURE.md startup sequence - Update CHANGELOG.md: rephrase perform_nfo_repair_scan as scheduled scan - Add test verifying perform_nfo_repair_scan is NOT called in lifespan - Keep existing folder scan wiring tests and unit tests intact - NFO_GUIDE.md already correctly describes scheduled scan behavior
This commit is contained in:
@@ -1,14 +1,32 @@
|
||||
"""Integration tests verifying perform_nfo_repair_scan is wired into folder scan.
|
||||
"""Integration tests verifying perform_nfo_repair_scan is wired into folder scan
|
||||
and NOT called during FastAPI lifespan startup.
|
||||
|
||||
These tests confirm that:
|
||||
1. FolderScanService.run_folder_scan calls perform_nfo_repair_scan.
|
||||
2. Series with incomplete NFO files are queued via asyncio.create_task.
|
||||
2. perform_nfo_repair_scan is NOT imported or called in fastapi_app.py lifespan.
|
||||
3. Series with incomplete NFO files are queued via asyncio.create_task.
|
||||
"""
|
||||
from unittest.mock import AsyncMock, MagicMock, call, patch
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
class TestNfoRepairScanNotCalledOnStartup:
|
||||
"""Verify perform_nfo_repair_scan is NOT invoked during FastAPI lifespan startup."""
|
||||
|
||||
def test_perform_nfo_repair_scan_not_imported_in_lifespan(self):
|
||||
"""fastapi_app.py lifespan must not import or call perform_nfo_repair_scan."""
|
||||
import importlib
|
||||
|
||||
source = importlib.util.find_spec("src.server.fastapi_app").origin
|
||||
with open(source, "r", encoding="utf-8") as fh:
|
||||
content = fh.read()
|
||||
|
||||
assert "perform_nfo_repair_scan" not in content, (
|
||||
"perform_nfo_repair_scan must NOT be imported or called in fastapi_app.py"
|
||||
)
|
||||
|
||||
|
||||
class TestNfoRepairScanCalledInFolderScan:
|
||||
"""Verify perform_nfo_repair_scan is invoked from FolderScanService."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user