From b7fdcb15ff87761d466fe06cbff41a5d19de0eaa Mon Sep 17 00:00:00 2001 From: gengteng Date: Sun, 23 Jul 2023 21:40:38 +0800 Subject: [PATCH] add tests for From --- tests/basic.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/basic.rs b/tests/basic.rs index a4b8ca9..82d071c 100644 --- a/tests/basic.rs +++ b/tests/basic.rs @@ -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)