Skip to content
Snippets Groups Projects
Commit 73c553cd authored by Maaz Ahmed's avatar Maaz Ahmed
Browse files

test: new integration test for tuple structs

parent 5019a848
No related branches found
No related tags found
1 merge request!3Resolve "Invalid schema reference when using tuple struct"
...@@ -13,6 +13,8 @@ use utoipa::{OpenApi, ToSchema}; ...@@ -13,6 +13,8 @@ use utoipa::{OpenApi, ToSchema};
Options, Options,
SerdeSchema, SerdeSchema,
EnumType, EnumType,
TupleSchema,
TupleStruct,
)))] )))]
struct ApiDocs; struct ApiDocs;
...@@ -55,6 +57,14 @@ enum Options { ...@@ -55,6 +57,14 @@ enum Options {
Three, Three,
} }
#[derive(ToSchema)]
struct TupleSchema {
inner: TupleStruct,
}
#[derive(ToSchema)]
struct TupleStruct(Options);
#[derive(Debug, Serialize, Deserialize, ToSchema)] #[derive(Debug, Serialize, Deserialize, ToSchema)]
pub struct SerdeSchema { pub struct SerdeSchema {
#[serde(flatten)] #[serde(flatten)]
...@@ -194,3 +204,22 @@ fn validate_serde_schema_err() { ...@@ -194,3 +204,22 @@ fn validate_serde_schema_err() {
})); }));
assert!(result.is_err()); assert!(result.is_err());
} }
#[test]
fn validate_tuple_schema() {
let schemas = get_schemas();
let validator =
schema_police::SchemaInspector::new_infer::<TupleSchema>(schemas, true).unwrap();
let result = validator.inspect(&serde_json::json!({
"inner": "One",
}));
assert_eq!(result, Ok(()));
let result = validator.inspect(&serde_json::json!({
"inner": "Two",
}));
assert_eq!(result, Ok(()));
let result = validator.inspect(&serde_json::json!({
"inner": "Three",
}));
assert_eq!(result, Ok(()));
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment