add further tests
This commit is contained in:
		@@ -62,9 +62,56 @@ pub fn parse_ip(ip: &str) -> Option<IpAddr> {
 | 
			
		||||
 | 
			
		||||
#[cfg(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]
 | 
			
		||||
    fn parse_bad_ip() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user