#![allow(clippy::unwrap_used, reason = "test code")]
use kernel::AxError;
use serde_json::json;
#[test]
fn a_provider_error_keeps_its_failure_kind_across_the_wire() {
let wire = json!({
"code": "E_PROVIDER",
"action": "call provider",
"subject": "http://house/v1 answered 429",
"nearby": [],
"recovery": "check this endpoint's model name",
"retry": "no",
"provider": { "kind": "refused", "status": 429 },
});
let read = serde_json::from_value::<AxError>(wire.clone())
.map(|err| serde_json::to_value(err).unwrap());
assert_eq!(read.ok(), Some(wire));
}