use serde_json::json;
#[test]
fn parse_json_response_invalid_json() {
let schema = json!({
"type": "object",
"properties": {
"name": { "type": "string" }
},
"required": ["name"]
});
let validator = jsonschema::validator_for(&schema).unwrap();
let errors: Vec<String> = validator
.iter_errors(&json!({}))
.map(|e| e.to_string())
.collect();
assert!(!errors.is_empty(), "Missing required field should fail");
}
#[test]
fn validate_schema_empty_object() {
let schema = json!({
"type": "object",
"properties": {
"name": { "type": "string" }
}
});
let validator = jsonschema::validator_for(&schema).unwrap();
let errors: Vec<String> = validator
.iter_errors(&json!({}))
.map(|e| e.to_string())
.collect();
assert!(
errors.is_empty(),
"Empty object should be valid: {errors:?}"
);
}