feat(cadastre): bulk_harvest worker + grid-walker + admin API (#168 PR3/5) #171

Merged
lekss361 merged 4 commits from feat/cadastre-bulk-worker into main 2026-05-15 10:31:33 +00:00
Showing only changes of commit 7e95c9776f - Show all commits

View file

@ -5,6 +5,12 @@
from __future__ import annotations
# scrape_cadastre зависит от app.scrapers.nspd_bulk_client (PR 2/5).
# Используем importlib.util.find_spec вместо прямого import — иначе
# `import app.workers...` пересоздаёт `app` как Python package и
# перебивает FastAPI instance, привязанный в строке выше → AttributeError
# на app.dependency_overrides.
import importlib.util
from typing import Any
from unittest.mock import MagicMock, patch
@ -13,13 +19,9 @@ from fastapi.testclient import TestClient
from app.main import app
# scrape_cadastre зависит от app.scrapers.nspd_bulk_client (PR 2/5).
# Если ветка ещё не rebased на main — тесты которые импортируют task помечаем skip.
_SCRAPE_CADASTRE_AVAILABLE = True
try:
import app.workers.tasks.scrape_cadastre
except ModuleNotFoundError:
_SCRAPE_CADASTRE_AVAILABLE = False
_SCRAPE_CADASTRE_AVAILABLE = (
importlib.util.find_spec("app.workers.tasks.scrape_cadastre") is not None
)
requires_scrape_cadastre = pytest.mark.skipif(
not _SCRAPE_CADASTRE_AVAILABLE,