From 7fec6bb16fa74f1e4e394196777729e482c5cce9 Mon Sep 17 00:00:00 2001 From: stroeder Date: Sun, 24 Jul 2016 15:37:25 +0000 Subject: [PATCH] tests for ldap.strf_secs(), ldap.strp_secs() and ldap.escape_str() --- Tests/t_ldap_functions.py | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Tests/t_ldap_functions.py diff --git a/Tests/t_ldap_functions.py b/Tests/t_ldap_functions.py new file mode 100644 index 0000000..6947352 --- /dev/null +++ b/Tests/t_ldap_functions.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +""" +Automatic tests for module ldap.functions +""" + +# 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.assertEquals(ldap.strf_secs(0), '19700101000000Z') + self.assertEquals(ldap.strf_secs(1466947067), '20160626131747Z') + + def test_ldap_strp_secs(self): + """ + test function ldap_strp_secs() + """ + self.assertEquals(ldap.strp_secs('19700101000000Z'), 0) + self.assertEquals(ldap.strp_secs('20160626131747Z'), 1466947067) + + def test_escape_str(self): + """ + test function escape_string_tmpl() + """ + self.assertEquals( + ldap.escape_str( + escape_filter_chars, + '(&(objectClass=aeUser)(uid=%s))', + 'foo' + ), + '(&(objectClass=aeUser)(uid=foo))' + ) + self.assertEquals( + ldap.escape_str( + escape_filter_chars, + '(&(objectClass=aeUser)(uid=%s))', + 'foo)bar' + ), + '(&(objectClass=aeUser)(uid=foo\\29bar))' + ) + self.assertEquals( + ldap.escape_str( + escape_dn_chars, + 'uid=%s', + 'foo=bar' + ), + 'uid=foo\\=bar' + ) + self.assertEquals( + 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()