in proxy_agent_extension/src/structs.rs [167:213]
fn status_obj_test() {
// test status obj, init, serialize, deserialize and compare original and deserialized
//Create raw status obj json string
let json_status: &str = r#"{
"version": "1.0",
"timestampUTC": "2021-01-01T00:00:00.000Z",
"status": {
"name": "test_status_name",
"operation": "test_operation",
"configurationAppliedTime": "2021-01-01T00:00:00.000Z",
"code": 0,
"status": "test_status",
"formattedMessage": {
"lang": "en-US",
"message": "test_formatted_message"
},
"substatus": [{
"name": "test_substatus_name",
"status": "test_substatus",
"code": 0,
"formattedMessage": {
"lang": "en-US",
"message": "test_substatus_formatted_message"
}
}]
}
}"#;
//Deserialize status obj json string
let status_obj: super::TopLevelStatus = serde_json::from_str(json_status).unwrap();
let status = status_obj.status;
assert_eq!("1.0".to_string(), status_obj.version, "version mismatch");
assert_eq!(
"2021-01-01T00:00:00.000Z".to_string(),
status_obj.timestampUTC,
"timestampUTC mismatch"
);
assert_eq!("test_status_name".to_string(), status.name, "name mismatch");
assert_eq!(0, status.code, "code mismatch");
assert_eq!("test_status".to_string(), status.status, "status mismatch");
}