From 23f350b6b8100d5a0e3b0bd474059d693b4f35b9 Mon Sep 17 00:00:00 2001 From: Eduardo Trujillo <ed@chromabits.com> Date: Tue, 15 Nov 2022 18:29:14 -0800 Subject: [PATCH] refactor: Run clippy on tests too --- .gitlab-ci.yml | 2 +- src/config.rs | 2 +- src/files/mod.rs | 81 ++++++++++++++++++++------------------- src/files/path_context.rs | 73 +++++++++++++---------------------- 4 files changed, 70 insertions(+), 88 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f80f927..a5d077a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -66,7 +66,7 @@ rust-nightly-clippy: - target/ <<: *rust_template script: - - cargo clippy --all --verbose -- -D warnings + - cargo clippy --all --tests --verbose -- -D warnings rust-nightly-docker: stage: image diff --git a/src/config.rs b/src/config.rs index d1ed2c6..ef5f1fa 100644 --- a/src/config.rs +++ b/src/config.rs @@ -279,7 +279,7 @@ mod tests { #[test] fn test_from_file() { - let config: Config = from_file(&Path::new("config.sample.toml"), None).unwrap(); + let config: Config = from_file(Path::new("config.sample.toml"), None).unwrap(); assert_eq!( config, diff --git a/src/files/mod.rs b/src/files/mod.rs index 026d17d..e426a3f 100644 --- a/src/files/mod.rs +++ b/src/files/mod.rs @@ -296,7 +296,7 @@ mod tests { let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/", serve_dir("."), root_path_context, @@ -305,7 +305,7 @@ mod tests { .await; let request = TestRequest::get().uri("/").to_request(); - let response = test::call_service(&mut srv, request).await; + let response = test::call_service(&srv, request).await; assert_eq!(response.status(), StatusCode::OK); let content_disposition = response @@ -320,16 +320,17 @@ mod tests { #[actix_rt::test] async fn test_named_file_ranges_status_code() { - let mut server_config = ServerConfig::default(); - - server_config.index_strategy = Some(IndexStrategyConfig::IndexFiles { - filenames: ["Cargo.toml".to_owned()].iter().cloned().collect(), - }); + let server_config = ServerConfig { + index_strategy: Some(IndexStrategyConfig::IndexFiles { + filenames: ["Cargo.toml".to_owned()].iter().cloned().collect(), + }), + ..ServerConfig::default() + }; let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/test", serve_dir("."), root_path_context, @@ -342,7 +343,7 @@ mod tests { .uri("/t%65st/Cargo.toml") .append_header((header::RANGE, "bytes=10-20")) .to_request(); - let response = test::call_service(&mut srv, request).await; + let response = test::call_service(&srv, request).await; assert_eq!(response.status(), StatusCode::PARTIAL_CONTENT); // Invalid range header @@ -350,7 +351,7 @@ mod tests { .uri("/t%65st/Cargo.toml") .append_header((header::RANGE, "bytes=1-0")) .to_request(); - let response = test::call_service(&mut srv, request).await; + let response = test::call_service(&srv, request).await; assert_eq!(response.status(), StatusCode::RANGE_NOT_SATISFIABLE); } @@ -468,16 +469,17 @@ mod tests { #[actix_rt::test] async fn test_static_files_with_spaces() { - let mut server_config = ServerConfig::default(); - - server_config.index_strategy = Some(IndexStrategyConfig::IndexFiles { - filenames: ["Cargo.toml".to_owned()].iter().cloned().collect(), - }); + let server_config = ServerConfig { + index_strategy: Some(IndexStrategyConfig::IndexFiles { + filenames: ["Cargo.toml".to_owned()].iter().cloned().collect(), + }), + ..ServerConfig::default() + }; let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/", serve_dir("."), root_path_context, @@ -487,7 +489,7 @@ mod tests { let request = TestRequest::get() .uri("/tests/test%20space.binary") .to_request(); - let response = test::call_service(&mut srv, request).await; + let response = test::call_service(&srv, request).await; assert_eq!(response.status(), StatusCode::OK); let bytes = test::read_body(response).await; @@ -500,7 +502,7 @@ mod tests { let root_path_context = Arc::new((&ServerConfig::default()).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().default_service(Files::new( + let srv = test::init_service(App::new().default_service(Files::new( "/", serve_dir("."), root_path_context, @@ -513,13 +515,13 @@ mod tests { .method(Method::POST) .to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::METHOD_NOT_ALLOWED); let root_path_context = Arc::new((&ServerConfig::default()).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().default_service(Files::new( + let srv = test::init_service(App::new().default_service(Files::new( "/", serve_dir("."), root_path_context, @@ -530,7 +532,7 @@ mod tests { .method(Method::PUT) .uri("/Cargo.toml") .to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::METHOD_NOT_ALLOWED); } @@ -563,7 +565,7 @@ mod tests { let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/", serve_dir("."), root_path_context, @@ -572,7 +574,7 @@ mod tests { .await; let req = TestRequest::with_uri("/tests/test.png").to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::OK); let bytes = test::read_body(resp).await; @@ -591,7 +593,7 @@ mod tests { let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/", serve_dir("."), root_path_context, @@ -600,7 +602,7 @@ mod tests { .await; let req = TestRequest::with_uri("/%43argo.toml").to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::OK); } @@ -614,7 +616,7 @@ mod tests { let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/", serve_dir("."), root_path_context, @@ -623,7 +625,7 @@ mod tests { .await; let req = TestRequest::with_uri("/missing").to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::NOT_FOUND); } @@ -632,7 +634,7 @@ mod tests { let root_path_context = Arc::new((&ServerConfig::default()).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().service(Files::new( + let srv = test::init_service(App::new().service(Files::new( "/", serve_dir("."), root_path_context, @@ -641,7 +643,7 @@ mod tests { .await; let req = TestRequest::default().to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::NOT_FOUND); } @@ -655,7 +657,7 @@ mod tests { let root_path_context = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); - let mut srv = test::init_service(App::new().default_service(Files::new( + let srv = test::init_service(App::new().default_service(Files::new( "/", serve_dir("."), root_path_context, @@ -664,7 +666,7 @@ mod tests { .await; let req = TestRequest::with_uri("/tests").to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::OK); assert_eq!( resp.headers().get(header::CONTENT_TYPE).unwrap(), @@ -677,17 +679,18 @@ mod tests { #[actix_rt::test] async fn test_redirect_to_slash_directory() { - let mut server_config = ServerConfig::default(); - - server_config.index_strategy = Some(IndexStrategyConfig::IndexFiles { - filenames: ["test.png".to_owned()].iter().cloned().collect(), - }); + let server_config = ServerConfig { + index_strategy: Some(IndexStrategyConfig::IndexFiles { + filenames: ["test.png".to_owned()].iter().cloned().collect(), + }), + ..ServerConfig::default() + }; let root_path_context: Arc<PathContext> = Arc::new((&server_config).try_into().unwrap()); let path_contexts = Arc::new(vec![]); // should redirect if index present - let mut srv = test::init_service( + let srv = test::init_service( App::new().service( Files::new("/", serve_dir("."), root_path_context, path_contexts) .redirect_to_slash_directory(), @@ -695,12 +698,12 @@ mod tests { ) .await; let req = TestRequest::with_uri("/tests").to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::FOUND); // should not redirect if the path is wrong let req = TestRequest::with_uri("/not_existing").to_request(); - let resp = test::call_service(&mut srv, req).await; + let resp = test::call_service(&srv, req).await; assert_eq!(resp.status(), StatusCode::NOT_FOUND); } diff --git a/src/files/path_context.rs b/src/files/path_context.rs index e98f065..05c3c64 100644 --- a/src/files/path_context.rs +++ b/src/files/path_context.rs @@ -255,62 +255,41 @@ mod tests { #[test] fn test_static_path_matcher() { - assert_eq!( - PathMatcher::Static { - path: "hello/world.png".into(), - } - .matches_path(&"hello/world.png"), - true - ); + assert!(PathMatcher::Static { + path: "hello/world.png".into(), + } + .matches_path("hello/world.png"),); - assert_eq!( - PathMatcher::Static { - path: "hello/world.tar.gz".into(), - } - .matches_path(&"hello/world.png"), - false - ); + assert!(!PathMatcher::Static { + path: "hello/world.tar.gz".into(), + } + .matches_path("hello/world.png"),); } #[test] fn test_prefix_path_matcher() { - assert_eq!( - PathMatcher::Prefix { - prefix: "hello/".into(), - } - .matches_path(&"hello/world.png"), - true - ); + assert!(PathMatcher::Prefix { + prefix: "hello/".into(), + } + .matches_path("hello/world.png"),); - assert_eq!( - PathMatcher::Prefix { - prefix: "hello/bye".into(), - } - .matches_path(&"hello/world.png"), - false - ); + assert!(!PathMatcher::Prefix { + prefix: "hello/bye".into(), + } + .matches_path("hello/world.png"),); } #[test] fn test_regex_path_matcher() { - assert_eq!( - Regex::new(r"\.png$").unwrap().is_match("hello/world.png"), - true, - ); - - assert_eq!( - Regex::new(r"\.(js|css|png|jpg|jpeg|gif|ico)$") - .unwrap() - .is_match("hello/world.png"), - true, - ); - - assert_eq!( - PathMatcher::Regex { - regex: Regex::new(r"\.png$").unwrap(), - } - .matches_path(&"hello/world.tar.gz"), - false - ); + assert!(Regex::new(r"\.png$").unwrap().is_match("hello/world.png"),); + + assert!(Regex::new(r"\.(js|css|png|jpg|jpeg|gif|ico)$") + .unwrap() + .is_match("hello/world.png"),); + + assert!(!PathMatcher::Regex { + regex: Regex::new(r"\.png$").unwrap(), + } + .matches_path("hello/world.tar.gz"),); } } -- GitLab