forked from python-ldap/python-ldap
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patht_ldap_functions.py
More file actions
77 lines (67 loc) · 1.93 KB
/
t_ldap_functions.py
File metadata and controls
77 lines (67 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# -*- coding: utf-8 -*-
"""
Automatic tests for python-ldap's module ldap.functions
See https://www.python-ldap.org/ for details.
"""
# from Python's standard lib
import unittest
# from python-ldap
import ldap
from ldap.dn import escape_dn_chars
from ldap.filter import escape_filter_chars
class TestFunction(unittest.TestCase):
"""
test ldap.functions
"""
def test_ldap_strf_secs(self):
"""
test function ldap_strf_secs()
"""
self.assertEqual(ldap.strf_secs(0), '19700101000000Z')
self.assertEqual(ldap.strf_secs(1466947067), '20160626131747Z')
def test_ldap_strp_secs(self):
"""
test function ldap_strp_secs()
"""
self.assertEqual(ldap.strp_secs('19700101000000Z'), 0)
self.assertEqual(ldap.strp_secs('20160626131747Z'), 1466947067)
def test_escape_str(self):
"""
test function escape_string_tmpl()
"""
self.assertEqual(
ldap.escape_str(
escape_filter_chars,
'(&(objectClass=aeUser)(uid=%s))',
'foo'
),
'(&(objectClass=aeUser)(uid=foo))'
)
self.assertEqual(
ldap.escape_str(
escape_filter_chars,
'(&(objectClass=aeUser)(uid=%s))',
'foo)bar'
),
'(&(objectClass=aeUser)(uid=foo\\29bar))'
)
self.assertEqual(
ldap.escape_str(
escape_dn_chars,
'uid=%s',
'foo=bar'
),
'uid=foo\\=bar'
)
self.assertEqual(
ldap.escape_str(
escape_dn_chars,
'uid=%s,cn=%s,cn=%s,dc=example,dc=com',
'foo=bar',
'foo+',
'+bar',
),
'uid=foo\\=bar,cn=foo\\+,cn=\\+bar,dc=example,dc=com'
)
if __name__ == '__main__':
unittest.main()