Overlay leftover FastAPI entry, routers, and jobs into periscope/src (2.45.0).
Copy main, config, middleware/auth, leftover routers, pipeline_worker, job_runner, event_bridge, projects, and admin_settings without deleting dependency copies. Native auth and impedance routers stay as-is.
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
"""Native overlay: leftover app/entry modules resolve from src."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import backend.config as config
|
||||
import backend.main as main
|
||||
import backend.middleware.auth as middleware_auth
|
||||
import backend.pipeline_worker as pipeline_worker
|
||||
import backend.routers.admin as routers_admin
|
||||
import backend.routers.auth as routers_auth
|
||||
import backend.routers.contact as routers_contact
|
||||
import backend.routers.deps as routers_deps
|
||||
import backend.routers.feedback as routers_feedback
|
||||
import backend.routers.impedance as routers_impedance
|
||||
import backend.routers.pipeline as routers_pipeline
|
||||
import backend.routers.projects as routers_projects
|
||||
import backend.routers.reports as routers_reports
|
||||
import backend.routers.survey as routers_survey
|
||||
import backend.services.admin_settings as admin_settings
|
||||
import backend.services.event_bridge as event_bridge
|
||||
import backend.services.job_runner as job_runner
|
||||
import backend.services.projects as projects
|
||||
|
||||
|
||||
def _src(mod) -> Path:
|
||||
return Path(mod.__file__).resolve()
|
||||
|
||||
|
||||
def _overlay_text(mod) -> str:
|
||||
return _src(mod).read_text(encoding="utf-8")[:500]
|
||||
|
||||
|
||||
def test_leftover_app_modules_load_from_src():
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
be = (root / "periscope" / "src" / "backend").resolve()
|
||||
for mod, rel in (
|
||||
(main, "main.py"),
|
||||
(config, "config.py"),
|
||||
(pipeline_worker, "pipeline_worker.py"),
|
||||
(middleware_auth, "middleware/auth.py"),
|
||||
(job_runner, "services/job_runner.py"),
|
||||
(event_bridge, "services/event_bridge.py"),
|
||||
(projects, "services/projects.py"),
|
||||
(admin_settings, "services/admin_settings.py"),
|
||||
(routers_admin, "routers/admin.py"),
|
||||
(routers_contact, "routers/contact.py"),
|
||||
(routers_deps, "routers/deps.py"),
|
||||
(routers_feedback, "routers/feedback.py"),
|
||||
(routers_pipeline, "routers/pipeline.py"),
|
||||
(routers_projects, "routers/projects.py"),
|
||||
(routers_reports, "routers/reports.py"),
|
||||
(routers_survey, "routers/survey.py"),
|
||||
):
|
||||
path = _src(mod)
|
||||
assert path == be / rel, path
|
||||
assert "Native Periscope overlay" in _overlay_text(mod)
|
||||
|
||||
|
||||
def test_native_auth_and_impedance_routers_untouched():
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
be = (root / "periscope" / "src" / "backend").resolve()
|
||||
assert _src(routers_auth) == be / "routers" / "auth.py"
|
||||
assert _src(routers_impedance) == be / "routers" / "impedance.py"
|
||||
assert "Local Periscope auth endpoints" in _src(routers_auth).read_text(encoding="utf-8")[:200]
|
||||
|
||||
|
||||
def test_main_still_exports_fastapi_app():
|
||||
from fastapi import FastAPI
|
||||
|
||||
assert isinstance(main.app, FastAPI)
|
||||
assert main.LOCAL_DEV_USER == "local"
|
||||
Reference in New Issue
Block a user