Package ldaptor :: Package test :: Module test_connector
[hide private]
[frames] | no frames]

Source Code for Module ldaptor.test.test_connector

 1  from twisted.trial import unittest 
 2  from twisted.internet import reactor, protocol, address 
 3  from ldaptor.protocols.ldap import ldapconnector, distinguishedname 
 4   
5 -class FakeProto(protocol.Protocol):
6 pass
7
8 -class TestCallableOverride(unittest.TestCase):
9 """ 10 Callable values in serviceLocationOverride get to override the 11 whole connecting process. 12 """ 13
14 - def testSimple(self):
15 dn = distinguishedname.DistinguishedName('dc=example,dc=com') 16 c = ldapconnector.LDAPClientCreator(reactor, FakeProto) 17 def _doConnect(factory): 18 factory.doStart() 19 factory.startedConnecting(c) 20 proto = factory.buildProtocol(address.IPv4Address('TCP', 'localhost', '1'))
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
27 - def testFindOverride_plainString(self):
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
38 - def testFindOverride_root(self):
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