ldapico 0.1.0

Wrapper over ldap3 for use with tarantool-module
Documentation
use ldapico::{ldap3::Scope, ldap3::SearchEntry, Ldap};
use tokio::sync::oneshot::channel;

#[test]
fn ldap_search() {
    let ldap = Ldap::new(env!("LDAPICO_TEST_LDAP_SERVER")).unwrap();
    let (tx, rx) = channel();
    ldap.search(
        tx,
        "ou=users,dc=example,dc=org",
        Scope::OneLevel,
        "(objectClass=inetOrgPerson)",
    );
    let (rs, _) = rx.blocking_recv().unwrap().unwrap().success().unwrap();

    assert_eq!(2, rs.len());

    let mut entries: Vec<SearchEntry> = vec![];
    for entry in rs {
        entries.push(SearchEntry::construct(entry));
    }

    assert_eq!("user1", entries[0].attrs["uid"][0]);
    assert_eq!("user2", entries[1].attrs["uid"][0]);
}

#[test]
fn ldap_simple_bind() {
    let ldap = Ldap::new(env!("LDAPICO_TEST_LDAP_SERVER")).unwrap();
    let (tx, rx) = channel();
    ldap.simple_bind(tx, "cn=user1,ou=users,dc=example,dc=org", "pwd1");
    let r = rx.blocking_recv().unwrap().unwrap();
    assert!(r.success().is_ok());
}