[CalendarServer-changes] [13227] twext/trunk/twext/who
source_changes at macosforge.org
source_changes at macosforge.org
Wed Apr 9 11:35:10 PDT 2014
Revision: 13227
http://trac.calendarserver.org//changeset/13227
Author: sagen at apple.com
Date: 2014-04-09 11:35:10 -0700 (Wed, 09 Apr 2014)
Log Message:
-----------
shortNames no longer mandatory; LDAP mapping for uid is
Modified Paths:
--------------
twext/trunk/twext/who/directory.py
twext/trunk/twext/who/ldap/_service.py
twext/trunk/twext/who/ldap/test/test_util.py
twext/trunk/twext/who/test/test_directory.py
Modified: twext/trunk/twext/who/directory.py
===================================================================
--- twext/trunk/twext/who/directory.py 2014-04-09 17:59:13 UTC (rev 13226)
+++ twext/trunk/twext/who/directory.py 2014-04-09 18:35:10 UTC (rev 13227)
@@ -330,7 +330,6 @@
requiredFields = (
FieldName.uid,
FieldName.recordType,
- FieldName.shortNames,
)
Modified: twext/trunk/twext/who/ldap/_service.py
===================================================================
--- twext/trunk/twext/who/ldap/_service.py 2014-04-09 17:59:13 UTC (rev 13226)
+++ twext/trunk/twext/who/ldap/_service.py 2014-04-09 18:35:10 UTC (rev 13227)
@@ -36,7 +36,7 @@
from ..idirectory import (
DirectoryServiceError, DirectoryAvailabilityError,
FieldName as BaseFieldName, RecordType as BaseRecordType,
- IPlaintextPasswordVerifier
+ IPlaintextPasswordVerifier, DirectoryConfigurationError
)
from ..directory import (
DirectoryService as BaseDirectoryService,
@@ -276,6 +276,9 @@
if self.fieldName.recordType in fieldNameToAttributesMap:
raise TypeError("Record type field may not be mapped")
+ if BaseFieldName.uid not in fieldNameToAttributesMap:
+ raise DirectoryConfigurationError("Mapping for uid required")
+
self._fieldNameToAttributesMap = fieldNameToAttributesMap
self._attributeToFieldNameMap = reverseDict(
fieldNameToAttributesMap
Modified: twext/trunk/twext/who/ldap/test/test_util.py
===================================================================
--- twext/trunk/twext/who/ldap/test/test_util.py 2014-04-09 17:59:13 UTC (rev 13226)
+++ twext/trunk/twext/who/ldap/test/test_util.py 2014-04-09 18:35:10 UTC (rev 13227)
@@ -26,16 +26,22 @@
)
from ...test.test_xml import UnknownConstant
from .._constants import LDAPOperand
-from .._service import DirectoryService, RecordTypeSchema
+from .._service import (
+ DirectoryService, RecordTypeSchema, DEFAULT_FIELDNAME_ATTRIBUTE_MAP
+)
from .._util import (
ldapQueryStringFromQueryStrings,
ldapQueryStringFromMatchExpression,
ldapQueryStringFromCompoundExpression,
ldapQueryStringFromExpression,
)
+from ...idirectory import FieldName as BaseFieldName
+TEST_FIELDNAME_MAP = dict(DEFAULT_FIELDNAME_ATTRIBUTE_MAP)
+TEST_FIELDNAME_MAP[BaseFieldName.uid] = (u"__who_uid__",)
+
class LDAPQueryTestCase(unittest.TestCase):
"""
Tests for LDAP query generation.
@@ -44,7 +50,10 @@
def service(self):
# Use intentionally funky conenction info, since we don't expect
# to connect.
- return DirectoryService(u"ldap://cretin/", u"o=plugh")
+ return DirectoryService(
+ u"ldap://cretin/", u"o=plugh",
+ fieldNameToAttributesMap=TEST_FIELDNAME_MAP
+ )
def fieldNameMap(self, service):
Modified: twext/trunk/twext/who/test/test_directory.py
===================================================================
--- twext/trunk/twext/who/test/test_directory.py 2014-04-09 17:59:13 UTC (rev 13226)
+++ twext/trunk/twext/who/test/test_directory.py 2014-04-09 18:35:10 UTC (rev 13227)
@@ -696,27 +696,6 @@
self.assertRaises(InvalidDirectoryRecordError, self.makeRecord, fields)
- def test_initWithNoShortNames(self):
- """
- Directory records must have a short name.
- """
- fields = self.fields_wsanchez.copy()
- del fields[FieldName.shortNames]
- self.assertRaises(InvalidDirectoryRecordError, self.makeRecord, fields)
-
- fields = self.fields_wsanchez.copy()
- fields[FieldName.shortNames] = ()
- self.assertRaises(InvalidDirectoryRecordError, self.makeRecord, fields)
-
- fields = self.fields_wsanchez.copy()
- fields[FieldName.shortNames] = (u"",)
- self.assertRaises(InvalidDirectoryRecordError, self.makeRecord, fields)
-
- fields = self.fields_wsanchez.copy()
- fields[FieldName.shortNames] = (u"wsanchez", u"")
- self.assertRaises(InvalidDirectoryRecordError, self.makeRecord, fields)
-
-
def test_initNormalizeEmailLowercase(self):
"""
Email addresses are normalized to lowercase.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140409/e42c8ba5/attachment-0001.html>
More information about the calendarserver-changes
mailing list