diff options
author | Dean Li <deantvv@gmail.com> | 2021-02-22 05:13:53 +0000 |
---|---|---|
committer | Dean Li <deantvv@gmail.com> | 2021-02-24 13:33:42 +0000 |
commit | da97e91f2eb02ace7f3e6cb3522d4bd55aa45caf (patch) | |
tree | c64b279a6a394123785065ce1418d25364ec3559 | |
parent | Move the parsing header logic to args.rs (diff) | |
download | miniserve-da97e91f2eb02ace7f3e6cb3522d4bd55aa45caf.tar.gz miniserve-da97e91f2eb02ace7f3e6cb3522d4bd55aa45caf.zip |
Add test for custom header
Diffstat (limited to '')
-rw-r--r-- | tests/header.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/header.rs b/tests/header.rs new file mode 100644 index 0000000..a0734e5 --- /dev/null +++ b/tests/header.rs @@ -0,0 +1,33 @@ +mod fixtures; + +use assert_cmd::prelude::*; +use assert_fs::fixture::TempDir; +use fixtures::{port, tmpdir, Error}; +use rstest::rstest; +use std::process::{Command, Stdio}; +use std::thread::sleep; +use std::time::Duration; + +#[rstest] +fn custom_header_set(tmpdir: TempDir, port: u16) -> Result<(), Error> { + let header_name = "x-info"; + let header_value = "123"; + let header_str = format!("{}: {}", header_name, header_value); + + let _ = Command::cargo_bin("miniserve")? + .arg(tmpdir.path()) + .arg("-p") + .arg(port.to_string()) + .arg("--header") + .arg(header_str) + .stdout(Stdio::null()) + .spawn()?; + + sleep(Duration::from_secs(1)); + + let resp = reqwest::blocking::get(format!("http://localhost:{}", port).as_str())?; + + assert_eq!(resp.headers().get(header_name).unwrap(), header_value); + + Ok(()) +} |