mirror of
https://github.com/sigoden/dufs.git
synced 2026-04-09 00:59:02 +03:00
feat: use custom logger with timestamp in rfc3339 (#67)
This commit is contained in:
@@ -36,7 +36,6 @@ fn path_prefix_propfind(
|
||||
#[case("index.html")]
|
||||
fn serve_single_file(tmpdir: TempDir, port: u16, #[case] file: &str) -> Result<(), Error> {
|
||||
let mut child = Command::cargo_bin("dufs")?
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path().join(file))
|
||||
.arg("-p")
|
||||
.arg(port.to_string())
|
||||
|
||||
@@ -6,14 +6,13 @@ use assert_cmd::prelude::*;
|
||||
use assert_fs::fixture::TempDir;
|
||||
use regex::Regex;
|
||||
use rstest::rstest;
|
||||
use std::io::{BufRead, BufReader};
|
||||
use std::io::Read;
|
||||
use std::process::{Command, Stdio};
|
||||
|
||||
#[rstest]
|
||||
#[case(&["-b", "20.205.243.166"])]
|
||||
fn bind_fails(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> Result<(), Error> {
|
||||
Command::cargo_bin("dufs")?
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
.arg("-p")
|
||||
.arg(port.to_string())
|
||||
@@ -51,7 +50,6 @@ fn bind_ipv4_ipv6(
|
||||
#[case(&["--path-prefix", "/prefix"])]
|
||||
fn validate_printed_urls(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> Result<(), Error> {
|
||||
let mut child = Command::cargo_bin("dufs")?
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
.arg("-p")
|
||||
.arg(port.to_string())
|
||||
@@ -61,22 +59,23 @@ fn validate_printed_urls(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> R
|
||||
|
||||
wait_for_port(port);
|
||||
|
||||
// WARN assumes urls list is terminated by an empty line
|
||||
let url_lines = BufReader::new(child.stdout.take().unwrap())
|
||||
let stdout = child.stdout.as_mut().expect("Failed to get stdout");
|
||||
let mut buf = [0; 1000];
|
||||
let buf_len = stdout.read(&mut buf)?;
|
||||
let output = std::str::from_utf8(&buf[0..buf_len])?;
|
||||
let url_lines = output
|
||||
.lines()
|
||||
.map(|line| line.expect("Error reading stdout"))
|
||||
.take_while(|line| !line.is_empty()) /* non-empty lines */
|
||||
.collect::<Vec<_>>();
|
||||
let url_lines = url_lines.join("\n");
|
||||
.collect::<Vec<_>>()
|
||||
.join("\n");
|
||||
|
||||
let urls = Regex::new(r"http://[a-zA-Z0-9\.\[\]:/]+")
|
||||
.unwrap()
|
||||
.captures_iter(url_lines.as_str())
|
||||
.map(|caps| caps.get(0).unwrap().as_str())
|
||||
.filter_map(|caps| caps.get(0).map(|v| v.as_str()))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
assert!(!urls.is_empty());
|
||||
|
||||
for url in urls {
|
||||
reqwest::blocking::get(url)?.error_for_status()?;
|
||||
}
|
||||
|
||||
@@ -13,21 +13,7 @@ pub type Error = Box<dyn std::error::Error>;
|
||||
|
||||
/// File names for testing purpose
|
||||
#[allow(dead_code)]
|
||||
pub static FILES: &[&str] = &[
|
||||
"test.txt",
|
||||
"test.html",
|
||||
"index.html",
|
||||
"test.mkv",
|
||||
#[cfg(not(windows))]
|
||||
"test \" \' & < >.csv",
|
||||
"😀.data",
|
||||
"⎙.mp4",
|
||||
"#[]{}()@!$&'`+,;= %20.test",
|
||||
#[cfg(unix)]
|
||||
":?#[]{}<>()@!$&'`|*+,;= %20.test",
|
||||
#[cfg(not(windows))]
|
||||
"foo\\bar.test",
|
||||
];
|
||||
pub static FILES: &[&str] = &["test.txt", "test.html", "index.html", "😀.bin"];
|
||||
|
||||
/// Directory names for testing diretory don't exist
|
||||
#[allow(dead_code)]
|
||||
@@ -41,10 +27,6 @@ pub static DIR_NO_INDEX: &str = "dir-no-index/";
|
||||
#[allow(dead_code)]
|
||||
pub static DIRECTORIES: &[&str] = &["dira/", "dirb/", "dirc/", DIR_NO_INDEX];
|
||||
|
||||
/// Name of a deeply nested file
|
||||
#[allow(dead_code)]
|
||||
pub static DEEPLY_NESTED_FILE: &str = "very/deeply/nested/test.rs";
|
||||
|
||||
/// Test fixture which creates a temporary directory with a few files and directories inside.
|
||||
/// The directories also contain files.
|
||||
#[fixture]
|
||||
@@ -69,10 +51,6 @@ pub fn tmpdir() -> TempDir {
|
||||
}
|
||||
}
|
||||
|
||||
tmpdir
|
||||
.child(&DEEPLY_NESTED_FILE)
|
||||
.write_str("File in a deeply nested directory.")
|
||||
.expect("Couldn't write to file");
|
||||
tmpdir
|
||||
}
|
||||
|
||||
@@ -96,7 +74,6 @@ where
|
||||
let tmpdir = tmpdir();
|
||||
let child = Command::cargo_bin("dufs")
|
||||
.expect("Couldn't find test binary")
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
.arg("-p")
|
||||
.arg(port.to_string())
|
||||
@@ -124,7 +101,6 @@ where
|
||||
let tmpdir = tmpdir();
|
||||
let child = Command::cargo_bin("dufs")
|
||||
.expect("Couldn't find test binary")
|
||||
.env("RUST_LOG", "false")
|
||||
.arg(tmpdir.path())
|
||||
.arg("-p")
|
||||
.arg(port.to_string())
|
||||
|
||||
@@ -76,12 +76,12 @@ fn get_dir_search(#[with(&["-A"])] server: TestServer) -> Result<(), Error> {
|
||||
|
||||
#[rstest]
|
||||
fn get_dir_search2(#[with(&["-A"])] server: TestServer) -> Result<(), Error> {
|
||||
let resp = reqwest::blocking::get(format!("{}?q={}", server.url(), "😀.data"))?;
|
||||
let resp = reqwest::blocking::get(format!("{}?q={}", server.url(), "😀.bin"))?;
|
||||
assert_eq!(resp.status(), 200);
|
||||
let paths = utils::retrive_index_paths(&resp.text()?);
|
||||
assert!(!paths.is_empty());
|
||||
for p in paths {
|
||||
assert!(p.contains(&"😀.data"));
|
||||
assert!(p.contains(&"😀.bin"));
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user