mirror of https://github.com/rwf2/Rocket.git
57 lines
2.0 KiB
Rust
57 lines
2.0 KiB
Rust
use rocket::local::blocking::Client;
|
|
use rocket::http::Status;
|
|
|
|
#[test]
|
|
fn test_hello() {
|
|
let client = Client::tracked(super::rocket()).unwrap();
|
|
|
|
let (name, age) = ("Arthur", 42);
|
|
let uri = format!("/hello/{}/{}", name, age);
|
|
let response = client.get(uri).dispatch();
|
|
|
|
assert_eq!(response.status(), Status::Ok);
|
|
assert_eq!(response.into_string().unwrap(), super::hello(name.into(), age));
|
|
}
|
|
|
|
#[test]
|
|
fn forced_error_and_default_catcher() {
|
|
let client = Client::tracked(super::rocket()).unwrap();
|
|
|
|
let request = client.get("/404");
|
|
let expected = super::not_found(request.inner());
|
|
let response = request.dispatch();
|
|
assert_eq!(response.status(), Status::NotFound);
|
|
assert_eq!(response.into_string().unwrap(), expected.0);
|
|
|
|
let request = client.get("/405");
|
|
let expected = super::default_catcher(Status::MethodNotAllowed, request.inner());
|
|
let response = request.dispatch();
|
|
assert_eq!(response.status(), Status::MethodNotAllowed);
|
|
assert_eq!(response.into_string().unwrap(), expected.1);
|
|
|
|
let request = client.get("/533");
|
|
let expected = super::default_catcher(Status::raw(533), request.inner());
|
|
let response = request.dispatch();
|
|
assert_eq!(response.status(), Status::raw(533));
|
|
assert_eq!(response.into_string().unwrap(), expected.1);
|
|
|
|
let request = client.get("/700");
|
|
let expected = super::default_catcher(Status::InternalServerError, request.inner());
|
|
let response = request.dispatch();
|
|
assert_eq!(response.status(), Status::InternalServerError);
|
|
assert_eq!(response.into_string().unwrap(), expected.1);
|
|
}
|
|
|
|
#[test]
|
|
fn test_hello_invalid_age() {
|
|
let client = Client::tracked(super::rocket()).unwrap();
|
|
|
|
for &(name, age) in &[("Ford", -129), ("Trillian", 128)] {
|
|
let request = client.get(format!("/hello/{}/{}", name, age));
|
|
let expected = super::not_found(request.inner());
|
|
let response = request.dispatch();
|
|
assert_eq!(response.status(), Status::NotFound);
|
|
assert_eq!(response.into_string().unwrap(), expected.0);
|
|
}
|
|
}
|