Expand description
Generate fuzzed data from a JSON Type Definition schema.
§Quick start
Here’s how you can use fuzz
to generate dummy data from a schema.
use serde_json::json;
use rand::SeedableRng;
// An example schema we can test against.
let schema = jtd::Schema::from_serde_schema(serde_json::from_value(json!({
"properties": {
"name": { "type": "string" },
"createdAt": { "type": "timestamp" },
"favoriteNumbers": {
"elements": { "type": "uint8" }
}
}
})).unwrap()).unwrap();
// A hard-coded RNG, so that the output is predictable.
let mut rng = rand_pcg::Pcg32::seed_from_u64(8927);
assert_eq!(jtd_fuzz::fuzz(&schema, &mut rng), json!({
"name": "f",
"createdAt": "1931-10-18T16:37:09-03:03",
"favoriteNumbers": [166, 142]
}));
Functions§
- fuzz
- Generates a single random JSON value satisfying a given schema.