| import importlib | |
| import sys | |
| def _reload_main_module(monkeypatch, enabled: bool): | |
| from landppt.core.config import app_config | |
| monkeypatch.setattr(app_config, "enable_api_docs", enabled) | |
| sys.modules.pop("landppt.main", None) | |
| return importlib.import_module("landppt.main") | |
| def test_main_app_enables_api_docs_by_default(monkeypatch): | |
| pytest = __import__("pytest") | |
| pytest.importorskip("fastapi") | |
| module = _reload_main_module(monkeypatch, True) | |
| assert module.app.docs_url == "/docs" | |
| assert module.app.redoc_url == "/redoc" | |
| assert module.app.openapi_url == "/openapi.json" | |
| def test_main_app_can_disable_api_docs(monkeypatch): | |
| pytest = __import__("pytest") | |
| pytest.importorskip("fastapi") | |
| module = _reload_main_module(monkeypatch, False) | |
| assert module.app.docs_url is None | |
| assert module.app.redoc_url is None | |
| assert module.app.openapi_url is None | |