Archived
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
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 == "-"
|