houndify 0.3.2

Houndify SDK in Rust
Documentation
use houndify::*;
use std::fs::File;
use std::io::BufReader;

fn get_client() -> Client {
    let client_id = "EqQpJDGt0YozIb8Az6xvvA==";
    let client_key =
        "jLTVjUOFBSetQtA3l-lGlb75rPVqKmH_JFgOVZjl4BdJqOq7PwUpub8ROcNnXUTssqd6M_7rC8Jn3_FjITouxQ==";

    Client::new(
        DEFAULT_API_ENDPOINT,
        client_id,
        client_key,
        Some(|| String::from("deadbeef")),
    )
}

#[test]
fn test_text_query() {
    let c = get_client();
    let query = TextQuery::new("what is one plus one?", "kevinq", RequestInfo::new());
    let resp = c.text_query(query);
    match resp {
        Ok(r) => {
            assert_eq!(r.status, "OK");
        },
        Err(e) => {
            println!("Error={}", e);
            assert!(false);
        }
    }
}

#[test]
fn test_voice_query_success() {
    let c = get_client();
    let file = File::open("tests/whattimeisit.wav").unwrap();
    let buf = BufReader::new(file);
    let query = VoiceQuery::new(Box::new(buf), "kevinq", RequestInfo::new());
    let resp = c.voice_query(query);
    match resp {
        Ok(r) => {
            assert_eq!(r.status, "OK");
        },
        Err(e) => {
            println!("Error={}", e);
            assert!(false);
        },
    }
}

#[test]
fn test_voice_query_unsupported_audio_format() {
    let c = get_client();
    let file = File::open("tests/whattimeisit.mp3").unwrap();
    let buf = BufReader::new(file);
    let query = VoiceQuery::new(Box::new(buf), "kevinq", RequestInfo::new());
    let resp = c.voice_query(query);
    match resp {
        Ok(r) => {
            assert_eq!(r.status, "Error");
            match r.error_message {
                Some(m) => println!("ErrorMessage={}...", &m[..50]),
                None => print!("None"),
            }
        },
        Err(e) => {
            println!("Error={}", e);
            assert!(false)
        }
    }
}