Ejemplo n.º 1
0
    def test_ldap_result_timeout_infinite(self, dll):
        l = wldap.ldap()
        l.result(0, 0, None)
        dll.ldap_result.assert_called_once_with(l._l, 0, 0, mock.ANY, mock.ANY)

        timeval = dll.ldap_result.call_args[0][3]
        self.assertEqual(timeval, None)
Ejemplo n.º 2
0
    def test_ldap_search_s_no_attrs(self, dll):
        fn = dll.ldap_search_sW

        l = wldap.ldap()
        l.search_s('base', 'sc', 'fi', [], True)
        fn.assert_called_once_with(l._l, 'base', 'sc', 'fi', mock.ANY, True, mock.ANY)
        self.assertValidAttributes([], fn.call_args[0][4])
Ejemplo n.º 3
0
    def test_ldap_result_timeout_infinite(self, dll):
        l = wldap.ldap()
        l.result(0, 0, None)
        dll.ldap_result.assert_called_once_with(l._l, 0, 0, mock.ANY, mock.ANY)

        timeval = dll.ldap_result.call_args[0][3]
        self.assertEqual(timeval, None)
Ejemplo n.º 4
0
    def test_ldap_search_no_attrs(self, dll):
        fn = dll.ldap_searchW

        l = wldap.ldap()
        l.search('base', 'sc', 'fi', [], True)
        fn.assert_called_once_with(l._l, 'base', 'sc', 'fi', mock.ANY, True)
        self.assertValidAttributes([], fn.call_args[0][4])
Ejemplo n.º 5
0
    def test_ldap_check_filter_ko(self, dll):
        dll.ldap_err2string.return_value = 'test'
        exc = LdapError(0)
        dll.ldap_check_filterW.side_effect = exc

        l = wldap.ldap()
        self.assertEqual(l.check_filter('filt'), exc)
        dll.ldap_check_filterW.assert_called_once_with(l._l, 'filt')
Ejemplo n.º 6
0
    def test_ldap_search_s(self, dll):
        attr = ['a1', 'a2']
        fn = dll.ldap_search_sW

        l = wldap.ldap()
        l.search_s('base', 'sc', 'fi', attr, True)
        fn.assert_called_once_with(l._l, 'base', 'sc', 'fi', mock.ANY, True, mock.ANY)
        self.assertValidAttributes(attr, fn.call_args[0][4])
Ejemplo n.º 7
0
    def test_ldap_result_timeout(self, dll):
        l = wldap.ldap()
        l.result(0, 0, 1.3)
        dll.ldap_result.assert_called_once_with(l._l, 0, 0, mock.ANY, mock.ANY)

        timeval = cast(dll.ldap_result.call_args[0][3], LDAP_TIMEVAL.pointer)
        self.assertEqual(timeval.contents.tv_sec, 1)
        self.assertEqual(timeval.contents.tv_usec, 300000)
Ejemplo n.º 8
0
    def test_ldap_result_timeout(self, dll):
        l = wldap.ldap()
        l.result(0, 0, 1.3)
        dll.ldap_result.assert_called_once_with(l._l, 0, 0, mock.ANY, mock.ANY)

        timeval = cast(dll.ldap_result.call_args[0][3], LDAP_TIMEVAL.pointer)
        self.assertEqual(timeval.contents.tv_sec, 1)
        self.assertEqual(timeval.contents.tv_usec, 300000)
Ejemplo n.º 9
0
    def test_ldap_search(self, dll):
        attr = ['a1', 'a2']
        fn = dll.ldap_searchW

        l = wldap.ldap()
        l.search('base', 'sc', 'fi', attr, True)
        fn.assert_called_once_with(l._l, 'base', 'sc', 'fi', mock.ANY, True)
        self.assertValidAttributes(attr, fn.call_args[0][4])
