[CalendarServer-changes] [4765] CalendarServer/trunk/twistedcaldav/directory
source_changes at macosforge.org
source_changes at macosforge.org
Wed Nov 18 11:18:16 PST 2009
Revision: 4765
http://trac.macosforge.org/projects/calendarserver/changeset/4765
Author: sagen at apple.com
Date: 2009-11-18 11:18:15 -0800 (Wed, 18 Nov 2009)
Log Message:
-----------
Don't query Groups record type when querying EMailAddress
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py
Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py 2009-11-18 19:12:38 UTC (rev 4764)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py 2009-11-18 19:18:15 UTC (rev 4765)
@@ -479,9 +479,10 @@
listRecordTypes.append(dsattributes.kDSStdRecordTypeUsers)
elif recordType == DirectoryService.recordType_groups:
- listRecordTypes.append(dsattributes.kDSStdRecordTypeGroups)
- attrs.append(dsattributes.kDSNAttrGroupMembers)
- attrs.append(dsattributes.kDSNAttrNestedGroups)
+ if queryattr != dsattributes.kDSNAttrEMailAddress:
+ listRecordTypes.append(dsattributes.kDSStdRecordTypeGroups)
+ attrs.append(dsattributes.kDSNAttrGroupMembers)
+ attrs.append(dsattributes.kDSNAttrNestedGroups)
elif recordType == DirectoryService.recordType_locations:
if queryattr != dsattributes.kDSNAttrEMailAddress:
Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py 2009-11-18 19:12:38 UTC (rev 4764)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_opendirectory.py 2009-11-18 19:18:15 UTC (rev 4765)
@@ -229,3 +229,17 @@
self.service().queryDirectory(recordTypes, self.service().INDEX_TYPE_GUID, "987654321", lookupMethod=lookupMethod)
self.assertFalse(self.service().recordWithGUID("1234567890"))
self.assertTrue(self.service().recordWithGUID("987654321"))
+
+ def test_queryDirectoryEmailAddresses(self):
+ """ Test to ensure we only ask for users when email address is
+ part of the query """
+
+ def lookupMethod(obj, attr, value, matchType, casei, recordType, attributes, count=0):
+
+ if recordType != ['dsRecTypeStandard:Users']:
+ raise ValueError
+
+ return []
+
+ recordTypes = [DirectoryService.recordType_users, DirectoryService.recordType_groups, DirectoryService.recordType_locations, DirectoryService.recordType_resources]
+ self.service().queryDirectory(recordTypes, self.service().INDEX_TYPE_CUA, "mailto:user1 at example.com", lookupMethod=lookupMethod)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091118/8144850f/attachment.html>
More information about the calendarserver-changes
mailing list