add further tests
This commit is contained in:
		@@ -62,9 +62,56 @@ pub fn parse_ip(ip: &str) -> Option<IpAddr> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#[cfg(test)]
 | 
					#[cfg(test)]
 | 
				
			||||||
mod test {
 | 
					mod test {
 | 
				
			||||||
    use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
 | 
					    use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
 | 
				
			||||||
 | 
					    use std::str::FromStr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    use crate::utils::network_utils::parse_ip;
 | 
					    use actix_web::test::TestRequest;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    use crate::utils::network_utils::{get_remote_ip, parse_ip};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[test]
 | 
				
			||||||
 | 
					    fn test_get_remote_ip() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default()
 | 
				
			||||||
 | 
					            .peer_addr(SocketAddr::from_str("192.168.1.1:1000").unwrap())
 | 
				
			||||||
 | 
					            .to_http_request();
 | 
				
			||||||
 | 
					        assert_eq!(get_remote_ip(&req, None), "192.168.1.1");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[test]
 | 
				
			||||||
 | 
					    fn test_get_remote_ip_from_proxy() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default()
 | 
				
			||||||
 | 
					            .peer_addr(SocketAddr::from_str("192.168.1.1:1000").unwrap())
 | 
				
			||||||
 | 
					            .insert_header(("X-Forwarded-For", "1.1.1.1"))
 | 
				
			||||||
 | 
					            .to_http_request();
 | 
				
			||||||
 | 
					        assert_eq!(get_remote_ip(&req, Some("192.168.1.1")), "1.1.1.1");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[test]
 | 
				
			||||||
 | 
					    fn test_get_remote_ip_from_proxy_2() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default()
 | 
				
			||||||
 | 
					            .peer_addr(SocketAddr::from_str("192.168.1.1:1000").unwrap())
 | 
				
			||||||
 | 
					            .insert_header(("X-Forwarded-For", "1.1.1.1, 1.2.2.2"))
 | 
				
			||||||
 | 
					            .to_http_request();
 | 
				
			||||||
 | 
					        assert_eq!(get_remote_ip(&req, Some("192.168.1.1")), "1.1.1.1");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[test]
 | 
				
			||||||
 | 
					    fn test_get_remote_ip_from_no_proxy() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default()
 | 
				
			||||||
 | 
					            .peer_addr(SocketAddr::from_str("192.168.1.1:1000").unwrap())
 | 
				
			||||||
 | 
					            .insert_header(("X-Forwarded-For", "1.1.1.1, 1.2.2.2"))
 | 
				
			||||||
 | 
					            .to_http_request();
 | 
				
			||||||
 | 
					        assert_eq!(get_remote_ip(&req, None), "192.168.1.1");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[test]
 | 
				
			||||||
 | 
					    fn test_get_remote_ip_from_other_proxy() {
 | 
				
			||||||
 | 
					        let req = TestRequest::default()
 | 
				
			||||||
 | 
					            .peer_addr(SocketAddr::from_str("192.168.1.1:1000").unwrap())
 | 
				
			||||||
 | 
					            .insert_header(("X-Forwarded-For", "1.1.1.1, 1.2.2.2"))
 | 
				
			||||||
 | 
					            .to_http_request();
 | 
				
			||||||
 | 
					        assert_eq!(get_remote_ip(&req, Some("192.168.1.2")), "192.168.1.1");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[test]
 | 
					    #[test]
 | 
				
			||||||
    fn parse_bad_ip() {
 | 
					    fn parse_bad_ip() {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user