fn status_obj_test()

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");
    }