Simplify admin operator UI

This commit is contained in:
StasonJatham committed 2026-05-21 22:26:14 +02:00
1 parent 0fc220b90b
commit 30aef1fee8
7 files changed
+393 -105

No files matched your search

+23 -2
View File
@@ -15,7 +15,7 @@ def test_admin_page_shows_operator_views_without_create_form(tmp_path: Path) ->
assert response.status_code == 200
assert response.headers["cache-control"] == "no-store"
assert '<link href="/admin.css?v=3" rel="stylesheet">' in response.text
assert '<link href="/admin.css?v=4" rel="stylesheet">' in response.text
assert '<script src="/admin-tables.js?v=2" defer></script>' in response.text
assert "Operator console" in response.text
assert "Generate credentials" not in response.text
@@ -28,7 +28,7 @@ def test_admin_page_shows_operator_views_without_create_form(tmp_path: Path) ->
assert "Cleanup" in response.text
assert "Run now" in response.text
assert "Next run" in response.text
assert "Metrics" in response.text
assert "Service metrics" in response.text
assert "Blocked requests" in response.text
assert "Hostnames" in response.text
assert "Update events" in response.text
@@ -181,6 +181,27 @@ def test_admin_posts_require_csrf(tmp_path: Path) -> None:
assert response.status_code == 403
def test_admin_cleanup_uses_post_redirect_get(tmp_path: Path) -> None:
settings = DdnsSettings(database_path=tmp_path / "ddns.sqlite3", admin_password="admin")
app = make_app(settings)
client = TestClient(app)
response = client.post(
"/admin/cleanup",
auth=("admin", "admin"),
data={"csrf": admin_csrf_token(settings)},
follow_redirects=False,
)
assert response.status_code == 303
assert response.headers["location"].startswith("/admin?cleanup_done=1")
redirected = client.get(response.headers["location"], auth=("admin", "admin"))
assert redirected.status_code == 200
assert "Cleanup finished." in redirected.text
assert "Copy these values now" not in redirected.text
def test_admin_password_query_string_is_rejected(tmp_path: Path) -> None:
app = make_app(DdnsSettings(database_path=tmp_path / "ddns.sqlite3", admin_password="admin"))
client = TestClient(app)
+1 -1
View File
@@ -202,7 +202,7 @@ def test_dashboard_link_can_delete_hostname(tmp_path: Path) -> None:
management = client.get(f"/m/{account['management_slug']}")
assert management.status_code == 200
assert '<link href="/admin.css?v=3" rel="stylesheet">' in management.text
assert '<link href="/admin.css?v=4" rel="stylesheet">' in management.text
assert "home.ddns.example.net" in management.text
assert "CNAME target:" in management.text
assert "Router fields" in management.text