Skip to content

Commit f586d10

Browse files
committed
refactor(tests): reorganize and update hop-by-hop headers tests
Signed-off-by: Chrislearn Young <chris@acroidea.com>
1 parent 67a70d0 commit f586d10

1 file changed

Lines changed: 45 additions & 45 deletions

File tree

crates/core/src/proxy/mod.rs

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -631,51 +631,6 @@ impl ReverseProxy {
631631
}
632632
}
633633

634-
#[cfg(test)]
635-
mod tests {
636-
use http::header::{CONNECTION, PROXY_AUTHENTICATE, TE, TRANSFER_ENCODING, UPGRADE};
637-
638-
use super::*;
639-
640-
#[test]
641-
fn strip_hop_by_hop_headers_removes_standard_and_connection_named_headers() {
642-
let mut headers = HeaderMap::new();
643-
let keep_alive = HeaderName::from_static("keep-alive");
644-
headers.insert(CONNECTION, "keep-alive, x-smuggled".parse().unwrap());
645-
headers.insert(keep_alive.clone(), "timeout=5".parse().unwrap());
646-
headers.insert(PROXY_AUTHENTICATE, "Basic realm=test".parse().unwrap());
647-
headers.insert(TE, "trailers".parse().unwrap());
648-
headers.insert(TRANSFER_ENCODING, "chunked".parse().unwrap());
649-
headers.insert(UPGRADE, "websocket".parse().unwrap());
650-
headers.insert("x-smuggled", "secret".parse().unwrap());
651-
headers.insert("x-end-to-end", "ok".parse().unwrap());
652-
653-
strip_hop_by_hop_headers(&mut headers);
654-
655-
assert!(!headers.contains_key(CONNECTION));
656-
assert!(!headers.contains_key(keep_alive));
657-
assert!(!headers.contains_key(PROXY_AUTHENTICATE));
658-
assert!(!headers.contains_key(TE));
659-
assert!(!headers.contains_key(TRANSFER_ENCODING));
660-
assert!(!headers.contains_key(UPGRADE));
661-
assert!(!headers.contains_key("x-smuggled"));
662-
assert_eq!(headers.get("x-end-to-end").unwrap(), "ok");
663-
}
664-
665-
#[test]
666-
fn connection_header_names_reads_all_connection_headers() {
667-
let mut headers = HeaderMap::new();
668-
headers.append(CONNECTION, "keep-alive".parse().unwrap());
669-
headers.append(CONNECTION, "x-one, x-two".parse().unwrap());
670-
671-
let names = connection_header_names(&headers);
672-
673-
assert!(names.iter().any(|name| name == "keep-alive"));
674-
assert!(names.iter().any(|name| name == "x-one"));
675-
assert!(names.iter().any(|name| name == "x-two"));
676-
}
677-
}
678-
679634
// ---------------------------------------------------------------------------
680635
// URI sanitization helpers
681636
// ---------------------------------------------------------------------------
@@ -747,3 +702,48 @@ async fn send_via_unix(
747702
.await
748703
.map_err(ProxyError::Hyper)
749704
}
705+
706+
#[cfg(test)]
707+
mod tests {
708+
use http::header::{CONNECTION, PROXY_AUTHENTICATE, TE, TRANSFER_ENCODING, UPGRADE};
709+
710+
use super::*;
711+
712+
#[test]
713+
fn strip_hop_by_hop_headers_removes_standard_and_connection_named_headers() {
714+
let mut headers = HeaderMap::new();
715+
let keep_alive = HeaderName::from_static("keep-alive");
716+
headers.insert(CONNECTION, "keep-alive, x-smuggled".parse().unwrap());
717+
headers.insert(keep_alive.clone(), "timeout=5".parse().unwrap());
718+
headers.insert(PROXY_AUTHENTICATE, "Basic realm=test".parse().unwrap());
719+
headers.insert(TE, "trailers".parse().unwrap());
720+
headers.insert(TRANSFER_ENCODING, "chunked".parse().unwrap());
721+
headers.insert(UPGRADE, "websocket".parse().unwrap());
722+
headers.insert("x-smuggled", "secret".parse().unwrap());
723+
headers.insert("x-end-to-end", "ok".parse().unwrap());
724+
725+
strip_hop_by_hop_headers(&mut headers);
726+
727+
assert!(!headers.contains_key(CONNECTION));
728+
assert!(!headers.contains_key(keep_alive));
729+
assert!(!headers.contains_key(PROXY_AUTHENTICATE));
730+
assert!(!headers.contains_key(TE));
731+
assert!(!headers.contains_key(TRANSFER_ENCODING));
732+
assert!(!headers.contains_key(UPGRADE));
733+
assert!(!headers.contains_key("x-smuggled"));
734+
assert_eq!(headers.get("x-end-to-end").unwrap(), "ok");
735+
}
736+
737+
#[test]
738+
fn connection_header_names_reads_all_connection_headers() {
739+
let mut headers = HeaderMap::new();
740+
headers.append(CONNECTION, "keep-alive".parse().unwrap());
741+
headers.append(CONNECTION, "x-one, x-two".parse().unwrap());
742+
743+
let names = connection_header_names(&headers);
744+
745+
assert!(names.iter().any(|name| name == "keep-alive"));
746+
assert!(names.iter().any(|name| name == "x-one"));
747+
assert!(names.iter().any(|name| name == "x-two"));
748+
}
749+
}

0 commit comments

Comments
 (0)