[CalendarServer-changes] [4649] CalendarServer/branches/more-deferreds-3/twistedcaldav/directory/ test/test_principal.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Oct 27 17:32:44 PDT 2009


Revision: 4649
          http://trac.macosforge.org/projects/calendarserver/changeset/4649
Author:   glyph at apple.com
Date:     2009-10-27 17:32:43 -0700 (Tue, 27 Oct 2009)
Log Message:
-----------
remove dependence on apache directory service and tests

Modified Paths:
--------------
    CalendarServer/branches/more-deferreds-3/twistedcaldav/directory/test/test_principal.py

Modified: CalendarServer/branches/more-deferreds-3/twistedcaldav/directory/test/test_principal.py
===================================================================
--- CalendarServer/branches/more-deferreds-3/twistedcaldav/directory/test/test_principal.py	2009-10-28 00:30:36 UTC (rev 4648)
+++ CalendarServer/branches/more-deferreds-3/twistedcaldav/directory/test/test_principal.py	2009-10-28 00:32:43 UTC (rev 4649)
@@ -17,7 +17,7 @@
 import os
 
 from twisted.cred.credentials import UsernamePassword
-from twisted.internet.defer import inlineCallbacks, gatherResults, returnValue
+from twisted.internet.defer import inlineCallbacks, returnValue
 from twisted.web2.dav import davxml
 from twisted.web2.dav.fileop import rmdir
 from twisted.web2.dav.resource import AccessDeniedError
@@ -25,11 +25,9 @@
 
 from twistedcaldav.static import CalendarHomeProvisioningFile
 from twistedcaldav.config import config
-from twistedcaldav.directory.apache import BasicDirectoryService, DigestDirectoryService
 from twistedcaldav.directory.directory import DirectoryService
-from twistedcaldav.directory.test.test_apache import basicUserFile, digestUserFile, groupFile, digestRealm
 from twistedcaldav.directory.xmlfile import XMLDirectoryService
-from twistedcaldav.directory.test.test_xmlfile import xmlFile
+from twistedcaldav.directory.test.test_xmlfile import xmlFile, XMLFile
 from twistedcaldav.directory.principal import DirectoryPrincipalProvisioningResource
 from twistedcaldav.directory.principal import DirectoryPrincipalTypeProvisioningResource
 from twistedcaldav.directory.principal import DirectoryPrincipalResource
@@ -48,20 +46,8 @@
         super(ProvisionedPrincipals, self).setUp()
 
         self.directoryServices = (
-            BasicDirectoryService(
-                {
-                    'realmName' : digestRealm,
-                    'userFile' : basicUserFile,
-                    'groupFile' : groupFile,
-                }
-            ),
-            DigestDirectoryService(
-                {
-                    'realmName' : digestRealm,
-                    'userFile' : digestUserFile,
-                    'groupFile' : groupFile,
-                }
-            ),
+            # realm 'Test' with 'digest' users
+            # realm 'Test' with 'basic' users
             XMLDirectoryService(
                 {
                     'xmlFile' : xmlFile,
@@ -204,12 +190,31 @@
             self.failIf(principal is None)
             self.assertEquals(record, principal.record)
 
+
     @inlineCallbacks
+    def _warmCache(self):
+        """
+        Load some records into the cache so that listRecords() will actually
+        return something from an XMLDirectoryService.
+
+        XXX TODO this method shouldn't really be necessary; instead, we should
+        be able to express the appropriate 'list' functionality to the
+        IDirectoryService API and not rely on XMLDirectoryService's caching
+        behavior.
+        """
+        for svc in self.directoryServices:
+            for user in XMLFile.users:
+                record = (yield svc.recordWithShortName(DirectoryService.recordType_users, user))
+
+
+    @inlineCallbacks
     def test_principalForCalendarUserAddress(self):
         """
         DirectoryPrincipalProvisioningResource.principalForCalendarUserAddress()
         """
-        for provisioningResource, recordType, recordResource, record in (yield self._allRecords()):
+
+        yield self._warmCache()
+        for (provisioningResource, recordType, recordResource, record) in (yield self._allRecords()):
             principalURL = recordResource.principalURL()
             if principalURL.endswith("/"):
                 alternateURL = principalURL[:-1]
@@ -347,7 +352,6 @@
         DirectoryPrincipalResource.scheduleInboxURL(),
         DirectoryPrincipalResource.scheduleOutboxURL()
         """
-        ds = []
         # No calendar home provisioner should result in no calendar homes.
         for provisioningResource, recordType, recordResource, record in (yield self._allRecords()):
             if record.enabledForCalendaring:
@@ -442,7 +446,7 @@
             def qname(self):
                 return self.ns, self.name
 
-        provisioningResource = self.principalRootResources['BasicDirectoryService']
+        provisioningResource = self.principalRootResources['XMLDirectoryService']
 
         expected = (
             ("DAV:", "displayname", "morgen", "fullName", "morgen"),
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091027/2376c41a/attachment.html>


More information about the calendarserver-changes mailing list