dehashed-rs 0.6.0

A rust library for the dehashed API
Documentation
use std::env;

#[cfg(feature = "tokio")]
use tokio::sync::oneshot;

use crate::DehashedApi;
#[cfg(feature = "tokio")]
use crate::ScheduledRequest;
use crate::api::{Query, SearchType};

fn setup() -> (DehashedApi, String) {
    let api_key = env::var("API_KEY").unwrap();
    let search = env::var("SEARCH").unwrap();

    let api = DehashedApi::new(api_key).unwrap();

    (api, search)
}

#[cfg(feature = "tokio")]
#[tokio::test]
async fn test_scheduler() {
    let (api, search) = setup();

    let scheduler = api.start_scheduler();

    let sender = scheduler.retrieve_sender();

    let (tx, rx) = oneshot::channel();

    sender
        .send(ScheduledRequest::new(
            Query::Domain(SearchType::Simple(search)),
            tx,
        ))
        .await
        .unwrap();

    rx.await.unwrap().unwrap();
}

#[tokio::test]
async fn test_normal() {
    let (api, search) = setup();

    api.search(Query::Domain(SearchType::Simple(search)))
        .await
        .unwrap();
}