diff options
author | Jonas Diemer <jonasdiemer@gmail.com> | 2022-08-30 15:05:47 +0000 |
---|---|---|
committer | Jonas Diemer <jonasdiemer@gmail.com> | 2022-09-18 18:26:55 +0000 |
commit | 7e4d1cff19337bee3d2271eead46c39720682ae0 (patch) | |
tree | ae22caa80997d3f805ee61a603a54d4c4ae0edd8 /tests/upload_files.rs | |
parent | fix lint errors (diff) | |
download | miniserve-7e4d1cff19337bee3d2271eead46c39720682ae0.tar.gz miniserve-7e4d1cff19337bee3d2271eead46c39720682ae0.zip |
trying to handle paths in a way that works for windows
Diffstat (limited to 'tests/upload_files.rs')
-rw-r--r-- | tests/upload_files.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/tests/upload_files.rs b/tests/upload_files.rs index 63374a2..d96f296 100644 --- a/tests/upload_files.rs +++ b/tests/upload_files.rs @@ -117,23 +117,27 @@ fn uploading_files_is_restricted(#[case] server: TestServer) -> Result<(), Error /// This tests that we can upload files to the directory specified by --allow-upload-dir #[rstest] -#[case(server(&["-u", "someDir"]), vec!["someDir"])] -#[case(server(&["-u", "./-someDir"]), vec!["./-someDir"])] -#[case(server(&["-u", "someDir/some_sub_dir"]), vec!["someDir/some_sub_dir"])] +#[case(server(&["-u", "someDir"]), vec!["someDir".to_string()])] +#[case(server(&["-u", "./-someDir"]), vec!["./-someDir".to_string()])] +#[case(server(&["-u", "someDir/some_sub_dir"]), vec!["someDir/some_sub_dir".to_string()])] #[case(server(&["-u", "someDir/some_sub_dir", "-u", "someDir/some_other_dir"]), - vec!["someDir/some_sub_dir", "someDir/some_other_dir"])] + vec!["someDir/some_sub_dir".to_string(), "someDir/some_other_dir".to_string()])] fn uploading_files_to_allowed_dir_works( #[case] server: TestServer, - #[case] upload_dirs: Vec<&str>, + #[case] mut upload_dirs: Vec<String>, ) -> Result<(), Error> { let test_file_name = "uploaded test file.txt"; + + if cfg!(target_os = "windows"){ + upload_dirs = upload_dirs.iter().map(|x| x.replace("/", "\\")).collect(); + } for upload_dir in upload_dirs { // Create test directory - create_dir_all(server.path().join(upload_dir)).unwrap(); + create_dir_all(server.path().join(upload_dir.as_str())).unwrap(); // Before uploading, check whether the uploaded file does not yet exist. - let body = reqwest::blocking::get(server.url().join(upload_dir)?)?.error_for_status()?; + let body = reqwest::blocking::get(server.url().join(upload_dir.as_str())?)?.error_for_status()?; let parsed = Document::from_read(body)?; assert!(parsed.find(Text).all(|x| x.text() != test_file_name)); @@ -158,7 +162,7 @@ fn uploading_files_to_allowed_dir_works( .error_for_status()?; // After uploading, check whether the uploaded file is now getting listed. - let body = reqwest::blocking::get(server.url().join(upload_dir)?)?; + let body = reqwest::blocking::get(server.url().join(upload_dir.as_str())?)?; let parsed = Document::from_read(body)?; assert!(parsed.find(Text).any(|x| x.text() == test_file_name)); } |