#![allow(clippy::field_reassign_with_default, dead_code)]
#[test]
fn test_fast_ma_register_request_body() {
let body = serde_json::json!({
"name": "测试小程序",
"code": "123456",
"code_type": 1,
"legal_persona_wechat": "legal_wx",
"legal_persona_name": "张三",
"component_phone": "13800138000"
});
assert_eq!(body["name"], "测试小程序");
assert_eq!(body["code"], "123456");
assert_eq!(body["code_type"], 1);
}
#[test]
fn test_fast_ma_register_response_serde() {
let json_str = r#"{
"errcode": 0,
"errmsg": "ok",
"authorize_url": "https://mp.weixin.qq.com/cgi-bin/fastregisterauth"
}"#;
let value: serde_json::Value = serde_json::from_str(json_str).expect("解析 JSON");
assert_eq!(value["errcode"], 0);
assert!(
value["authorize_url"]
.as_str()
.unwrap()
.contains("fastregisterauth")
);
}
#[test]
fn test_fast_ma_corp_register_request_body() {
let body = serde_json::json!({
"name": "企业小程序",
"code": "987654",
"code_type": 2,
"legal_persona_wechat": "corp_legal_wx",
"legal_persona_name": "李四",
"component_phone": "13900139000"
});
assert_eq!(body["name"], "企业小程序");
assert_eq!(body["code_type"], 2);
}
#[test]
fn test_open_config_storage_basic() {
let json_str = r#"{
"component_appid": "wx1234567890",
"component_appsecret": "secret123",
"component_verify_ticket": "ticket123",
"component_access_token": "token123"
}"#;
let value: serde_json::Value = serde_json::from_str(json_str).expect("解析 JSON");
assert_eq!(value["component_appid"], "wx1234567890");
assert_eq!(value["component_verify_ticket"], "ticket123");
}
#[test]
fn test_open_config_auth_code_response() {
let json_str = r#"{
"component_access_token": "token123",
"expires_in": 7200
}"#;
let value: serde_json::Value = serde_json::from_str(json_str).expect("解析 JSON");
assert_eq!(value["component_access_token"], "token123");
assert_eq!(value["expires_in"], 7200);
}
#[test]
fn test_open_xml_component_verify_ticket() {
let xml = concat!(
"<xml>",
"<AppId><![CDATA[wx1234567890]]></AppId>",
"<CreateTime>1413192605</CreateTime>",
"<InfoType><![CDATA[component_verify_ticket]]></InfoType>",
"<ComponentVerifyTicket><![CDATA[ticket123]]></ComponentVerifyTicket>",
"</xml>"
);
let value = quick_xml::de::from_str::<serde_json::Value>(xml);
assert!(xml.contains("component_verify_ticket"));
assert!(xml.contains("ticket123"));
let _ = value;
}
#[test]
fn test_open_xml_authorized_event() {
let xml = concat!(
"<xml>",
"<AppId><![CDATA[wx1234567890]]></AppId>",
"<CreateTime>1413192605</CreateTime>",
"<InfoType><![CDATA[authorized]]></InfoType>",
"<AuthorizerAppid><![CDATA[wxb123456]]></AuthorizerAppid>",
"<AuthorizationCode><![CDATA[auth_code_001]]></AuthorizationCode>",
"</xml>"
);
assert!(xml.contains("authorized"));
assert!(xml.contains("wxb123456"));
assert!(xml.contains("auth_code_001"));
}
#[test]
fn test_open_xml_unauthorized_event() {
let xml = concat!(
"<xml>",
"<AppId><![CDATA[wx1234567890]]></AppId>",
"<CreateTime>1413192605</CreateTime>",
"<InfoType><![CDATA[unauthorized]]></InfoType>",
"<AuthorizerAppid><![CDATA[wxb123456]]></AuthorizerAppid>",
"</xml>"
);
assert!(xml.contains("unauthorized"));
assert!(xml.contains("wxb123456"));
}