diff options
Diffstat (limited to 'askama_rocket/tests/basic.rs')
-rw-r--r-- | askama_rocket/tests/basic.rs | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/askama_rocket/tests/basic.rs b/askama_rocket/tests/basic.rs index 0671c4c..a61c188 100644 --- a/askama_rocket/tests/basic.rs +++ b/askama_rocket/tests/basic.rs @@ -1,12 +1,8 @@ -#![feature(proc_macro_hygiene, decl_macro)] - -#[macro_use] -extern crate rocket; - use askama::Template; +use futures_lite::future::block_on; use rocket::http::{ContentType, Status}; -use rocket::local::Client; +use rocket::local::asynchronous::Client; #[derive(Template)] #[template(path = "hello.html")] @@ -14,17 +10,23 @@ struct HelloTemplate<'a> { name: &'a str, } -#[get("/")] +#[rocket::get("/")] fn hello() -> HelloTemplate<'static> { HelloTemplate { name: "world" } } #[test] fn test_rocket() { - let rocket = rocket::ignite().mount("/", routes![hello]); - let client = Client::new(rocket).unwrap(); - let mut rsp = client.get("/").dispatch(); - assert_eq!(rsp.status(), Status::Ok); - assert_eq!(rsp.content_type(), Some(ContentType::HTML)); - assert_eq!(rsp.body_string().unwrap(), "Hello, world!"); + block_on(async { + let rocket = rocket::build() + .mount("/", rocket::routes![hello]) + .ignite() + .await + .unwrap(); + let client = Client::untracked(rocket).await.unwrap(); + let rsp = client.get("/").dispatch().await; + assert_eq!(rsp.status(), Status::Ok); + assert_eq!(rsp.content_type(), Some(ContentType::HTML)); + assert_eq!(rsp.into_string().await.as_deref(), Some("Hello, world!")); + }); } |