aboutsummaryrefslogtreecommitdiffstats
path: root/tests/upload_files.rs
diff options
context:
space:
mode:
authorAlec Di Vito <me@alecdivito.com>2025-02-17 04:35:26 +0000
committerAlec Di Vito <me@alecdivito.com>2025-02-17 04:35:26 +0000
commit413a63a60307bdf60229670b0f858963604d62a3 (patch)
tree45c4e203bf2d39d7cc13b96b30813be6ce44fb74 /tests/upload_files.rs
parentMerge branch 'svenstaro:master' into upload-progress-bar (diff)
downloadminiserve-413a63a60307bdf60229670b0f858963604d62a3.tar.gz
miniserve-413a63a60307bdf60229670b0f858963604d62a3.zip
feat: implement temporary file uploads and tweak mobile design
Diffstat (limited to 'tests/upload_files.rs')
-rw-r--r--tests/upload_files.rs19
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/upload_files.rs b/tests/upload_files.rs
index 5fdf2cf..a87ca09 100644
--- a/tests/upload_files.rs
+++ b/tests/upload_files.rs
@@ -3,6 +3,7 @@ use std::path::Path;
use assert_fs::fixture::TempDir;
use reqwest::blocking::{multipart, Client};
+use reqwest::header::HeaderMap;
use rstest::rstest;
use select::document::Document;
use select::predicate::{Attr, Text};
@@ -12,7 +13,16 @@ mod fixtures;
use crate::fixtures::{server, tmpdir, Error, TestServer};
#[rstest]
-fn uploading_files_works(#[with(&["-u"])] server: TestServer) -> Result<(), Error> {
+#[case("", "")]
+#[case(
+ "SHA256",
+ "e37b14e22e7b3f50dadaf821c189af80f79b1f39fd5a8b3b4f536103735d4620"
+)]
+fn uploading_files_works(
+ #[with(&["-u"])] server: TestServer,
+ #[case] sha_func: String,
+ #[case] sha: String,
+) -> Result<(), Error> {
let test_file_name = "uploaded test file.txt";
// Before uploading, check whether the uploaded file does not yet exist.
@@ -33,7 +43,12 @@ fn uploading_files_works(#[with(&["-u"])] server: TestServer) -> Result<(), Erro
.mime_str("text/plain")?;
let form = form.part("file_to_upload", part);
- let client = Client::new();
+ let mut headers = HeaderMap::new();
+ headers.insert("X-File-Hash", sha.parse()?);
+ headers.insert("X-File-Hash-Function", sha_func.parse()?);
+
+ let client = Client::builder().default_headers(headers).build()?;
+
client
.post(server.url().join(upload_action)?)
.multipart(form)