This repository has been archived on 2026-10-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
karldns.de/tests/test_management_templates.py
T

46 lines
1.6 KiB
Python
Raw Normal View History

from karldns.routers.management import _activation_ip_params_from_query
from karldns.services.ddns import UpdateIpParams
from karldns.web.templates_management import ManagementPageContext, _management_page_view, _user_event_row_view
def test_management_page_context_builds_account_for_secret_urls() -> None:
context = ManagementPageContext(
management_slug="manage-secret",
account={"hostname": "home.example.net", "update_slug": "update-secret"},
csrf_token="csrf",
)
assert context.account_for_url == {
"hostname": "home.example.net",
"update_slug": "update-secret",
"management_slug": "manage-secret",
}
def test_management_page_view_escapes_missing_status_values() -> None:
context = ManagementPageContext(
management_slug="manage-secret",
account={"hostname": "home.example.net", "update_slug": "update-secret"},
csrf_token="csrf",
)
view = _management_page_view(update_url="https://example.test/update", context=context)
assert view.hostname == "home.example.net"
assert view.ipv4 == "-"
assert view.ipv6 == "-"
assert view.updated == "Never"
def test_activation_ip_params_from_query_builds_domain_params() -> None:
assert _activation_ip_params_from_query(myip=None, ipaddr="203.0.113.8", myipv6=None, ip6addr=None) == (
UpdateIpParams(ipaddr="203.0.113.8")
)
def test_user_event_row_normalizes_status_badge() -> None:
row = _user_event_row_view({"status": "dns_failed", "detail": ""})
assert row.status == "DNS update failed"
assert row.badge_class == "status-badge-error"
assert row.detail == "-"