Files
Nexus/tests/test_server_alert_ips.py
T
2026-07-08 22:31:31 +08:00

42 lines
1.2 KiB
Python

"""Server alert IP resolution for Telegram."""
from server.utils.server_alert_ips import (
classify_domain_ip,
format_alert_ip_line,
is_public_ip,
merge_alert_ips,
)
def test_is_public_ip():
assert is_public_ip("8.8.8.8") is True
assert is_public_ip("172.21.171.82") is False
def test_classify_domain_ip():
assert classify_domain_ip("8.8.8.8") == ("8.8.8.8", None)
assert classify_domain_ip("172.21.171.82") == (None, "172.21.171.82")
assert classify_domain_ip("host.example.com") == (None, None)
def test_merge_alert_ips_prefers_domain_public_over_agent():
pub, priv = merge_alert_ips(
domain="120.79.11.13",
system_info={"public_ip": "1.2.3.4", "private_ip": "172.21.171.82"},
)
assert pub == "120.79.11.13"
assert priv == "172.21.171.82"
def test_merge_alert_ips_agent_public_when_domain_private():
pub, priv = merge_alert_ips(
domain="172.21.171.82",
system_info={"public_ip": "120.79.11.13", "private_ip": "172.21.171.82"},
)
assert pub == "120.79.11.13"
assert priv == "172.21.171.82"
def test_format_alert_ip_line():
assert format_alert_ip_line("1.2.3.4", "10.0.0.1") == "IP地址:1.2.3.4(外) 10.0.0.1(内)"