zulip-api 0.0.8

Client library for interacting with the Zulip API
Documentation
use zulip_api::client::Client;
use zulip_api::fetch_api_key;
use zulip_api::response::{ApiResult, Response};

#[tokio::test]
async fn test_fetch_api_key() {
    env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
        .try_init()
        .ok();

    let config = ini::ini!("./tests/zuliprc");

    let client = Client::from_zuliprc("./tests/zuliprc").unwrap();

    let algo = jwt::Algorithm::HS256;
    let key = jwt::EncodingKey::from_secret(
        "1ae182f87735332be1410ac23de04d74e9b06b8276b402ffac369e509e8b7b42".as_bytes(),
    );
    let email = fetch_api_key::Email::new(config["api"]["email"].as_deref().unwrap());
    let password = fetch_api_key::Password::new(config["api"]["password"].as_deref().unwrap());
    let req = fetch_api_key::Request::create(algo, &key, &email, &password).unwrap();

    let res = client.fetch_api_key(&req).await.unwrap();

    log::debug!("Render message response: {res}");

    assert_eq!(res.result(), ApiResult::Success);
}