Separate bootstrap settings from runtime overrides with a dedicated runtime settings manager
This commit is contained in:
@@ -288,10 +288,12 @@ async def test_startup_overrides_settings_from_persisted_setup(tmp_path: Path) -
|
||||
patch("app.tasks.history_sync.register"),
|
||||
):
|
||||
async with _lifespan(app):
|
||||
assert app.state.settings.database_path == runtime_db_path
|
||||
assert app.state.settings.fail2ban_socket == "/tmp/persisted.sock"
|
||||
assert app.state.settings.timezone == "Europe/Berlin"
|
||||
assert app.state.settings.session_duration_minutes == 123
|
||||
assert app.state.runtime_settings is not None
|
||||
assert app.state.runtime_settings.database_path == runtime_db_path
|
||||
assert app.state.runtime_settings.fail2ban_socket == "/tmp/persisted.sock"
|
||||
assert app.state.runtime_settings.timezone == "Europe/Berlin"
|
||||
assert app.state.runtime_settings.session_duration_minutes == 123
|
||||
assert app.state.settings.database_path == str(tmp_path / "pointer.db")
|
||||
assert Path(runtime_db_path).exists()
|
||||
|
||||
|
||||
|
||||
@@ -159,10 +159,12 @@ class TestPostSetupRuntimeState:
|
||||
|
||||
response = await client.post("/api/setup", json=payload)
|
||||
assert response.status_code == 201
|
||||
assert app.state.settings.database_path == payload["database_path"]
|
||||
assert app.state.settings.fail2ban_socket == payload["fail2ban_socket"]
|
||||
assert app.state.settings.timezone == payload["timezone"]
|
||||
assert app.state.settings.session_duration_minutes == payload["session_duration_minutes"]
|
||||
assert app.state.runtime_settings is not None
|
||||
assert app.state.runtime_settings.database_path == payload["database_path"]
|
||||
assert app.state.runtime_settings.fail2ban_socket == payload["fail2ban_socket"]
|
||||
assert app.state.runtime_settings.timezone == payload["timezone"]
|
||||
assert app.state.runtime_settings.session_duration_minutes == payload["session_duration_minutes"]
|
||||
assert app.state.settings.database_path != payload["database_path"]
|
||||
|
||||
|
||||
class TestSetupRedirectMiddleware:
|
||||
|
||||
Reference in New Issue
Block a user