fix(lints): apply clippy suggestions for tests

This commit is contained in:
Orhun Parmaksız 2022-05-16 12:58:41 +03:00
parent 657ca8c1d4
commit a330b59dca
No known key found for this signature in database
GPG Key ID: F83424824B3E4B90
7 changed files with 39 additions and 38 deletions

View File

@ -75,7 +75,7 @@ jobs:
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
command: clippy command: clippy
args: --verbose -- -D warnings args: --tests --verbose -- -D warnings
rustfmt: rustfmt:
name: Formatting name: Formatting

View File

@ -55,21 +55,21 @@ impl Directory {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*; use super::*;
use std::ffi::OsString;
#[test] #[test]
fn test_file_checksum() -> Result<(), ActixError> { fn test_file_checksum() -> Result<(), ActixError> {
assert_eq!( assert_eq!(
"rustypaste_logo.png", Some(OsString::from("rustypaste_logo.png").as_ref()),
Directory::try_from( Directory::try_from(
PathBuf::from(env!("CARGO_MANIFEST_DIR")) PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("img") .join("img")
.as_path() .as_path()
)? )?
.get_file("2073f6f567dcba3b468c568d29cf8ed2e9d3f0f7305b9ab1b5a22861f5922e61") .get_file("2073f6f567dcba3b468c568d29cf8ed2e9d3f0f7305b9ab1b5a22861f5922e61")
.unwrap() .expect("cannot get file with checksum")
.path .path
.file_name() .file_name()
.unwrap()
); );
Ok(()) Ok(())
} }

View File

@ -97,7 +97,7 @@ mod tests {
HeaderName::from_static(EXPIRE), HeaderName::from_static(EXPIRE),
HeaderValue::from_static("5ms"), HeaderValue::from_static("5ms"),
); );
let expiry_time = parse_expiry_date(&headers)?.unwrap(); let expiry_time = parse_expiry_date(&headers)?.unwrap_or_default();
assert!(expiry_time > util::get_system_time()?.as_millis()); assert!(expiry_time > util::get_system_time()?.as_millis());
thread::sleep(Duration::from_millis(10)); thread::sleep(Duration::from_millis(10));
assert!(expiry_time < util::get_system_time()?.as_millis()); assert!(expiry_time < util::get_system_time()?.as_millis());

View File

@ -47,7 +47,7 @@ mod tests {
use super::*; use super::*;
#[test] #[test]
fn test_match_mime_type() { fn test_match_mime_type() -> Result<(), FromStrError> {
assert_eq!( assert_eq!(
mime::TEXT_PLAIN, mime::TEXT_PLAIN,
get_mime_type( get_mime_type(
@ -56,8 +56,7 @@ mod tests {
regex: Regex::new("^.*\\.test$").ok(), regex: Regex::new("^.*\\.test$").ok(),
}], }],
String::from("mime.test") String::from("mime.test")
) )?
.unwrap()
); );
assert_eq!( assert_eq!(
mime::IMAGE_PNG, mime::IMAGE_PNG,
@ -67,16 +66,16 @@ mod tests {
regex: Regex::new("^.*\\.PNG$").ok(), regex: Regex::new("^.*\\.PNG$").ok(),
}], }],
String::from("image.PNG") String::from("image.PNG")
) )?
.unwrap()
); );
assert_eq!( assert_eq!(
mime::APPLICATION_PDF, mime::APPLICATION_PDF,
get_mime_type(&[], String::from("book.pdf")).unwrap() get_mime_type(&[], String::from("book.pdf"))?
); );
assert_eq!( assert_eq!(
mime::APPLICATION_OCTET_STREAM, mime::APPLICATION_OCTET_STREAM,
get_mime_type(&[], String::from("x.unknown")).unwrap() get_mime_type(&[], String::from("x.unknown"))?
); );
Ok(())
} }
} }

View File

