1 from twisted.trial import unittest
2 from twisted.internet import reactor, protocol, address
3 from ldaptor.protocols.ldap import ldapconnector, distinguishedname
4
7
9 """
10 Callable values in serviceLocationOverride get to override the
11 whole connecting process.
12 """
13
21 d = c.connect(dn, overrides={ dn: _doConnect, })
22 def cb(r):
23 self.failUnless(isinstance(r, FakeProto))
24 d.addCallback(cb)
25 return d
26
28 """Plain strings work as override keys."""
29 c=ldapconnector.LDAPConnector(reactor=None,
30 dn='dc=example,dc=com',
31 factory=None)
32 o=c._findOverRide(dn=distinguishedname.DistinguishedName('cn=foo,dc=example,dc=com'),
33 overrides={
34 'dc=example,dc=com': ('server.example.com', 1389),
35 })
36 self.assertEquals(o, ('server.example.com', 1389))
37
39 """Empty dn can be used as override."""
40 c=ldapconnector.LDAPConnector(reactor=None,
41 dn='dc=example,dc=com',
42 factory=None)
43 o=c._findOverRide(dn=distinguishedname.DistinguishedName('cn=foo,dc=example,dc=com'),
44 overrides={
45 '': ('server.example.com', 1389),
46 })
47 self.assertEquals(o, ('server.example.com', 1389))
48