add tests for From<XxxRejection>

This commit is contained in:
gengteng
2023-07-23 21:40:38 +08:00
parent 9c5e40f588
commit b7fdcb15ff

View File

@@ -11,6 +11,7 @@ use axum::routing::{get, post};
use axum::{Form, Json, Router};
use axum_valid::Valid;
use serde::{Deserialize, Serialize};
use serde_json::json;
use std::net::SocketAddr;
use validator::Validate;
@@ -62,6 +63,12 @@ async fn main() -> anyhow::Result<()> {
.await?;
assert_eq!(valid_path_response.status(), StatusCode::OK);
let invalid_path_response = client
.get(format!("{}/path/invalid/path", server_url))
.send()
.await?;
assert_eq!(invalid_path_response.status(), StatusCode::BAD_REQUEST);
let invalid_path_response = client
.get(format!(
"{}/path/{}/{}",
@@ -81,6 +88,13 @@ async fn main() -> anyhow::Result<()> {
.await?;
assert_eq!(valid_query_response.status(), StatusCode::OK);
let invalid_query_response = client
.get(&query_url)
.query(&[("invalid", "query")])
.send()
.await?;
assert_eq!(invalid_query_response.status(), StatusCode::BAD_REQUEST);
let invalid_query_response = client
.get(&query_url)
.query(&invalid_parameters)
@@ -98,6 +112,16 @@ async fn main() -> anyhow::Result<()> {
.await?;
assert_eq!(valid_form_response.status(), StatusCode::OK);
let invalid_form_response = client
.post(&form_url)
.form(&[("invalid", "form")])
.send()
.await?;
assert_eq!(
invalid_form_response.status(),
StatusCode::UNPROCESSABLE_ENTITY
);
let invalid_form_response = client
.post(&form_url)
.form(&invalid_parameters)
@@ -115,6 +139,16 @@ async fn main() -> anyhow::Result<()> {
.await?;
assert_eq!(valid_json_response.status(), StatusCode::OK);
let invalid_json_response = client
.post(&json_url)
.json(&json!({"invalid": "json"}))
.send()
.await?;
assert_eq!(
invalid_json_response.status(),
StatusCode::UNPROCESSABLE_ENTITY
);
let invalid_json_response = client
.post(&json_url)
.json(&invalid_parameters)