From 565d2b2494323d9a53b6e52aea3ae4ef82c72ad1 Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Mon, 22 Jan 2024 16:49:35 +0000 Subject: [PATCH] fix ip tests --- proxy/src/auth/credentials.rs | 25 +++++++++++-------------- proxy/src/cache/project_info.rs | 12 ++++++------ 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/proxy/src/auth/credentials.rs b/proxy/src/auth/credentials.rs index 9034eff860..342fd6fce9 100644 --- a/proxy/src/auth/credentials.rs +++ b/proxy/src/auth/credentials.rs @@ -228,6 +228,7 @@ fn project_name_valid(name: &str) -> bool { #[cfg(test)] mod tests { use super::*; + use serde_json::json; use ComputeUserInfoParseError::*; #[test] @@ -437,21 +438,17 @@ mod tests { #[test] fn test_check_peer_addr_is_in_list() { - let peer_addr = IpAddr::from([127, 0, 0, 1]); - assert!(check_peer_addr_is_in_list(&peer_addr, &[])); - assert!(check_peer_addr_is_in_list( - &peer_addr, - &["127.0.0.1".parse().unwrap()] - )); - assert!(!check_peer_addr_is_in_list( - &peer_addr, - &["8.8.8.8".parse().unwrap()] - )); + fn check(v: serde_json::Value) -> bool { + let peer_addr = IpAddr::from([127, 0, 0, 1]); + let ip_list: Vec = serde_json::from_value(v).unwrap(); + check_peer_addr_is_in_list(&peer_addr, &ip_list) + } + + assert!(check(json!([]))); + assert!(check(json!(["127.0.0.1"]))); + assert!(!check(json!(["8.8.8.8"]))); // If there is an incorrect address, it will be skipped. - assert!(check_peer_addr_is_in_list( - &peer_addr, - &["88.8.8".parse().unwrap(), "127.0.0.1".parse().unwrap()] - )); + assert!(check(json!(["88.8.8", "127.0.0.1"]))); } #[test] fn test_parse_ip_v4() -> anyhow::Result<()> { diff --git a/proxy/src/cache/project_info.rs b/proxy/src/cache/project_info.rs index 786e4bbde7..6dea1c8f3f 100644 --- a/proxy/src/cache/project_info.rs +++ b/proxy/src/cache/project_info.rs @@ -296,8 +296,8 @@ mod tests { let secret1 = AuthSecret::Scram(ServerSecret::mock(user1.as_str(), [1; 32])); let secret2 = AuthSecret::Scram(ServerSecret::mock(user2.as_str(), [2; 32])); let allowed_ips = Arc::new(vec![ - "allowed_ip1".parse().unwrap(), - "allowed_ip2".parse().unwrap(), + "127.0.0.1".parse().unwrap(), + "127.0.0.2".parse().unwrap(), ]); cache.insert_role_secret(&project_id, &endpoint_id, &user1, secret1.clone()); cache.insert_role_secret(&project_id, &endpoint_id, &user2, secret2.clone()); @@ -347,8 +347,8 @@ mod tests { let secret1 = AuthSecret::Scram(ServerSecret::mock(user1.as_str(), [1; 32])); let secret2 = AuthSecret::Scram(ServerSecret::mock(user2.as_str(), [2; 32])); let allowed_ips = Arc::new(vec![ - "allowed_ip1".parse().unwrap(), - "allowed_ip2".parse().unwrap(), + "127.0.0.1".parse().unwrap(), + "127.0.0.2".parse().unwrap(), ]); cache.insert_role_secret(&project_id, &endpoint_id, &user1, secret1.clone()); cache.insert_role_secret(&project_id, &endpoint_id, &user2, secret2.clone()); @@ -395,8 +395,8 @@ mod tests { let secret1 = AuthSecret::Scram(ServerSecret::mock(user1.as_str(), [1; 32])); let secret2 = AuthSecret::Scram(ServerSecret::mock(user2.as_str(), [2; 32])); let allowed_ips = Arc::new(vec![ - "allowed_ip1".parse().unwrap(), - "allowed_ip2".parse().unwrap(), + "127.0.0.1".parse().unwrap(), + "127.0.0.2".parse().unwrap(), ]); cache.insert_role_secret(&project_id, &endpoint_id, &user1, secret1.clone()); cache.clone().disable_ttl();