mirror of https://github.com/fafhrd91/actix-web
add test cases for query and form sequence
This commit is contained in:
parent
3431fff4d7
commit
bd3910636d
|
@ -144,6 +144,50 @@ fn test_query_enum_extractor() {
|
||||||
assert_eq!(response.status(), StatusCode::BAD_REQUEST);
|
assert_eq!(response.status(), StatusCode::BAD_REQUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Deserialize)]
|
||||||
|
pub struct Customer {
|
||||||
|
first_name: String,
|
||||||
|
last_name: String,
|
||||||
|
emails: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_query_sequence_extractor() {
|
||||||
|
let mut srv = test::TestServer::new(|app| {
|
||||||
|
app.resource("/index.html", |r| {
|
||||||
|
r.with(|p: Query<Customer>| format!("{:?}", p))
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// client request
|
||||||
|
let request = srv
|
||||||
|
.get()
|
||||||
|
.uri(srv.url("/index.html?first_name=John&last_name=Doe&emails=john%40example.com&emails=doe%40example.com"))
|
||||||
|
.finish()
|
||||||
|
.unwrap();
|
||||||
|
let response = srv.execute(request.send()).unwrap();
|
||||||
|
assert!(response.status().is_success());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_form_sequence_extractor() {
|
||||||
|
let mut srv = test::TestServer::new(|app| {
|
||||||
|
app.resource("/index.html", |r| {
|
||||||
|
r.with(|form: Form<Customer>| format!("{:?}", form))
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// client request
|
||||||
|
let request = srv
|
||||||
|
.post()
|
||||||
|
.uri(srv.url("/index.html"))
|
||||||
|
.header("content-type", "application/x-www-form-urlencoded")
|
||||||
|
.body("first_name=John&last_name=Doe&emails=john%40example.com&emails=doe%40example.com")
|
||||||
|
.unwrap();
|
||||||
|
let response = srv.execute(request.send()).unwrap();
|
||||||
|
assert!(response.status().is_success());
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_async_extractor_async() {
|
fn test_async_extractor_async() {
|
||||||
let mut srv = test::TestServer::new(|app| {
|
let mut srv = test::TestServer::new(|app| {
|
||||||
|
|
Loading…
Reference in New Issue