Skip to content

Commit

Permalink
added LDAPI support in slaptest.SlapdObject which is internally used …
Browse files Browse the repository at this point in the history
…in methods ldapadd() and ldapwhoami()
  • Loading branch information
stroeder committed Apr 27, 2017
1 parent d787d3f commit 3e6a2ea
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
4 changes: 3 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Changes since 2.4.37:
Lib/
* slapdtest now evaluates env var SLAPD for optionally pointing
to OpenLDAP's slapd executable
* added LDAPI support in slaptest.SlapdObject which is internally used
in methods ldapadd() and ldapwhoami()

Tests/

Expand Down Expand Up @@ -1420,4 +1422,4 @@ Released 2.0.0pre02 2002-02-01
----------------------------------------------------------------
Released 1.10alpha3 2000-09-19

$Id: CHANGES,v 1.437 2017/04/27 11:13:39 stroeder Exp $
$Id: CHANGES,v 1.438 2017/04/27 12:24:50 stroeder Exp $
17 changes: 10 additions & 7 deletions Lib/slapdtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
See http://www.python-ldap.org/ for details.
\$Id: slapdtest.py,v 1.4 2017/04/27 11:13:39 stroeder Exp $
\$Id: slapdtest.py,v 1.5 2017/04/27 12:24:50 stroeder Exp $
Python compability note:
This module only works with Python 2.7.x since
Expand All @@ -17,6 +17,7 @@
import subprocess
import logging
import unittest
import urllib

# determine log level
try:
Expand Down Expand Up @@ -114,11 +115,13 @@ class SlapdObject(object):
def __init__(self):
self._proc = None
self._port = find_available_tcp_port(LOCALHOST)
self.ldap_uri = "ldap://%s:%d/" % (LOCALHOST, self._port)
self._log = _LOGGER
self.testrundir = os.path.join(self.TMPDIR, 'python-ldap-test')
self._slapd_conf = os.path.join(self.testrundir, "slapd.conf")
self._db_directory = os.path.join(self.testrundir, "openldap-data")
self.ldap_uri = "ldap://%s:%d/" % (LOCALHOST, self._port)
ldapi_path = os.path.join(self.testrundir, 'ldapi-%d' % self._port)
self.ldapi_uri = "ldapi://%s" % urllib.quote_plus(ldapi_path)

def _gen_config(self):
"""
Expand Down Expand Up @@ -177,9 +180,9 @@ def _start_slapd(self):
self._log.info("starting slapd")
self._proc = subprocess.Popen([
self.PATH_SLAPD,
"-f", self._slapd_conf,
"-h", self.ldap_uri,
"-d", "0",
'-f', self._slapd_conf,
'-h', '%s' % ' '.join((self.ldap_uri, self.ldapi_uri)),
'-d', '0',
])

def _wait_for_slapd(self):
Expand Down Expand Up @@ -263,7 +266,7 @@ def ldapwhoami(self, extra_args=None):
"-x",
"-D", self.root_dn,
"-w", self.root_pw,
"-H", self.ldap_uri
"-H", self.ldapi_uri
] + extra_args,
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
)
Expand All @@ -280,7 +283,7 @@ def ldapadd(self, ldif, extra_args=None):
"-x",
"-D", self.root_dn,
"-w", self.root_pw,
"-H", self.ldap_uri
"-H", self.ldapi_uri
] + extra_args,
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
)
Expand Down

0 comments on commit 3e6a2ea

Please sign in to comment.