42 lines
1.2 KiB
Python
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(内)"
|