[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