[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