From ef12dbe61b5418e706c095b510c450fb368b92b6 Mon Sep 17 00:00:00 2001 From: Maksym Vorobiov Date: Wed, 22 Jan 2020 22:22:53 +0200 Subject: [PATCH] add test case for #1304 - conn issues on data error --- src/data.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/data.rs b/src/data.rs index c36418942..dff4a95d2 100644 --- a/src/data.rs +++ b/src/data.rs @@ -278,4 +278,31 @@ mod tests { assert_eq!(num.load(Ordering::SeqCst), 0); } + + #[actix_rt::test] + async fn test_error_data_service() { + let mut srv = + init_service(App::new().data_factory(|| async { Err::(()) }).service( + web::resource("/").to(|_: web::Data| HttpResponse::Ok()), + )) + .await; + + let req = TestRequest::default().to_request(); + let resp = srv.call(req).await.expect("response failure"); + assert_eq!(resp.status(), StatusCode::INTERNAL_SERVER_ERROR); + } + + #[actix_rt::test] + async fn test_error_data_test_server() { + let srv = test::start(move || { + App::new() + .data_factory(|| async { Err::(()) }) + .service(web::resource("/").to(|_: web::Data| async { "ok" })) + }); + + let resp = srv.get("/").send().await.expect("response failure"); + assert_eq!(resp.status(), StatusCode::INTERNAL_SERVER_ERROR); + } } + +