github-copilot-sdk 1.0.30-preview.0

Rust SDK for programmatic control of the GitHub Copilot CLI via JSON-RPC.
#![cfg(test)]

use super::EntraTokenProviderResult;

#[test]
fn result_serializes_wire_fields_without_exposing_credentials_in_debug() {
    let result = EntraTokenProviderResult::Token {
        account_id: "host-account".to_owned(),
        access_token: "host-secret".to_owned(),
    };
    assert_eq!(
        serde_json::to_value(&result).unwrap(),
        serde_json::json!({
            "kind": "token",
            "accountId": "host-account",
            "accessToken": "host-secret",
        })
    );
    assert_eq!(format!("{result:?}"), "Token { .. }");
    let identity = EntraTokenProviderResult::Identity {
        account_id: "host-account".to_owned(),
        username: Some("display-name".to_owned()),
    };
    assert_eq!(format!("{identity:?}"), "Identity { .. }");
    assert_eq!(
        serde_json::to_value(EntraTokenProviderResult::Cancelled).unwrap(),
        serde_json::json!({"kind": "cancelled"})
    );
}