summaryrefslogtreecommitdiffstats
path: root/third_party/rust/warp/tests/addr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/warp/tests/addr.rs')
-rw-r--r--third_party/rust/warp/tests/addr.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/rust/warp/tests/addr.rs b/third_party/rust/warp/tests/addr.rs
new file mode 100644
index 0000000000..12fc46936f
--- /dev/null
+++ b/third_party/rust/warp/tests/addr.rs
@@ -0,0 +1,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))
+ )
+}