[CalendarServer-changes] [13141] CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/ directory/test/test_principal.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Apr 3 06:14:03 PDT 2014


Revision: 13141
          http://trac.calendarserver.org//changeset/13141
Author:   sagen at apple.com
Date:     2014-04-03 06:14:03 -0700 (Thu, 03 Apr 2014)
Log Message:
-----------
Resource hierarchy and propertyToField test tweaks

Modified Paths:
--------------
    CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/test_principal.py

Modified: CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/test_principal.py
===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/test_principal.py	2014-04-03 02:28:28 UTC (rev 13140)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/test_principal.py	2014-04-03 13:14:03 UTC (rev 13141)
@@ -16,6 +16,7 @@
 from __future__ import print_function
 
 from urllib import quote
+from uuid import UUID
 
 from twisted.internet.defer import inlineCallbacks, returnValue
 from twisted.cred.credentials import UsernamePassword
@@ -68,48 +69,91 @@
 
         DirectoryPrincipalResource.principalURL(),
         """
-        if True:
-            #print("\n -> %s" % (directory.__class__.__name__,))
-            provisioningResource = self.principalRootResource
+        provisioningResource = self.principalRootResource
 
-            provisioningURL = "/principals/"
-            self.assertEquals(
-                provisioningURL,
-                provisioningResource.principalCollectionURL()
+        provisioningURL = "/principals/"
+        self.assertEquals(
+            provisioningURL,
+            provisioningResource.principalCollectionURL()
+        )
+
+        principalCollections = provisioningResource.principalCollections()
+        self.assertEquals(
+            set((provisioningURL,)),
+            set(pc.principalCollectionURL() for pc in principalCollections)
+        )
+
+        recordTypes = set((yield provisioningResource.listChildren()))
+        self.assertEquals(
+            recordTypes,
+            set(
+                [
+                    self.directory.recordTypeToOldName(rt) for rt in
+                    (
+                        self.directory.recordType.user,
+                        self.directory.recordType.group,
+                        self.directory.recordType.location,
+                        self.directory.recordType.resource,
+                        self.directory.recordType.address,
+                    )
+                ]
             )
+        )
 
-            principalCollections = provisioningResource.principalCollections()
+        for recordType in recordTypes:
+            typeResource = yield provisioningResource.getChild(recordType)
+            self.failUnless(
+                isinstance(
+                    typeResource,
+                    DirectoryPrincipalTypeProvisioningResource
+                )
+            )
+
+            typeURL = provisioningURL + recordType + "/"
             self.assertEquals(
-                set((provisioningURL,)),
-                set(pc.principalCollectionURL() for pc in principalCollections)
+                typeURL, typeResource.principalCollectionURL()
             )
 
-            recordTypes = set((yield provisioningResource.listChildren()))
+            principalCollections = typeResource.principalCollections()
             self.assertEquals(
-                recordTypes,
+                set((provisioningURL,)),
                 set(
-                    [
-                        self.directory.recordTypeToOldName(rt) for rt in
-                        self.directory.recordTypes()
-                    ]
+                    pc.principalCollectionURL()
+                    for pc in principalCollections
                 )
             )
 
-            for recordType in recordTypes:
-                typeResource = yield provisioningResource.getChild(recordType)
+            shortNames = set((yield typeResource.listChildren()))
+            # Handle records with mulitple shortNames
+            expected = []
+            for r in (
+                yield self.directory.recordsWithRecordType(
+                    self.directory.oldNameToRecordType(recordType)
+                )
+            ):
+                expected.extend(r.shortNames)
+            self.assertEquals(shortNames, set(expected))
+
+            for shortName in shortNames:
+                #print("     -> %s" % (shortName,))
+                recordResource = yield typeResource.getChild(shortName)
                 self.failUnless(
-                    isinstance(
-                        typeResource,
-                        DirectoryPrincipalTypeProvisioningResource
+                    isinstance(recordResource, DirectoryPrincipalResource)
+                )
+
+                # shortName may be non-ascii
+                recordURL = typeURL + quote(shortName.encode("utf-8")) + "/"
+                self.assertIn(
+                    recordURL,
+                    (
+                        (recordResource.principalURL(),) +
+                        tuple(recordResource.alternateURIs())
                     )
                 )
 
-                typeURL = provisioningURL + recordType + "/"
-                self.assertEquals(
-                    typeURL, typeResource.principalCollectionURL()
+                principalCollections = (
+                    recordResource.principalCollections()
                 )
-
-                principalCollections = typeResource.principalCollections()
                 self.assertEquals(
                     set((provisioningURL,)),
                     set(
@@ -118,46 +162,7 @@
                     )
                 )
 
-                shortNames = set((yield typeResource.listChildren()))
-                # Handle records with mulitple shortNames
-                expected = []
-                for r in (
-                    yield self.directory.recordsWithRecordType(
-                        self.directory.oldNameToRecordType(recordType)
-                    )
-                ):
-                    expected.extend(r.shortNames)
-                self.assertEquals(shortNames, set(expected))
 
-                for shortName in shortNames:
-                    #print("     -> %s" % (shortName,))
-                    recordResource = yield typeResource.getChild(shortName)
-                    self.failUnless(
-                        isinstance(recordResource, DirectoryPrincipalResource)
-                    )
-
-                    # shortName may be non-ascii
-                    recordURL = typeURL + quote(shortName.encode("utf-8")) + "/"
-                    self.assertIn(
-                        recordURL,
-                        (
-                            (recordResource.principalURL(),) +
-                            tuple(recordResource.alternateURIs())
-                        )
-                    )
-
-                    principalCollections = (
-                        recordResource.principalCollections()
-                    )
-                    self.assertEquals(
-                        set((provisioningURL,)),
-                        set(
-                            pc.principalCollectionURL()
-                            for pc in principalCollections
-                        )
-                    )
-
-
     @inlineCallbacks
     def test_allRecords(self):
         """
@@ -921,7 +926,7 @@
             (
                 "urn:ietf:params:xml:ns:caldav", "calendar-user-address-set",
                 "urn:uuid:AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
-                "guid", "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"
+                "guid", UUID("AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA")
             ),
             (
                 "urn:ietf:params:xml:ns:caldav", "calendar-user-address-set",
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140403/d2a724ff/attachment.html>


More information about the calendarserver-changes mailing list