1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-09-09 05:08:32 +00:00
actix-web/actix-web-codegen/tests/test_macro.rs

49 lines
1.4 KiB
Rust
Raw Normal View History

2019-03-17 20:55:03 +00:00
use actix_http::HttpService;
use actix_http_test::TestServer;
use actix_web_codegen::get;
use actix_web::{http, App, HttpResponse, Responder};
use futures::{Future, future};
2019-03-17 20:55:03 +00:00
//fn guard_head(head: &actix_web::dev::RequestHead) -> bool {
// true
//}
//#[get("/test", guard="guard_head")]
2019-03-17 20:55:03 +00:00
#[get("/test")]
fn test() -> impl Responder {
HttpResponse::Ok()
}
#[get("/test")]
fn auto_async() -> impl Future<Item=HttpResponse, Error=actix_web::Error> {
future::ok(HttpResponse::Ok().finish())
}
#[get("/test")]
fn auto_sync() -> impl Future<Item=HttpResponse, Error=actix_web::Error> {
future::ok(HttpResponse::Ok().finish())
}
2019-03-17 20:55:03 +00:00
#[test]
fn test_body() {
let mut srv = TestServer::new(|| HttpService::new(App::new().service(test)));
let request = srv.request(http::Method::GET, srv.url("/test"));
let response = srv.block_on(request.send()).unwrap();
assert!(response.status().is_success());
let mut srv = TestServer::new(|| HttpService::new(App::new().service(auto_sync)));
let request = srv.request(http::Method::GET, srv.url("/test"));
let response = srv.block_on(request.send()).unwrap();
assert!(response.status().is_success());
}
#[test]
fn test_auto_async() {
let mut srv = TestServer::new(|| HttpService::new(App::new().service(auto_async)));
2019-03-17 20:55:03 +00:00
2019-03-26 19:50:51 +00:00
let request = srv.request(http::Method::GET, srv.url("/test"));
let response = srv.block_on(request.send()).unwrap();
2019-03-17 20:55:03 +00:00
assert!(response.status().is_success());
}