Ejemplo n.º 10
0
    def test_ldap_check_filter_ko(self, dll):
        dll.ldap_err2string.return_value = 'test'
        exc = LdapError(0)
        dll.ldap_check_filterW.side_effect = exc

        l = wldap.ldap()
        self.assertEqual(l.check_filter('filt'), exc)
        dll.ldap_check_filterW.assert_called_once_with(l._l, 'filt')
Ejemplo n.º 11
0
    def validate_search(self, dll, func, attr):
        args = ("base", "scope", "filt", attr, "attronly")
        l = wldap.ldap()
        getattr(l, func)(*args)

        cfunc = getattr(dll, "ldap_" + func)
        cargs = ("base", "scope", "filt", mock.ANY, "attronly", mock.ANY)
        cfunc.assert_called_once_with(mock.ANY, *cargs)
        self.assertSequenceEqual(cfunc.call_args[0][4], attr + [None])
Ejemplo n.º 12
0
    def test_ldap_add_s(self, dll):
        l = wldap.ldap()
        l.add_s('dn', ('attr1', ['val1']), ('attr2', ['val2.1', 'val2.2']))
        dll.ldap_add_sW.assert_called_once_with(l._l, 'dn', mock.ANY)

        mods = dll.ldap_add_sW.call_args[0][2]
        self.assertEqual(mods[0].contents.mod_op, LDAPMod.LDAP_MOD_ADD)
        self.assertEqual(mods[0].contents.mod_type, 'attr1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[0], 'val1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[1], None)

        self.assertEqual(mods[1].contents.mod_op, LDAPMod.LDAP_MOD_ADD)
        self.assertEqual(mods[1].contents.mod_type, 'attr2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[0], 'val2.1')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[1], 'val2.2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[2], None)

        self.assertEqual(mods[2], None)
Ejemplo n.º 13
0
    def test_ldap_add_s(self, dll):
        l = wldap.ldap()
        l.add_s('dn', ('attr1', ['val1']), ('attr2', ['val2.1', 'val2.2']))
        dll.ldap_add_sW.assert_called_once_with(l._l, 'dn', mock.ANY)

        mods = dll.ldap_add_sW.call_args[0][2]
        self.assertEqual(mods[0].contents.mod_op, LDAPMod.LDAP_MOD_ADD)
        self.assertEqual(mods[0].contents.mod_type, 'attr1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[0], 'val1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[1], None)

        self.assertEqual(mods[1].contents.mod_op, LDAPMod.LDAP_MOD_ADD)
        self.assertEqual(mods[1].contents.mod_type, 'attr2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[0], 'val2.1')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[1], 'val2.2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[2], None)

        self.assertEqual(mods[2], None)
Ejemplo n.º 14
0
    def test_ldap_modify_s(self, dll):
        changeset = wldap.Changeset()
        changeset.replace('attr1', ['val1'])
        changeset.add('attr2', ['val2.1', 'val2.2'])

        l = wldap.ldap()
        l.modify_s('dn', changeset)
        dll.ldap_modify_sW.assert_called_once_with(l._l, 'dn', mock.ANY)

        mods = dll.ldap_modify_sW.call_args[0][2]
        self.assertEqual(mods[0].contents.mod_op, LDAPMod.LDAP_MOD_REPLACE)
        self.assertEqual(mods[0].contents.mod_type, 'attr1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[0], 'val1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[1], None)

        self.assertEqual(mods[1].contents.mod_op, LDAPMod.LDAP_MOD_ADD)
        self.assertEqual(mods[1].contents.mod_type, 'attr2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[0], 'val2.1')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[1], 'val2.2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[2], None)

        self.assertEqual(mods[2], None)
