API¶
-
class
slapd.
Slapd
(host=None, port=None, log_level=30, schemas=None, database='mdb', suffix='dc=slapd-test,dc=python-ldap,dc=org', root_cn='Manager', root_pw='password', datadir_prefix=None, debug=None)[source]¶ Controller class for a slapd instance, OpenLDAP’s server.
This class creates a temporary data store for slapd, runs it listening on a private Unix domain socket and TCP port, and initializes it with a top-level entry and the root user.
When a reference to an instance of this class is lost, the slapd server is shut down.
An instance can be used as a context manager. When exiting the context manager, the slapd server is shut down and the temporary data store is removed.
- Parameters
schemas – A list of schema names or schema paths to load at startup. By default this only contains core.
host – The host on which the slapd server will listen to. The default value is 127.0.0.1.
port – The port on which the slapd server will listen to. If None a random available port will be chosen.
log_level – The verbosity of Slapd. The default value is logging.WARNING.
suffix – The LDAP suffix for all objects. The default is dc=slapd-test,dc=python-ldap,dc=org.
root_cn – The root user common name. The default value is Manager.
root_pw – The root user password. The default value is password.
datadir_prefix – The prefix of the temporary directory where the slapd configuration and data will be stored. The default value is python-ldap-test.
debug – Wether to launch slapd with debug verbosity on. When True debug is enabled, when False debug is disabled, when None, debug is only enable when log_level is logging.DEBUG. Default value is None.
-
ldapadd
(ldif, extra_args=None, expected=0)[source]¶ Runs ldapadd on this slapd instance, passing it the ldif content
- Parameters
ldif – The ldif content to pass to the ldapadd standard input.
extra_args – Extra argument to pass to ldapadd.
expected (An integer or a list of integers) – Expected return code. Defaults to 0.
- Returns
A
subprocess.CompletedProcess
with the ldapadd execution data.
-
ldapdelete
(dn, recursive=False, extra_args=None, expected=0)[source]¶ Runs ldapdelete on this slapd instance, deleting ‘dn’
- Parameters
dn – The distinguished name of the element to delete.
recursive – Whether to delete sub-elements. Defaults to False.
extra_args – Extra argument to pass to ldapdelete.
expected (An integer or a list of integers) – Expected return code. Defaults to 0.
- Returns
A
subprocess.CompletedProcess
with the ldapdelete execution data.
-
ldapmodify
(ldif, extra_args=None, expected=0)[source]¶ Runs ldapadd on this slapd instance, passing it the ldif content
- Parameters
ldif – The ldif content to pass to the ldapmodify standard input.
extra_args – Extra argument to pass to ldapmodify.
expected (An integer or a list of integers) – Expected return code. Defaults to 0.
- Returns
A
subprocess.CompletedProcess
with the ldapmodify execution data.
-
ldapwhoami
(extra_args=None, expected=0)[source]¶ Runs ldapwhoami on this slapd instance
- Parameters
extra_args – Extra argument to pass to ldapwhoami.
expected (An integer or a list of integers) – Expected return code. Defaults to 0.
- Returns
A
subprocess.CompletedProcess
with the ldapwhoami execution data.
-
slapadd
(ldif, extra_args=None, expected=0)[source]¶ Runs slapadd on this slapd instance, passing it the ldif content
- Parameters
ldif – The ldif content to pass to the slapadd standard input.
extra_args – Extra argument to pass to slapadd.
expected (An integer or a list of integers) – Expected return code. Defaults to 0.
- Returns
A
subprocess.CompletedProcess
with the slapadd execution data.
-
slapcat
(extra_args=None, expected=0)[source]¶ Runs slapadd on this slapd instance, passing it the ldif content
- Parameters
extra_args – Extra argument to pass to slapcat.
expected (An integer or a list of integers) – Expected return code. Defaults to 0.
- Returns
A
subprocess.CompletedProcess
with the slapcat execution data.