summaryrefslogtreecommitdiffstats
path: root/third_party/rust/warp/tests/addr.rs
blob: 12fc46936fc9efd531904dbb524e9b6b25e4dfad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#![deny(warnings)]

use std::net::{IpAddr, Ipv4Addr, SocketAddr};

#[tokio::test]
async fn remote_addr_missing() {
    let extract_remote_addr = warp::addr::remote();

    let req = warp::test::request();
    let resp = req.filter(&extract_remote_addr).await.unwrap();
    assert_eq!(resp, None)
}

#[tokio::test]
async fn remote_addr_present() {
    let extract_remote_addr = warp::addr::remote();

    let req = warp::test::request().remote_addr("1.2.3.4:5678".parse().unwrap());
    let resp = req.filter(&extract_remote_addr).await.unwrap();
    assert_eq!(
        resp,
        Some(SocketAddr::new(IpAddr::V4(Ipv4Addr::new(1, 2, 3, 4)), 5678))
    )
}