wx-rust-open 0.1.3

WxRust 开放平台(第三方平台)模块(对应 weixin-java-open)
Documentation
//! Phase 1 Batch 1.6: wx-rust-open 核心测试
//!
//! 镜像 Java WxOpenComponentServiceImplTest / WxOpenOAuth2ServiceImplTest

use wx_rust_open::bean::WxOpenCreateResult;
use wx_rust_open::bean::result::*;

#[test]
fn test_open_result_serde() {
    let json = r#"{"errcode":"0","errmsg":"ok"}"#;
    let result: WxOpenResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
}

#[test]
fn test_open_result_from_json() {
    let json = r#"{"errcode":"0","errmsg":"success"}"#;
    let result = WxOpenResult::from_json(json).unwrap();
    assert_eq!(result.errcode, "0");
}

#[test]
fn test_open_ma_domain_result_serde() {
    let json = r#"{"errcode":"0","errmsg":"ok","requestdomain":["https://a.com"],"wsrequestdomain":[],"uploaddomain":[],"downloaddomain":[],"invalidrequestdomain":[],"invalidwsrequestdomain":[],"invaliduploaddomain":[],"invaliddownloaddomain":[]}"#;
    let result: WxOpenMaDomainResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
    assert_eq!(result.request_domain.len(), 1);
}

#[test]
fn test_open_ma_tester_list_result_serde() {
    let json =
        r#"{"errcode":"0","errmsg":"ok","members":[{"userstr":"user1"},{"userstr":"user2"}]}"#;
    let result: WxOpenMaTesterListResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
    assert_eq!(result.members_list.len(), 2);
}

#[test]
fn test_open_ma_visit_status_result_serde() {
    let json = r#"{"errcode":"0","errmsg":"ok","status":1}"#;
    let result: WxOpenMaVisitStatusResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
    assert_eq!(result.status, 1);
}

#[test]
fn test_open_create_result_serde() {
    let json = r#"{"open_appid":"open-wx1234","errcode":"0","errmsg":"ok"}"#;
    let result: WxOpenCreateResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.open_appid, "open-wx1234");
}

#[test]
fn test_open_create_result_from_json() {
    let json = r#"{"open_appid":"open-wx5678","errcode":"0","errmsg":"ok"}"#;
    let result = WxOpenCreateResult::from_json(json).unwrap();
    assert_eq!(result.open_appid, "open-wx5678");
}

#[test]
fn test_ma_get_order_path_result_serde() {
    let json = r#"{"errcode":"0","errmsg":"ok","msg":{"path":"pages/order/detail?id=1","img_list":[],"video":""}}"#;
    let result: WxOpenMaGetOrderPathResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
    assert_eq!(result.msg.path, "pages/order/detail?id=1");
}

#[test]
fn test_ma_embedded_list_result_serde() {
    let json = r#"{"errcode":"0","errmsg":"ok"}"#;
    let result: WxOpenMaEmbeddedListResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
}

#[test]
fn test_download_qrcode_jump_result_serde() {
    let json = r#"{"errcode":"0","errmsg":"ok"}"#;
    let result: WxDownlooadQrcodeJumpResult = serde_json::from_str(json).unwrap();
    assert_eq!(result.errcode, "0");
}

#[test]
fn test_open_result_empty() {
    let result: WxOpenResult = serde_json::from_str("{}").unwrap();
    assert_eq!(result.errcode, "");
    assert_eq!(result.errmsg, "");
}