Skip to content

Commit 53fa5b7

Browse files
tiranencukou
authored andcommitted
Use SlapdTestCase in t_bind and t_edit
Both test modules used to set up their own server instance. t_edit didn't clean up properly. Let's use SlapdTestCase test class everywhere. python-ldap#58 Signed-off-by: Christian Heimes <cheimes@redhat.com>
1 parent 0d48145 commit 53fa5b7

File tree

2 files changed

+56
-66
lines changed

2 files changed

+56
-66
lines changed

Tests/t_bind.py

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,15 @@
1010
text_type = str
1111

1212
import ldap, unittest
13-
from slapdtest import SlapdObject
13+
from slapdtest import SlapdTestCase
1414
from ldap.ldapobject import LDAPObject
1515

16-
class TestBinds(unittest.TestCase):
1716

18-
@classmethod
19-
def setUpClass(cls):
20-
cls.server = SlapdObject()
21-
cls.server.start()
22-
23-
cls.unicode_val = "abc\U0001f498def"
24-
cls.unicode_val_bytes = cls.unicode_val.encode('utf-8')
25-
26-
cls.dn_unicode = "CN=" + cls.unicode_val
27-
cls.dn_bytes = cls.dn_unicode.encode('utf-8')
28-
29-
@classmethod
30-
def tearDownClass(cls):
31-
cls.server.stop()
17+
class TestBinds(SlapdTestCase):
18+
unicode_val = "abc\U0001f498def"
19+
unicode_val_bytes = unicode_val.encode('utf-8')
20+
dn_unicode = "CN=" + unicode_val
21+
dn_bytes = dn_unicode.encode('utf-8')
3222

3323
def _get_ldapobject(self, bytes_mode=None):
3424
l = LDAPObject(self.server.ldap_uri, bytes_mode=bytes_mode)

Tests/t_edit.py

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -10,64 +10,64 @@
1010
text_type = str
1111

1212
import ldap, unittest
13-
from slapdtest import SlapdObject
13+
from slapdtest import SlapdTestCase
1414

1515
from ldap.ldapobject import LDAPObject
1616

17-
server = None
1817

18+
class EditionTests(SlapdTestCase):
1919

20-
class EditionTests(unittest.TestCase):
20+
@classmethod
21+
def setUpClass(cls):
22+
super(EditionTests, cls).setUpClass()
23+
base = cls.server.suffix
24+
suffix_dc = base.split(',')[0][3:]
2125

22-
def setUp(self):
23-
global server
24-
if server is None:
25-
server = SlapdObject()
26-
server.start()
27-
base = server.suffix
28-
suffix_dc = base.split(',')[0][3:]
26+
# insert some Foo* objects via ldapadd
27+
cls.server.ldapadd("\n".join([
28+
'dn: '+cls.server.suffix,
29+
'objectClass: dcObject',
30+
'objectClass: organization',
31+
'dc: '+suffix_dc,
32+
'o: '+suffix_dc,
33+
'',
34+
'dn: '+cls.server.root_dn,
35+
'objectClass: applicationProcess',
36+
'cn: '+cls.server.root_cn,
37+
'',
38+
"dn: cn=Foo1,"+base,
39+
"objectClass: organizationalRole",
40+
"cn: Foo1",
41+
"",
42+
"dn: cn=Foo2,"+base,
43+
"objectClass: organizationalRole",
44+
"cn: Foo2",
45+
"",
46+
"dn: cn=Foo3,"+base,
47+
"objectClass: organizationalRole",
48+
"cn: Foo3",
49+
"",
50+
"dn: ou=Container,"+base,
51+
"objectClass: organizationalUnit",
52+
"ou: Container",
53+
"",
54+
"dn: cn=Foo4,ou=Container,"+base,
55+
"objectClass: organizationalRole",
56+
"cn: Foo4",
57+
"",
58+
])+"\n")
2959

30-
# insert some Foo* objects via ldapadd
31-
server.ldapadd("\n".join([
32-
'dn: '+server.suffix,
33-
'objectClass: dcObject',
34-
'objectClass: organization',
35-
'dc: '+suffix_dc,
36-
'o: '+suffix_dc,
37-
'',
38-
'dn: '+server.root_dn,
39-
'objectClass: applicationProcess',
40-
'cn: '+server.root_cn,
41-
'',
42-
"dn: cn=Foo1,"+base,
43-
"objectClass: organizationalRole",
44-
"cn: Foo1",
45-
"",
46-
"dn: cn=Foo2,"+base,
47-
"objectClass: organizationalRole",
48-
"cn: Foo2",
49-
"",
50-
"dn: cn=Foo3,"+base,
51-
"objectClass: organizationalRole",
52-
"cn: Foo3",
53-
"",
54-
"dn: ou=Container,"+base,
55-
"objectClass: organizationalUnit",
56-
"ou: Container",
57-
"",
58-
"dn: cn=Foo4,ou=Container,"+base,
59-
"objectClass: organizationalRole",
60-
"cn: Foo4",
61-
"",
62-
])+"\n")
60+
def setUp(self):
61+
self.ldap = LDAPObject(self.server.ldap_uri, bytes_mode=False)
62+
self.ldap.protocol_version = 3
63+
self.ldap.set_option(ldap.OPT_REFERRALS, 0)
64+
self.ldap.simple_bind_s(
65+
self.server.root_dn,
66+
self.server.root_pw
67+
)
6368

64-
l = LDAPObject(server.ldap_uri, bytes_mode=False)
65-
l.protocol_version = 3
66-
l.set_option(ldap.OPT_REFERRALS,0)
67-
l.simple_bind_s(server.root_dn,
68-
server.root_pw)
69-
self.ldap = l
70-
self.server = server
69+
def tearDown(self):
70+
self.ldap.unbind()
7171

7272
def test_add_object(self):
7373
base = self.server.suffix

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy