diff options
Diffstat (limited to 'testing/tests')
-rw-r--r-- | testing/tests/rocket.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/testing/tests/rocket.rs b/testing/tests/rocket.rs new file mode 100644 index 0000000..19c1d78 --- /dev/null +++ b/testing/tests/rocket.rs @@ -0,0 +1,33 @@ +#![cfg(feature = "rocket")] +#![feature(plugin)] +#![plugin(rocket_codegen)] + +#[macro_use] +extern crate askama; +extern crate rocket; + +use askama::Template; + +use rocket::local::Client; +use rocket::http::{ContentType, Status}; + +#[derive(Template)] +#[template(path = "hello.html")] +struct HelloTemplate<'a> { + name: &'a str, +} + +#[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!"); +} |