1import ./make-test.nix {
2 name = "openldap";
3
4 machine = { pkgs, ... }: {
5 services.openldap = {
6 enable = true;
7 extraConfig = ''
8 include ${pkgs.openldap}/etc/schema/core.schema
9 include ${pkgs.openldap}/etc/schema/cosine.schema
10 include ${pkgs.openldap}/etc/schema/inetorgperson.schema
11 include ${pkgs.openldap}/etc/schema/nis.schema
12 database bdb
13 suffix dc=example
14 directory /var/db/openldap
15 rootdn cn=root,dc=example
16 rootpw notapassword
17 '';
18 declarativeContents = ''
19 dn: dc=example
20 objectClass: domain
21 dc: example
22
23 dn: ou=users,dc=example
24 objectClass: organizationalUnit
25 ou: users
26 '';
27 };
28 };
29
30 testScript = ''
31 $machine->waitForUnit('openldap.service');
32 $machine->succeed('systemctl status openldap.service');
33 $machine->succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"');
34 '';
35}