use std::net::SocketAddr;
use pretty_assertions::assert_eq;
use super::mcp_callback_url;
#[test]
fn mcp_callback_prefers_tailnet_ipv4() {
let addresses = [
"127.0.0.1:34261"
.parse::<SocketAddr>()
.expect("IPv4 loopback"),
"[fd7a:115c:a1e0::1]:34261"
.parse::<SocketAddr>()
.expect("tailnet IPv6"),
"100.71.13.123:34261"
.parse::<SocketAddr>()
.expect("tailnet IPv4"),
];
assert_eq!(
mcp_callback_url(&addresses, "secret"),
Some("http://100.71.13.123:34261/s/secret/oauth/callback".to_string())
);
}
#[test]
fn mcp_callback_stays_local_without_tailnet() {
let addresses = [
"127.0.0.1:34261"
.parse::<SocketAddr>()
.expect("IPv4 loopback"),
"[::1]:34261".parse::<SocketAddr>().expect("IPv6 loopback"),
];
assert_eq!(mcp_callback_url(&addresses, "secret"), None);
}