From fc5b04064332b05f515af82a296228105ee691ef Mon Sep 17 00:00:00 2001 From: Ali MJ Al-Nasrawy Date: Sun, 20 Jun 2021 20:23:24 +0300 Subject: [PATCH] test --- actix-files/src/lib.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/actix-files/src/lib.rs b/actix-files/src/lib.rs index ad50051f5..8aa707c43 100644 --- a/actix-files/src/lib.rs +++ b/actix-files/src/lib.rs @@ -904,4 +904,39 @@ mod tests { let bytes = test::read_body(resp).await; assert!(format!("{:?}", bytes).contains("/tests/test.png")); } + + #[actix_rt::test] + async fn test_path_filter() { + let st = Files::new("/", ".") + .path_filter(|path| path.extension() == Some("png".as_ref())) + .new_service(()) + .await + .unwrap(); + + let req = TestRequest::with_uri("/tests/test.png").to_srv_request(); + let resp = test::call_service(&st, req).await; + assert_eq!(resp.status(), StatusCode::OK); + + let req = TestRequest::with_uri("/Cargo.toml").to_srv_request(); + let resp = test::call_service(&st, req).await; + assert_eq!(resp.status(), StatusCode::NOT_FOUND); + } + + #[actix_rt::test] + async fn test_default_handler_filter() { + let st = Files::new("/", ".") + .default_handler(|req: ServiceRequest| { + ok(req.into_response(HttpResponse::Ok().body("default content"))) + }) + .path_filter(|path| path.extension() == Some("png".as_ref())) + .new_service(()) + .await + .unwrap(); + let req = TestRequest::with_uri("/Cargo.toml").to_srv_request(); + let resp = test::call_service(&st, req).await; + + assert_eq!(resp.status(), StatusCode::OK); + let bytes = test::read_body(resp).await; + assert_eq!(bytes, web::Bytes::from_static(b"default content")); + } }