consulrs 0.1.0

An asynchronous Rust client library for the Hashicorp Consul API.
Documentation
mod common;

use common::{ConsulServer, ConsulServerHelper, CountingServer};
use consulrs::{api::check::requests::RegisterCheckRequest, check, client::Client};
use test_env_log::test;

#[test]
fn test() {
    let test = common::new_test();
    test.run(|instance| async move {
        let server: ConsulServer = instance.server();
        let counting: CountingServer = instance.server();
        let client = server.client();
        common::setup(&client, &counting).await;
        let name = "test";

        test_register(&client, name).await;
        test_list(&client).await;
        test_fail(&client, name).await;
        test_pass(&client, name).await;
        test_warn(&client, name).await;
        test_set_status(&client, name, "critical").await;
        test_deregister(&client, name).await;
    });
}

async fn test_deregister(client: &impl Client, name: &str) {
    let res = check::deregister(client, name, None).await;
    assert!(res.is_ok());
}

async fn test_fail(client: &impl Client, name: &str) {
    let res = check::fail(client, name, None).await;
    assert!(res.is_ok());
}

async fn test_list(client: &impl Client) {
    let res = check::list(client, None).await;
    assert!(res.is_ok());
}

async fn test_pass(client: &impl Client, name: &str) {
    let res = check::pass(client, name, None).await;
    assert!(res.is_ok());
}

async fn test_set_status(client: &impl Client, name: &str, status: &str) {
    let res = check::set_status(client, name, status, None).await;
    assert!(res.is_ok());
}

async fn test_register(client: &impl Client, name: &str) {
    let res = check::register(
        client,
        name,
        Some(RegisterCheckRequest::builder().ttl("10m")),
    )
    .await;
    assert!(res.is_ok());
}

async fn test_warn(client: &impl Client, name: &str) {
    let res = check::warn(client, name, None).await;
    assert!(res.is_ok());
}