From ab94e344b43ae9532dac18ad5258e02dbbcbf979 Mon Sep 17 00:00:00 2001 From: Seth Lopez Date: Tue, 27 Dec 2016 19:37:54 -0500 Subject: [PATCH] Add tests for optional_result example. --- examples/optional_result/Cargo.toml | 3 +++ examples/optional_result/src/main.rs | 3 +++ examples/optional_result/src/tests.rs | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 examples/optional_result/src/tests.rs diff --git a/examples/optional_result/Cargo.toml b/examples/optional_result/Cargo.toml index cafcbfe5..3a54e291 100644 --- a/examples/optional_result/Cargo.toml +++ b/examples/optional_result/Cargo.toml @@ -7,3 +7,6 @@ workspace = "../../" [dependencies] rocket = { path = "../../lib" } rocket_codegen = { path = "../../codegen" } + +[dev-dependencies] +rocket = { path = "../../lib", features = ["testing"] } diff --git a/examples/optional_result/src/main.rs b/examples/optional_result/src/main.rs index fbb92f77..7b47f32c 100644 --- a/examples/optional_result/src/main.rs +++ b/examples/optional_result/src/main.rs @@ -3,6 +3,9 @@ extern crate rocket; +#[cfg(test)] +mod tests; + #[get("/users/")] fn user(name: &str) -> Option<&'static str> { if name == "Sergio" { diff --git a/examples/optional_result/src/tests.rs b/examples/optional_result/src/tests.rs new file mode 100644 index 00000000..f3d79148 --- /dev/null +++ b/examples/optional_result/src/tests.rs @@ -0,0 +1,24 @@ +use super::rocket; +use rocket::testing::MockRequest; +use rocket::http::{Method, Status}; + +#[test] +fn test_200() { + let rocket = rocket::ignite().mount("/", routes![super::user]); + let mut request = MockRequest::new(Method::Get, "/users/Sergio"); + let mut response = request.dispatch_with(&rocket); + + assert_eq!(response.status(), Status::Ok); + assert_eq!(response.body().and_then(|b| b.into_string()), + Some("Hello, Sergio!".to_string())); +} + +#[test] +fn test_404() { + let rocket = rocket::ignite().mount("/", routes![super::user]); + let mut request = MockRequest::new(Method::Get, "/users/unknown"); + let response = request.dispatch_with(&rocket); + + // Only test the status because the body is the default 404. + assert_eq!(response.status(), Status::NotFound); +}