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 测试
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
许可证
许可协议为以下之一
- Apache 许可证第 2 版 (LICENSE-APACHE), 或者
- MIT 许可证 (LICENSE-MIT)
依赖项
~14–24MB
~472K SLoC