rincon_core 0.1.0

Core lib for the ArangoDB driver
Documentation

use super::*;

#[test]
fn get_handle_key_from_str() {
    let handle_key = HandleKey::from_string("index id", "12341".to_owned()).unwrap();
    assert_eq!(String::from("12341"), handle_key.unwrap());
}

#[test]
fn get_handle_key_from_str_with_slash_character_in_the_middle() {
    let result = HandleKey::from_string("index id", "mine/12341".to_owned());
    assert_eq!(Err("A index id key must not contain any '/' character, but got: \"mine/12341\"".to_owned()), result);
}

#[test]
fn get_handle_key_from_str_with_slash_character_at_the_beginning() {
    let result = HandleKey::from_string("index id", "/12341".to_owned());
    assert_eq!(Err("A index id key must not contain any '/' character, but got: \"/12341\"".to_owned()), result);
}

#[test]
fn get_handle_key_from_str_with_slash_character_at_the_end() {
    let result = HandleKey::from_string("index id", "12341/".to_owned());
    assert_eq!(Err("A index id key must not contain any '/' character, but got: \"12341/\"".to_owned()), result);
}

#[test]
fn get_handle_from_str() {
    let handle = Handle::from_str("index id", "mine/12341").unwrap();
    assert_eq!("mine/12341", &handle.to_string());
    let (context, key) = handle.unwrap();
    assert_eq!(String::from("mine"), context);
    assert_eq!(String::from("12341"), key);
}

#[test]
fn get_handle_from_str_without_context() {
    let result = Handle::from_str("index id", "12341");
    assert_eq!(Err("index id does not have a context: \"12341\"".to_owned()), result);
}

#[test]
fn get_handle_from_str_with_empty_context() {
    let result = Handle::from_str("index id", "/12341");
    assert_eq!(Err("Invalid index id: \"/12341\"".to_owned()), result);
}

#[test]
fn get_handle_from_str_with_empty_key() {
    let result = Handle::from_str("index id", "mine/");
    assert_eq!(Err("Invalid index id: \"mine/\"".to_owned()), result);
}

#[test]
fn get_handle_option_from_str_with_context_and_key() {
    let handle_option = HandleOption::from_str("index id", "mine/12341").unwrap();
    match handle_option {
        HandleOption::Qualified(handle) => {
            let (context, key) = handle.unwrap();
            assert_eq!("mine", &context);
            assert_eq!("12341", &key);
        }
        _ => panic!("Expected HandleOption::Qualified(_), but got: {:?}", handle_option),
    }
}

#[test]
fn get_handle_option_from_str_with_key_only() {
    let handle_option = HandleOption::from_str("index id", "12341").unwrap();
    match handle_option {
        HandleOption::Local(handle_key) => {
            assert_eq!("12341", &handle_key.unwrap());
        }
        _ => panic!("Expected HandleOption::Local(_), but got: {:?}", handle_option),
    }
}