@ -263,8 +263,7 @@ mod tests {
Some("txt"), Some("txt"),
PathBuf::from(&file_name) PathBuf::from(&file_name)
.extension() .extension()
.map(|v| v.to_str()) .and_then(|v| v.to_str())
.flatten()
); );
fs::remove_file(file_name)?; fs::remove_file(file_name)?;
@ -286,8 +285,7 @@ mod tests {
Some("bin"), Some("bin"),
PathBuf::from(&file_name) PathBuf::from(&file_name)
.extension() .extension()
.map(|v| v.to_str()) .and_then(|v| v.to_str())
.flatten()
); );
fs::remove_file(file_name)?; fs::remove_file(file_name)?;
@ -300,7 +298,7 @@ mod tests {
data: vec![116, 101, 115, 116], data: vec![116, 101, 115, 116],
type_: PasteType::Oneshot, type_: PasteType::Oneshot,
}; };
let expiry_date = util::get_system_time().unwrap().as_millis() + 100; let expiry_date = util::get_system_time()?.as_millis() + 100;
let file_name = paste.store_file("test.file", Some(expiry_date), &config)?; let file_name = paste.store_file("test.file", Some(expiry_date), &config)?;
let file_path = PasteType::Oneshot let file_path = PasteType::Oneshot
.get_path(&config.server.upload_path) .get_path(&config.server.upload_path)
@ -328,7 +326,7 @@ mod tests {
}; };
assert!(paste.store_url(None, &config).is_err()); assert!(paste.store_url(None, &config).is_err());
config.server.max_content_length = Byte::from_str("30k").unwrap(); config.server.max_content_length = Byte::from_str("30k").expect("cannot parse byte");
let url = String::from("https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg"); let url = String::from("https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg");
let mut paste = Paste { let mut paste = Paste {
data: url.as_bytes().to_vec(), data: url.as_bytes().to_vec(),

View File

@ -66,8 +66,10 @@ mod tests {
type_: RandomURLType::PetName, type_: RandomURLType::PetName,
..RandomURLConfig::default() ..RandomURLConfig::default()
}; };
let random_url = random_config.generate().unwrap(); let random_url = random_config
assert_eq!(3, random_url.split("~").collect::<Vec<&str>>().len()); .generate()
.expect("cannot generate random URL");
assert_eq!(3, random_url.split('~').count());
let random_config = RandomURLConfig { let random_config = RandomURLConfig {
enabled: true, enabled: true,
@ -75,7 +77,9 @@ mod tests {
type_: RandomURLType::Alphanumeric, type_: RandomURLType::Alphanumeric,
..RandomURLConfig::default() ..RandomURLConfig::default()
}; };
let random_url = random_config.generate().unwrap(); let random_url = random_config
.generate()
.expect("cannot generate random URL");
assert_eq!(21, random_url.len()); assert_eq!(21, random_url.len());
let random_config = RandomURLConfig { let random_config = RandomURLConfig {

View File

@ -220,11 +220,11 @@ mod tests {
#[actix_web::test] #[actix_web::test]
async fn test_index() { async fn test_index() {
let mut app = test::init_service(App::new().service(index)).await; let app = test::init_service(App::new().service(index)).await;
let request = TestRequest::default() let request = TestRequest::default()
.insert_header(("content-type", "text/plain")) .insert_header(("content-type", "text/plain"))
.to_request(); .to_request();
let resp = test::call_service(&mut app, request).await; let resp = test::call_service(&app, request).await;
assert!(resp.status().is_redirection()); assert!(resp.status().is_redirection());
assert_eq!(http::StatusCode::FOUND, resp.status()); assert_eq!(http::StatusCode::FOUND, resp.status());
} }
@ -249,17 +249,17 @@ mod tests {
.set_payload(multipart_data) .set_payload(multipart_data)
} }
async fn assert_body(response: ServiceResponse, expected: &str) { async fn assert_body(response: ServiceResponse, expected: &str) -> Result<(), Error> {
assert_eq!(http::StatusCode::OK, response.status()); assert_eq!(http::StatusCode::OK, response.status());
let body = response.into_body(); let body = response.into_body();
match body.size() { if let BodySize::Sized(size) = body.size() {
BodySize::Sized(size) => { assert_eq!(size, expected.as_bytes().len() as u64);
assert_eq!(size, expected.as_bytes().len() as u64); let body_bytes = actix_web::body::to_bytes(body).await?;
let body_bytes = actix_web::body::to_bytes(body).await.unwrap(); let body_text = str::from_utf8(&body_bytes)?;
let body_text = str::from_utf8(&body_bytes).unwrap(); assert_eq!(expected, body_text);
assert_eq!(expected, body_text); Ok(())
} } else {
_ => {} Err(error::ErrorInternalServerError("unexpected body type"))
} }
} }
@ -269,7 +269,7 @@ mod tests {
config.server.upload_path = env::current_dir()?; config.server.upload_path = env::current_dir()?;
config.server.max_content_length = Byte::from_bytes(100); config.server.max_content_length = Byte::from_bytes(100);
let mut app = test::init_service( let app = test::init_service(
App::new() App::new()
.app_data(Data::new(RwLock::new(config))) .app_data(Data::new(RwLock::new(config)))
.app_data(Data::new(Client::default())) .app_data(Data::new(Client::default()))
@ -281,25 +281,25 @@ mod tests {
let file_name = "upload_test.txt"; let file_name = "upload_test.txt";
let timestamp = util::get_system_time()?.as_secs().to_string(); let timestamp = util::get_system_time()?.as_secs().to_string();
let response = test::call_service( let response = test::call_service(
&mut app, &app,
get_multipart_request(&timestamp, file_name).to_request(), get_multipart_request(&timestamp, file_name).to_request(),
) )
.await; .await;
assert_body(response, &format!("http://localhost:8080/{}\n", file_name)).await; assert_body(response, &format!("http://localhost:8080/{}\n", file_name)).await?;
let serve_request = TestRequest::get() let serve_request = TestRequest::get()
.uri(&format!("/{}", file_name)) .uri(&format!("/{}", file_name))
.to_request(); .to_request();
let response = test::call_service(&mut app, serve_request).await; let response = test::call_service(&app, serve_request).await;
assert_eq!(http::StatusCode::OK, response.status()); assert_eq!(http::StatusCode::OK, response.status());
assert_body(response, &timestamp).await; assert_body(response, &timestamp).await?;
fs::remove_file(file_name)?; fs::remove_file(file_name)?;
let serve_request = TestRequest::get() let serve_request = TestRequest::get()
.uri(&format!("/{}", file_name)) .uri(&format!("/{}", file_name))
.to_request(); .to_request();
let response = test::call_service(&mut app, serve_request).await; let response = test::call_service(&app, serve_request).await;
assert_eq!(http::StatusCode::NOT_FOUND, response.status()); assert_eq!(http::StatusCode::NOT_FOUND, response.status());
Ok(()) Ok(())