X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=tests%2Fhelpers%2Fcommon.py;h=07a41febdfb07cf1f26be590919ec108867853c2;hp=56ea9ffcea77e143e958ea30e7736af504145b94;hb=cacb41e93b377496e77f824f4f1b0ce206da0bed;hpb=521a28fd446a64c4fa5895e1aa768512249652f6 diff --git a/tests/helpers/common.py b/tests/helpers/common.py index 56ea9ff..07a41fe 100755 --- a/tests/helpers/common.py +++ b/tests/helpers/common.py @@ -145,6 +145,26 @@ class IpsilonTestBase(object): cmd = ['/usr/bin/createdb', '-h', addr, '-p', port, d] subprocess.check_call(cmd, env=env) + def setup_ldap(self, env): + ldapdir = os.path.join(self.testdir, 'ldap') + os.mkdir(ldapdir) + with open(os.path.join(self.rootdir, 'tests/slapd.conf')) as f: + t = Template(f.read()) + text = t.substitute({'ldapdir': ldapdir}) + filename = os.path.join(ldapdir, 'slapd.conf') + with open(filename, 'w+') as f: + f.write(text) + subprocess.check_call(['/usr/sbin/slapadd', '-f', filename, '-l', + 'tests/ldapdata.ldif'], env=env) + + return filename + + def start_ldap_server(self, conf, addr, port, env): + p = subprocess.Popen(['/usr/sbin/slapd', '-d', '0', '-f', conf, + '-h', 'ldap://%s:%s' % (addr, port)], + env=env, preexec_fn=os.setsid) + self.processes.append(p) + def wait(self): for p in self.processes: os.killpg(p.pid, signal.SIGTERM)