diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2025-02-06 03:12:21 +0000 |
---|---|---|
committer | Sven-Hendrik Haase <svenstaro@gmail.com> | 2025-02-06 03:12:21 +0000 |
commit | a4144c9fb39c7a3cc1c15a8caec68b32de938ce7 (patch) | |
tree | a5631e5679d0210c565d302dda11f6f388fa616d /tests/webdav.rs | |
parent | Add CHANGELOG entry for #1415 (diff) | |
download | miniserve-a4144c9fb39c7a3cc1c15a8caec68b32de938ce7.tar.gz miniserve-a4144c9fb39c7a3cc1c15a8caec68b32de938ce7.zip |
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.
Diffstat (limited to '')
-rw-r--r-- | tests/webdav.rs | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/tests/webdav.rs b/tests/webdav.rs index 1bc7e12..eb97e3c 100644 --- a/tests/webdav.rs +++ b/tests/webdav.rs @@ -1,7 +1,3 @@ -#[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}; use std::process::Command; use assert_cmd::prelude::*; @@ -17,7 +13,8 @@ use rstest::rstest; mod fixtures; use crate::fixtures::{ - server, tmpdir, Error, TestServer, DIRECTORIES, FILES, HIDDEN_DIRECTORIES, HIDDEN_FILES, + server, server_no_stderr, tmpdir, Error, TestServer, DIRECTORIES, DIRECTORY_SYMLINK, FILES, + FILE_SYMLINK, HIDDEN_DIRECTORIES, HIDDEN_FILES, }; #[rstest] @@ -93,36 +90,25 @@ fn webdav_respects_hidden_flag( #[rstest] #[case(server(&["--enable-webdav"]), true)] #[should_panic] -#[case(server(&["--enable-webdav", "--no-symlinks"]), false)] +#[case(server_no_stderr(&["--enable-webdav", "--no-symlinks"]), false)] fn webdav_respects_no_symlink_flag(#[case] server: TestServer, #[case] symlinks_should_show: bool) { - // Make symlinks - let symlink_directory_str = "symlink_directory"; - let symlink_directory = server.path().join(symlink_directory_str); - let symlinked_direcotry = server.path().join(DIRECTORIES[0]); - symlink_dir(symlinked_direcotry, symlink_directory).unwrap(); - - let symlink_filename_str = "symlink_file"; - let symlink_filename = server.path().join(symlink_filename_str); - let symlinked_file = server.path().join(FILES[0]); - symlink_file(symlinked_file, symlink_filename).unwrap(); - let list = list_webdav(server.url(), "/").unwrap(); assert_eq!( symlinks_should_show, list.iter().any(|el| - matches!(el, ListEntity::File(ListFile { href, .. }) if href.contains(symlink_filename_str)) + matches!(el, ListEntity::File(ListFile { href, .. }) if href.contains(FILE_SYMLINK)) ), ); assert_eq!( symlinks_should_show, list.iter().any(|el| - matches!(el, ListEntity::Folder(ListFolder { href, .. }) if href.contains(symlink_directory_str)) + matches!(el, ListEntity::Folder(ListFolder { href, .. }) if href.contains(DIRECTORY_SYMLINK)) ), ); - let list_linked = list_webdav(server.url(), &format!("/{}", symlink_directory_str)); + let list_linked = list_webdav(server.url(), &format!("/{}", DIRECTORY_SYMLINK)); assert_eq!(symlinks_should_show, list_linked.is_ok()); } |