mirror of
https://github.com/sigoden/dufs.git
synced 2026-04-09 00:59:02 +03:00
feat: add option --allow-archive (#152)
BREAKING CHANGE: explicitly allow download folder as zip file
This commit is contained in:
@@ -20,6 +20,13 @@ fn default_not_allow_delete(server: TestServer) -> Result<(), Error> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn default_not_allow_archive(server: TestServer) -> Result<(), Error> {
|
||||
let resp = reqwest::blocking::get(format!("{}?zip", server.url()))?;
|
||||
assert_eq!(resp.status(), 404);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn default_not_exist_dir(server: TestServer) -> Result<(), Error> {
|
||||
let resp = reqwest::blocking::get(format!("{}404/", server.url()))?;
|
||||
@@ -71,3 +78,15 @@ fn allow_search(#[with(&["--allow-search"])] server: TestServer) -> Result<(), E
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn allow_archive(#[with(&["--allow-archive"])] server: TestServer) -> Result<(), Error> {
|
||||
let resp = reqwest::blocking::get(format!("{}?zip", server.url()))?;
|
||||
assert_eq!(resp.status(), 200);
|
||||
assert_eq!(
|
||||
resp.headers().get("content-type").unwrap(),
|
||||
"application/zip"
|
||||
);
|
||||
assert!(resp.headers().contains_key("content-disposition"));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ fn head_dir_404(server: TestServer) -> Result<(), Error> {
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn get_dir_zip(server: TestServer) -> Result<(), Error> {
|
||||
fn get_dir_zip(#[with(&["-A"])] server: TestServer) -> Result<(), Error> {
|
||||
let resp = reqwest::blocking::get(format!("{}?zip", server.url()))?;
|
||||
assert_eq!(resp.status(), 200);
|
||||
assert_eq!(
|
||||
@@ -50,7 +50,7 @@ fn get_dir_zip(server: TestServer) -> Result<(), Error> {
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn head_dir_zip(server: TestServer) -> Result<(), Error> {
|
||||
fn head_dir_zip(#[with(&["-A"])] server: TestServer) -> Result<(), Error> {
|
||||
let resp = fetch!(b"HEAD", format!("{}?zip", server.url())).send()?;
|
||||
assert_eq!(resp.status(), 200);
|
||||
assert_eq!(
|
||||
|
||||
@@ -40,7 +40,9 @@ fn render_try_index2(#[with(&["--render-try-index"])] server: TestServer) -> Res
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn render_try_index3(#[with(&["--render-try-index"])] server: TestServer) -> Result<(), Error> {
|
||||
fn render_try_index3(
|
||||
#[with(&["--render-try-index", "--allow-archive"])] server: TestServer,
|
||||
) -> Result<(), Error> {
|
||||
let resp = reqwest::blocking::get(format!("{}{}?zip", server.url(), DIR_NO_INDEX))?;
|
||||
assert_eq!(resp.status(), 200);
|
||||
assert_eq!(
|
||||
|
||||
Reference in New Issue
Block a user