From aed776ac49cb44705463d9e43c070dc56adaaae3 Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Mon, 10 Jun 2024 00:38:45 +0200 Subject: Remove explicit dependency on http We now use the one supplied by actix-web. --- tests/serve_request.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/serve_request.rs') diff --git a/tests/serve_request.rs b/tests/serve_request.rs index b7359c3..dd25a3f 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -1,12 +1,12 @@ mod fixtures; +use actix_web::http::StatusCode; use assert_cmd::prelude::*; use assert_fs::fixture::TempDir; use fixtures::{ port, server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, FILES, HIDDEN_DIRECTORIES, HIDDEN_FILES, }; -use http::StatusCode; use regex::Regex; use rstest::rstest; use select::{document::Document, node::Node, predicate::Attr}; -- cgit v1.2.3 From ae37a5799385d9e9d0b3647e2b4520782cd02d26 Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Mon, 10 Jun 2024 00:44:09 +0200 Subject: Bump reqwest to v0.12 --- tests/serve_request.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/serve_request.rs') diff --git a/tests/serve_request.rs b/tests/serve_request.rs index dd25a3f..e5f098e 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -1,6 +1,5 @@ mod fixtures; -use actix_web::http::StatusCode; use assert_cmd::prelude::*; use assert_fs::fixture::TempDir; use fixtures::{ @@ -8,6 +7,7 @@ use fixtures::{ HIDDEN_DIRECTORIES, HIDDEN_FILES, }; use regex::Regex; +use reqwest::StatusCode; use rstest::rstest; use select::{document::Document, node::Node, predicate::Attr}; use std::process::{Command, Stdio}; -- cgit v1.2.3 From 4dc634655edac54e9638e8390d89a96e235522c0 Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Fri, 10 Jan 2025 17:23:00 +0100 Subject: Reorganize imports to be more consistent --- tests/serve_request.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'tests/serve_request.rs') diff --git a/tests/serve_request.rs b/tests/serve_request.rs index e5f098e..f536200 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -1,18 +1,20 @@ -mod fixtures; +use std::process::{Command, Stdio}; +use std::thread::sleep; +use std::time::Duration; use assert_cmd::prelude::*; use assert_fs::fixture::TempDir; -use fixtures::{ - port, server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, FILES, - HIDDEN_DIRECTORIES, HIDDEN_FILES, -}; use regex::Regex; use reqwest::StatusCode; use rstest::rstest; use select::{document::Document, node::Node, predicate::Attr}; -use std::process::{Command, Stdio}; -use std::thread::sleep; -use std::time::Duration; + +mod fixtures; + +use crate::fixtures::{ + port, server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, FILES, + HIDDEN_DIRECTORIES, HIDDEN_FILES, +}; #[cfg(unix)] use std::os::unix::fs::{symlink as symlink_dir, symlink as symlink_file}; -- cgit v1.2.3 From a4144c9fb39c7a3cc1c15a8caec68b32de938ce7 Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Thu, 6 Feb 2025 04:12:21 +0100 Subject: Make symlinks into global fixtures So far, tests had to create their own symlinks which made them less concise. Also, now that we always have symlinks in all tests, side effects of having them won't go undetected. --- tests/serve_request.rs | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) (limited to 'tests/serve_request.rs') diff --git a/tests/serve_request.rs b/tests/serve_request.rs index f536200..3f8e27a 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -4,6 +4,7 @@ use std::time::Duration; use assert_cmd::prelude::*; use assert_fs::fixture::TempDir; +use fixtures::BROKEN_SYMLINK; use regex::Regex; use reqwest::StatusCode; use rstest::rstest; @@ -12,15 +13,10 @@ use select::{document::Document, node::Node, predicate::Attr}; mod fixtures; use crate::fixtures::{ - port, server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, FILES, - HIDDEN_DIRECTORIES, HIDDEN_FILES, + port, server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, DIRECTORY_SYMLINK, + FILES, FILE_SYMLINK, HIDDEN_DIRECTORIES, HIDDEN_FILES, }; -#[cfg(unix)] -use std::os::unix::fs::{symlink as symlink_dir, symlink as symlink_file}; -#[cfg(windows)] -use std::os::windows::fs::{symlink_dir, symlink_file}; - #[rstest] fn serves_requests_with_no_options(tmpdir: TempDir) -> Result<(), Error> { let mut child = Command::cargo_bin("miniserve")? @@ -133,23 +129,10 @@ fn serves_requests_symlinks( #[case] show_symlink_info: bool, #[case] server: TestServer, ) -> Result<(), Error> { - let file = "symlink-file.html"; - let dir = "symlink-dir/"; - let broken = "symlink broken"; - - // Set up some basic symlinks: - // to dir, to file, to non-existent location - let orig = DIRECTORIES[0].strip_suffix('/').unwrap(); - let link = server.path().join(dir.strip_suffix('/').unwrap()); - symlink_dir(orig, link).expect("Couldn't create symlink"); - symlink_file(FILES[0], server.path().join(file)).expect("Couldn't create symlink"); - symlink_file("should-not-exist.xxx", server.path().join(broken)) - .expect("Couldn't create symlink"); - let body = reqwest::blocking::get(server.url())?.error_for_status()?; let parsed = Document::from_read(body)?; - for &entry in &[file, dir] { + for &entry in &[FILE_SYMLINK, DIRECTORY_SYMLINK] { let status = reqwest::blocking::get(server.url().join(entry)?)?.status(); // We expect a 404 here for when `no_symlinks` is `true`. if no_symlinks { @@ -163,6 +146,7 @@ fn serves_requests_symlinks( .next(); // If symlinks are deactivated, none should be shown in the listing. + dbg!(&node); assert_eq!(node.is_none(), no_symlinks); if node.is_some() && show_symlink_info { assert_eq!(node.unwrap().attr("class").unwrap(), "symlink"); @@ -188,7 +172,10 @@ fn serves_requests_symlinks( assert_eq!(node.unwrap().attr("class").unwrap(), "file"); } } - assert!(parsed.find(|x: &Node| x.text() == broken).next().is_none()); + assert!(parsed + .find(|x: &Node| x.text() == BROKEN_SYMLINK) + .next() + .is_none()); Ok(()) } -- cgit v1.2.3 From f0eb61436e62d0d0d755ac8280bf97b4b52d4e0b Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Thu, 6 Feb 2025 04:30:28 +0100 Subject: Get rid of server_no_stderr We'll now always just pipe the contents of the child to the parent. --- tests/serve_request.rs | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'tests/serve_request.rs') diff --git a/tests/serve_request.rs b/tests/serve_request.rs index 3f8e27a..a53abf9 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -13,8 +13,8 @@ use select::{document::Document, node::Node, predicate::Attr}; mod fixtures; use crate::fixtures::{ - port, server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, DIRECTORY_SYMLINK, - FILES, FILE_SYMLINK, HIDDEN_DIRECTORIES, HIDDEN_FILES, + port, server, tmpdir, Error, TestServer, DIRECTORIES, DIRECTORY_SYMLINK, FILES, FILE_SYMLINK, + HIDDEN_DIRECTORIES, HIDDEN_FILES, }; #[rstest] @@ -229,8 +229,8 @@ fn serves_requests_custom_index_notice(tmpdir: TempDir, port: u16) -> Result<(), } #[rstest] -#[case(server_no_stderr(&["--index", FILES[0]]))] -#[case(server_no_stderr(&["--index", "does-not-exist.html"]))] +#[case(server(&["--index", FILES[0]]))] +#[case(server(&["--index", "does-not-exist.html"]))] fn index_fallback_to_listing(#[case] server: TestServer) -> Result<(), Error> { // If index file is not found, show directory listing instead both cases should return `Ok` reqwest::blocking::get(server.url())?.error_for_status()?; @@ -239,9 +239,9 @@ fn index_fallback_to_listing(#[case] server: TestServer) -> Result<(), Error> { } #[rstest] -#[case(server_no_stderr(&["--spa", "--index", FILES[0]]), "/")] -#[case(server_no_stderr(&["--spa", "--index", FILES[0]]), "/spa-route")] -#[case(server_no_stderr(&["--index", FILES[0]]), "/")] +#[case(server(&["--spa", "--index", FILES[0]]), "/")] +#[case(server(&["--spa", "--index", FILES[0]]), "/spa-route")] +#[case(server(&["--index", FILES[0]]), "/")] fn serve_index_instead_of_404_in_spa_mode( #[case] server: TestServer, #[case] url: &str, @@ -257,9 +257,9 @@ fn serve_index_instead_of_404_in_spa_mode( } #[rstest] -#[case(server_no_stderr(&["--pretty-urls", "--index", FILES[1]]), "/")] -#[case(server_no_stderr(&["--pretty-urls", "--index", FILES[1]]), "test.html")] -#[case(server_no_stderr(&["--pretty-urls", "--index", FILES[1]]), "test")] +#[case(server(&["--pretty-urls", "--index", FILES[1]]), "/")] +#[case(server(&["--pretty-urls", "--index", FILES[1]]), "test.html")] +#[case(server(&["--pretty-urls", "--index", FILES[1]]), "test")] fn serve_file_instead_of_404_in_pretty_urls_mode( #[case] server: TestServer, #[case] url: &str, @@ -290,9 +290,9 @@ fn serves_requests_with_route_prefix(#[case] server: TestServer) -> Result<(), E } #[rstest] -#[case(server_no_stderr(&[] as &[&str]), "/[a-f0-9]+")] -#[case(server_no_stderr(&["--random-route"]), "/[a-f0-9]+")] -#[case(server_no_stderr(&["--route-prefix", "foobar"]), "/foobar/[a-f0-9]+")] +#[case(server(&[] as &[&str]), "/[a-f0-9]+")] +#[case(server(&["--random-route"]), "/[a-f0-9]+")] +#[case(server(&["--route-prefix", "foobar"]), "/foobar/[a-f0-9]+")] fn serves_requests_static_file_check( #[case] server: TestServer, #[case] static_file_pattern: String, -- cgit v1.2.3 From 7b8c339ca3ffc12c621fc95545f138453e854332 Mon Sep 17 00:00:00 2001 From: Lukas Stabe Date: Thu, 6 Feb 2025 05:25:10 +0100 Subject: move favicon and css to stable, non-random routes --- tests/serve_request.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tests/serve_request.rs') diff --git a/tests/serve_request.rs b/tests/serve_request.rs index a53abf9..f840efd 100644 --- a/tests/serve_request.rs +++ b/tests/serve_request.rs @@ -290,9 +290,9 @@ fn serves_requests_with_route_prefix(#[case] server: TestServer) -> Result<(), E } #[rstest] -#[case(server(&[] as &[&str]), "/[a-f0-9]+")] -#[case(server(&["--random-route"]), "/[a-f0-9]+")] -#[case(server(&["--route-prefix", "foobar"]), "/foobar/[a-f0-9]+")] +#[case(server(&[] as &[&str]), "/__miniserve_internal/[a-z.]+")] +#[case(server(&["--random-route"]), "/__miniserve_internal/[a-z.]+")] +#[case(server(&["--route-prefix", "foobar"]), "/foobar/__miniserve_internal/[a-z.]+")] fn serves_requests_static_file_check( #[case] server: TestServer, #[case] static_file_pattern: String, -- cgit v1.2.3