#ldap-server #ldap #test-server #integration-tests #test

ldap-test-server

在集成测试中运行独立的 OpenLDAP 服务器

4 个版本

0.1.0 2024年3月13日
0.0.3 2023年5月19日
0.0.2 2023年3月30日
0.0.1 2023年3月26日

#368 in 测试


用于 ldap-test-server-cli

MIT/Apache

28KB
501 代码行

Rust 集成测试的 LDAP 服务器

此包允许在集成测试中启动独立的 OpenLDAP (slapd) 服务器。

OpenLDAP 服务器在临时目录中创建,并使用随机空闲端口。

示例

use ldap_test_server::LdapServerBuilder;

#[tokio::main]
async fn main() {
    let server = LdapServerBuilder::new("dc=planetexpress,dc=com")
        // add LDIF to database before LDAP server is started
        .add(1, "dn: dc=planetexpress,dc=com
objectclass: dcObject
objectclass: organization
o: Planet Express
dc: planetexpress

dn: ou=people,dc=planetexpress,dc=com
objectClass: top
objectClass: organizationalUnit
description: Planet Express crew
ou: people")
        // init databases and started LDAP server
        .run()
        .await;

        // Add entity to running LDAP server
        server.add(r##"dn: cn=Turanga Leela,ou=people,dc=planetexpress,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: Turanga Leela
sn: Turanga
givenName: Leela"##).await;
}

依赖项

此包依赖于系统命令,这些命令必须可以从 $PATH 中访问。

  • slapdd
  • slapd
  • ldapadd
  • ldapmodiy
  • ldapdelete

如何在 Ubuntu 上安装 slpad 和 ldap-utils

DEBIAN_FRONTEND=noninteractive sudo apt-get install -y slapd ldap-utils openssl
sudo systemctl stop slapd
sudo systemctl disable slapd
sudo ln -s /etc/apparmor.d/usr.sbin.slapd /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.slapd

许可证

许可协议为以下之一

依赖项

~14–24MB
~472K SLoC