mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-28 01:32:57 +01:00
add async handler test with blocking call
This commit is contained in:
parent
f4b4875cb1
commit
d2c1791067
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
* Add helper function for executing futures `test::block_fn()`
|
* Add helper function for executing futures `test::block_fn()`
|
||||||
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
* Allow to construct `Data` instances to avoid double `Arc` for `Send + Sync` types.
|
* Allow to construct `Data` instances to avoid double `Arc` for `Send + Sync` types.
|
||||||
|
20
src/test.rs
20
src/test.rs
@ -640,4 +640,24 @@ mod tests {
|
|||||||
let result: Person = read_response_json(&mut app, req);
|
let result: Person = read_response_json(&mut app, req);
|
||||||
assert_eq!(&result.id, "12345");
|
assert_eq!(&result.id, "12345");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_async_with_block() {
|
||||||
|
fn async_with_block() -> impl Future<Item = HttpResponse, Error = Error> {
|
||||||
|
web::block(move || Some(4).ok_or("wrong")).then(|res| match res {
|
||||||
|
Ok(value) => HttpResponse::Ok()
|
||||||
|
.content_type("text/plain")
|
||||||
|
.body(format!("Async with block value: {}", value)),
|
||||||
|
Err(_) => panic!("Unexpected"),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut app = init_service(
|
||||||
|
App::new().service(web::resource("/index.html").to_async(async_with_block)),
|
||||||
|
);
|
||||||
|
|
||||||
|
let req = TestRequest::post().uri("/index.html").to_request();
|
||||||
|
let res = block_on(app.call(req)).unwrap();
|
||||||
|
assert!(res.status().is_success());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user