[CalendarServer-changes] [12309] twext/trunk/twext/who/ldap
source_changes at macosforge.org
source_changes at macosforge.org
Wed Mar 12 11:20:33 PDT 2014
Revision: 12309
http://trac.calendarserver.org//changeset/12309
Author: wsanchez at apple.com
Date: 2014-01-11 13:29:12 -0800 (Sat, 11 Jan 2014)
Log Message:
-----------
Add test_connect_withOptions.
Modified Paths:
--------------
twext/trunk/twext/who/ldap/_service.py
twext/trunk/twext/who/ldap/test/test_service.py
Modified: twext/trunk/twext/who/ldap/_service.py
===================================================================
--- twext/trunk/twext/who/ldap/_service.py 2014-01-11 21:18:57 UTC (rev 12308)
+++ twext/trunk/twext/who/ldap/_service.py 2014-01-11 21:29:12 UTC (rev 12309)
@@ -125,8 +125,17 @@
self.url = url
self.credentials = credentials
self._timeout = timeout
- self._tlsCACertificateFile = tlsCACertificateFile
- self._tlsCACertificateDirectory = tlsCACertificateDirectory
+
+ if tlsCACertificateFile is None:
+ self._tlsCACertificateFile = None
+ else:
+ self._tlsCACertificateFile = tlsCACertificateFile.path
+
+ if tlsCACertificateDirectory is None:
+ self._tlsCACertificateDirectory = None
+ else:
+ self._tlsCACertificateDirectory = tlsCACertificateDirectory.path
+
self._useTLS = useTLS,
if debug:
@@ -158,10 +167,10 @@
# Twisted adopts the new logging stuff.
for option, value in (
- (ldap.OPT_DEBUG_LEVEL, self._debug),
(ldap.OPT_TIMEOUT, self._timeout),
(ldap.OPT_X_TLS_CACERTFILE, self._tlsCACertificateFile),
(ldap.OPT_X_TLS_CACERTDIR, self._tlsCACertificateDirectory),
+ (ldap.OPT_DEBUG_LEVEL, self._debug),
):
if value is not None:
connection.set_option(option, value)
Modified: twext/trunk/twext/who/ldap/test/test_service.py
===================================================================
--- twext/trunk/twext/who/ldap/test/test_service.py 2014-01-11 21:18:57 UTC (rev 12308)
+++ twext/trunk/twext/who/ldap/test/test_service.py 2014-01-11 21:29:12 UTC (rev 12309)
@@ -21,6 +21,7 @@
import ldap
from mockldap import MockLdap
+from twisted.python.filepath import FilePath
from twisted.internet.defer import inlineCallbacks
from twisted.trial import unittest
@@ -53,8 +54,8 @@
# super(BaseTestCase, self).tearDown()
- def service(self, subClass=None, xmlData=None):
- return DirectoryService()
+ def service(self, **kwargs):
+ return DirectoryService(**kwargs)
@@ -91,10 +92,10 @@
connection = yield service._connect()
for option in (
- ldap.OPT_DEBUG_LEVEL,
ldap.OPT_TIMEOUT,
ldap.OPT_X_TLS_CACERTFILE,
ldap.OPT_X_TLS_CACERTDIR,
+ ldap.OPT_DEBUG_LEVEL,
):
self.assertRaises(
KeyError,
@@ -102,6 +103,28 @@
)
+ @inlineCallbacks
+ def test_connect_withOptions(self):
+ """
+ Connect with default arguments.
+ """
+ service = self.service(
+ timeout=18,
+ tlsCACertificateFile=FilePath("/path/to/cert"),
+ tlsCACertificateDirectory=FilePath("/path/to/certdir"),
+ useTLS=True,
+ debug=True,
+ )
+ connection = yield service._connect()
+ opt = lambda k: connection.get_option(k)
+
+ self.assertEquals(opt(ldap.OPT_TIMEOUT), 18)
+ self.assertEquals(opt(ldap.OPT_X_TLS_CACERTFILE), "/path/to/cert")
+ self.assertEquals(opt(ldap.OPT_X_TLS_CACERTDIR), "/path/to/certdir")
+ self.assertEquals(opt(ldap.OPT_DEBUG_LEVEL), 255)
+
+
+
mockDirectoryData = dict(
)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/656eed93/attachment.html>
More information about the calendarserver-changes
mailing list