From be7762e3692d6fdf1d442b24eb26293b15700d42 Mon Sep 17 00:00:00 2001 From: Ketan Patel Date: Wed, 3 Jun 2026 21:34:49 -0400 Subject: [PATCH] Fix template rendering for upgraded Starlette --- app/routes/pages.py | 18 +++++++++++------- tests/test_auth.py | 13 +++++++++++++ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/app/routes/pages.py b/app/routes/pages.py index 0affd70..7bb64c4 100644 --- a/app/routes/pages.py +++ b/app/routes/pages.py @@ -37,9 +37,9 @@ async def dashboard(request: Request): cfg = load_config() user = current_user(request) response = templates.TemplateResponse( + request, "dashboard.html", { - "request": request, "ups_list": cfg.ups, "ui_cfg": cfg.ui.model_dump(), "current_user": user, @@ -56,8 +56,9 @@ async def config_page(request: Request): if redirect: return redirect response = templates.TemplateResponse( + request, "config.html", - {"request": request, "current_user": current_user(request), "active_nav": "config"}, + {"current_user": current_user(request), "active_nav": "config"}, ) _ensure_csrf(request, response) return response @@ -69,8 +70,9 @@ async def events_page(request: Request): if redirect: return redirect response = templates.TemplateResponse( + request, "events.html", - {"request": request, "current_user": current_user(request), "active_nav": "events"}, + {"current_user": current_user(request), "active_nav": "events"}, ) _ensure_csrf(request, response) return response @@ -82,8 +84,9 @@ async def alerts_page(request: Request): if redirect: return redirect response = templates.TemplateResponse( + request, "alerts.html", - {"request": request, "current_user": current_user(request), "active_nav": "alerts"}, + {"current_user": current_user(request), "active_nav": "alerts"}, ) _ensure_csrf(request, response) return response @@ -95,8 +98,9 @@ async def settings_page(request: Request): if redirect: return redirect response = templates.TemplateResponse( + request, "settings.html", - {"request": request, "current_user": current_user(request), "active_nav": "settings"}, + {"current_user": current_user(request), "active_nav": "settings"}, ) _ensure_csrf(request, response) return response @@ -108,11 +112,11 @@ async def login_page(request: Request): return RedirectResponse("/setup", status_code=302) if current_user(request): return RedirectResponse("/", status_code=302) - return templates.TemplateResponse("login.html", {"request": request}) + return templates.TemplateResponse(request, "login.html") @router.get("/setup", response_class=HTMLResponse) async def setup_page(request: Request): if is_admin_configured(): return RedirectResponse("/login", status_code=302) - return templates.TemplateResponse("setup.html", {"request": request}) + return templates.TemplateResponse(request, "setup.html") diff --git a/tests/test_auth.py b/tests/test_auth.py index c8e72c6..7a38389 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -52,6 +52,19 @@ def test_login_rejects_before_setup(app_client, fake_redis): assert r.status_code == 409 +def test_login_page_renders_when_configured(app_client, fake_redis): + store_admin("admin", "testpassword123") + r = app_client.get("/login") + assert r.status_code == 200 + assert "text/html" in r.headers["content-type"] + + +def test_setup_page_renders_before_configured(app_client, fake_redis): + r = app_client.get("/setup") + assert r.status_code == 200 + assert "text/html" in r.headers["content-type"] + + def test_login_happy_path(app_client, fake_redis): store_admin("admin", "testpassword123") r = app_client.post(