mirror of
https://git.proxmox.com/git/proxmox
synced 2025-05-29 17:15:57 +00:00
add test for property string verification errors
This commit is contained in:
parent
d62d1e5707
commit
5bff2a1d4b
@ -14,6 +14,10 @@ static SIMPLE_OBJECT_SCHEMA: Schema = ObjectSchema::new(
|
|||||||
]
|
]
|
||||||
).schema();
|
).schema();
|
||||||
|
|
||||||
|
static SIMPLE_PROPERTY_STRING_SCHEMA: Schema = StringSchema::new("simple property string")
|
||||||
|
.format(&ApiStringFormat::PropertyString(&SIMPLE_OBJECT_SCHEMA))
|
||||||
|
.schema();
|
||||||
|
|
||||||
static SIMPLE_ARRAY_SCHEMA: Schema = ArraySchema::new("String list.", &STRING_SCHEMA).schema();
|
static SIMPLE_ARRAY_SCHEMA: Schema = ArraySchema::new("String list.", &STRING_SCHEMA).schema();
|
||||||
|
|
||||||
static NESTED_OBJECT_SCHEMA: Schema = ObjectSchema::new(
|
static NESTED_OBJECT_SCHEMA: Schema = ObjectSchema::new(
|
||||||
@ -25,6 +29,14 @@ static NESTED_OBJECT_SCHEMA: Schema = ObjectSchema::new(
|
|||||||
]
|
]
|
||||||
).schema();
|
).schema();
|
||||||
|
|
||||||
|
static NESTED_PROPERTY_SCHEMA: Schema = ObjectSchema::new(
|
||||||
|
"object with property strings",
|
||||||
|
&[
|
||||||
|
("ps1", false, &SIMPLE_PROPERTY_STRING_SCHEMA),
|
||||||
|
]
|
||||||
|
).schema();
|
||||||
|
|
||||||
|
|
||||||
fn compare_error(
|
fn compare_error(
|
||||||
expected: &[(&str, &str)],
|
expected: &[(&str, &str)],
|
||||||
err: Error,
|
err: Error,
|
||||||
@ -129,3 +141,50 @@ fn verify_nested_object2() -> Result<(), Error> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn verify_nested_property1() -> Result<(), Error> {
|
||||||
|
|
||||||
|
let value = json!({"ps1": "abc"});
|
||||||
|
|
||||||
|
test_verify(
|
||||||
|
&NESTED_PROPERTY_SCHEMA,
|
||||||
|
&value,
|
||||||
|
&[
|
||||||
|
("ps1", "Value without key, but schema does not define a default key."),
|
||||||
|
],
|
||||||
|
)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn verify_nested_property2() -> Result<(), Error> {
|
||||||
|
let value = json!({"ps1": "abc=1"});
|
||||||
|
|
||||||
|
test_verify(
|
||||||
|
&NESTED_PROPERTY_SCHEMA,
|
||||||
|
&value,
|
||||||
|
&[
|
||||||
|
("ps1/abc", "schema does not allow additional properties."),
|
||||||
|
],
|
||||||
|
)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn verify_nested_property3() -> Result<(), Error> {
|
||||||
|
let value = json!({"ps1": ""});
|
||||||
|
|
||||||
|
test_verify(
|
||||||
|
&NESTED_PROPERTY_SCHEMA,
|
||||||
|
&value,
|
||||||
|
&[
|
||||||
|
("ps1/prop1", "parameter is missing and it is not optional."),
|
||||||
|
("ps1/prop3", "parameter is missing and it is not optional."),
|
||||||
|
],
|
||||||
|
)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user