//! A provider may add its first optional named parameter. use serde_json::json; #[test] fn first_optional_param_is_compatible() { let consumer = json!({"methods":[{"name":"status","params":[],"result":{"schema":{"type":"string"}}}]}); let mut provider = consumer.clone(); provider["methods"][0]["params"] = json!([{"name":"detail","required":false,"schema":{"type":"boolean"}}]); provider["methods"][0]["x-sausage-params"] = json!({"type":"object","properties":{"detail":{"type":"boolean"}}}); assert!(sausage_interface::compat::check(&consumer, &provider).is_empty()); }