Ejemplo n.º 15
0
    def test_ldap_modify_s(self, dll):
        changeset = wldap.Changeset()
        changeset.replace('attr1', ['val1'])
        changeset.add('attr2', ['val2.1', 'val2.2'])

        l = wldap.ldap()
        l.modify_s('dn', changeset)
        dll.ldap_modify_sW.assert_called_once_with(l._l, 'dn', mock.ANY)

        mods = dll.ldap_modify_sW.call_args[0][2]
        self.assertEqual(mods[0].contents.mod_op, LDAPMod.LDAP_MOD_REPLACE)
        self.assertEqual(mods[0].contents.mod_type, 'attr1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[0], 'val1')
        self.assertEqual(mods[0].contents.mod_vals.modv_strvals[1], None)

        self.assertEqual(mods[1].contents.mod_op, LDAPMod.LDAP_MOD_ADD)
        self.assertEqual(mods[1].contents.mod_type, 'attr2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[0], 'val2.1')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[1], 'val2.2')
        self.assertEqual(mods[1].contents.mod_vals.modv_strvals[2], None)

        self.assertEqual(mods[2], None)
Ejemplo n.º 16
0
 def validate_call_forwarding(self, dll, func, args):
     l = wldap.ldap()
     getattr(l, func)(*args)
     getattr(dll, "ldap_" + func).assert_called_once_with(mock.ANY, *args)
Ejemplo n.º 17
0
 def test_ldap_init_specific(self, dll):
     ldap_host, ldap_port = 'ldap://test', 4242
     wldap.ldap(ldap_host, ldap_port)
     dll.ldap_initW.assert_called_once_with(ldap_host, ldap_port)
Ejemplo n.º 18
0
 def test_ldap_init_default(self, dll):
     wldap.ldap()
     dll.ldap_initW.assert_called_once_with(None, wldap.LDAP_PORT)
Ejemplo n.º 19
0
 def assert_forward(self, dll, func, args, api_func=None):
     l = wldap.ldap()
     getattr(l, func)(*args)
     cfunc = getattr(dll, 'ldap_' + (api_func or func))
     cfunc.assert_called_once_with(mock.ANY, *args)
Ejemplo n.º 20
0
 def test_ldap_check_filter(self, dll):
     l = wldap.ldap()
     l.check_filter('filt')
     dll.ldap_check_filterW.assert_called_once_with(l._l, 'filt')
Ejemplo n.º 21
0
 def test_ldap_connect(self, dll):
     l = wldap.ldap()
     l.connect(None)
     dll.ldap_connect.assert_called_once_with(l._l, None)
Ejemplo n.º 22
0
 def test_ldap_delete_s(self, dll):
     l = wldap.ldap()
     l.delete_s('dn')
     dll.ldap_delete_sW.assert_called_once_with(l._l, 'dn')
Ejemplo n.º 23
0
 def test_ldap_delete_s(self, dll):
     l = wldap.ldap()
     l.delete_s('dn')
     dll.ldap_delete_sW.assert_called_once_with(l._l, 'dn')
Ejemplo n.º 24
0
 def test_ldap_connect(self, dll):
     l = wldap.ldap()
     l.connect(None)
     dll.ldap_connect.assert_called_once_with(l._l, None)
Ejemplo n.º 25
0
 def assert_forward(self, dll, func, args, api_func=None):
     l = wldap.ldap()
     getattr(l, func)(*args)
     cfunc = getattr(dll, 'ldap_' + (api_func or func))
     cfunc.assert_called_once_with(mock.ANY, *args)
Ejemplo n.º 26
0
 def test_ldap_check_filter(self, dll):
     l = wldap.ldap()
     l.check_filter('filt')
     dll.ldap_check_filterW.assert_called_once_with(l._l, 'filt')
Ejemplo n.º 27
0
 def test_ldap_init_default(self, dll):
     wldap.ldap()
     dll.ldap_initW.assert_called_once_with(None, wldap.LDAP_PORT)
Ejemplo n.º 28
0
 def test_ldap_init_specific(self, dll):
     ldap_host, ldap_port = 'ldap://test', 4242
     wldap.ldap(ldap_host, ldap_port)
     dll.ldap_initW.assert_called_once_with(ldap_host, ldap_port)