import ./make-test-python.nix ({ ... }: {
  name = "lldap";

  nodes.machine = { pkgs, ... }: {
    services.lldap = {
      enable = true;
      settings = {
        verbose = true;
        ldap_base_dn = "dc=example,dc=com";
      };
    };
    environment.systemPackages = [ pkgs.openldap ];
  };

  testScript = ''
    machine.wait_for_unit("lldap.service")
    machine.wait_for_open_port(3890)
    machine.wait_for_open_port(17170)

    machine.succeed("curl --location --fail http://localhost:17170/")

    print(
      machine.succeed('ldapsearch -H ldap://localhost:3890 -D uid=admin,ou=people,dc=example,dc=com -b "ou=people,dc=example,dc=com" -w password')
    )
  '';
})
