[CalendarServer-changes] [4796] CalendarServer/branches/release/CalendarServer-2.4-dev

source_changes at macosforge.org source_changes at macosforge.org
Fri Nov 20 15:42:56 PST 2009


Revision: 4796
          http://trac.macosforge.org/projects/calendarserver/changeset/4796
Author:   glyph at apple.com
Date:     2009-11-20 15:42:55 -0800 (Fri, 20 Nov 2009)
Log Message:
-----------
Pulled up r4789 from trunk.

Revision Links:
--------------
    http://trac.macosforge.org/projects/calendarserver/changeset/4789

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/principal.py
    CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py

Property Changed:
----------------
    CalendarServer/branches/release/CalendarServer-2.4-dev/


Property changes on: CalendarServer/branches/release/CalendarServer-2.4-dev
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4439-4440,4448,4450,4464,4473-4475,4602,4711-4712,4716-4717,4722,4739-4742,4748-4752,4758,4760,4762,4773,4782,4784,4787
   + /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4439-4440,4448,4450,4464,4473-4475,4602,4711-4712,4716-4717,4722,4739-4742,4748-4752,4758,4760,4762,4773,4782,4784,4787,4789

Modified: CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/principal.py	2009-11-20 23:39:04 UTC (rev 4795)
+++ CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/principal.py	2009-11-20 23:42:55 UTC (rev 4796)
@@ -686,6 +686,13 @@
 
             proxyFors.update(proxies)
 
+        uids = set()
+        for principal in tuple(proxyFors):
+            if principal.principalUID() in uids:
+                proxyFors.remove(principal)
+            else:
+                uids.add(principal.principalUID())
+
         returnValue(proxyFors)
 
     def _getRelatives(self, method, record=None, relatives=None, records=None, proxy=None, infinity=False):

Modified: CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2009-11-20 23:39:04 UTC (rev 4795)
+++ CalendarServer/branches/release/CalendarServer-2.4-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2009-11-20 23:42:55 UTC (rev 4796)
@@ -118,8 +118,8 @@
     def _proxyForTest(self, recordType, recordName, expectedProxies, read_write):
         principal = self._getPrincipalByShortName(recordType, recordName)
         proxies = (yield principal.proxyFor(read_write))
-        proxies = set([principal.displayName() for principal in proxies])
-        self.assertEquals(proxies, set(expectedProxies))
+        proxies = sorted([principal.displayName() for principal in proxies])
+        self.assertEquals(proxies, sorted(expectedProxies))
 
     def test_groupMembersRegular(self):
         """
@@ -312,6 +312,21 @@
             True
         )
 
+    @inlineCallbacks
+    def test_proxyForDuplicates(self):
+
+        yield self._addProxy(
+            (DirectoryService.recordType_locations, "gemini",),
+            "calendar-proxy-write",
+            (DirectoryService.recordType_groups, "grunts",),
+        )
+
+        yield self._proxyForTest(
+            DirectoryService.recordType_users, "wsanchez", 
+            ("Mecury Seven", "Gemini Twelve", "Apollo Eleven", "Orion", ),
+            True
+        )
+
     def test_readOnlyProxyFor(self):
 
         return self._proxyForTest(
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091120/da57e84a/attachment.html>


More information about the calendarserver-changes mailing list