[CalendarServer-changes] [591]
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/
directory
source_changes at macosforge.org
source_changes at macosforge.org
Mon Nov 27 16:32:29 PST 2006
Revision: 591
http://trac.macosforge.org/projects/calendarserver/changeset/591
Author: wsanchez at apple.com
Date: 2006-11-27 16:32:28 -0800 (Mon, 27 Nov 2006)
Log Message:
-----------
Make all arguments to DirectoryRecord's required.
Add digest tests to Apache directory.
Modified Paths:
--------------
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/__init__.py
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/apache.py
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/appleopendirectory.py
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/directory.py
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/test/test_apache.py
Modified: CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/__init__.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/__init__.py 2006-11-27 23:56:48 UTC (rev 590)
+++ CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/__init__.py 2006-11-28 00:32:28 UTC (rev 591)
@@ -27,6 +27,5 @@
"idirectory",
"resource",
"sqldb",
- "xmlaccounrsparser",
"xmlfile",
]
Modified: CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/apache.py 2006-11-27 23:56:48 UTC (rev 590)
+++ CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/apache.py 2006-11-28 00:32:28 UTC (rev 591)
@@ -128,11 +128,12 @@
"""
def __init__(self, service, recordType, shortName):
super(AbstractDirectoryRecord, self).__init__(
- service = service,
- recordType = recordType,
- guid = None,
- shortName = shortName,
- fullName = None,
+ service = service,
+ recordType = recordType,
+ guid = None,
+ shortName = shortName,
+ fullName = None,
+ calendarUserAddresses = (),
)
class AbstractUserRecord(AbstractDirectoryRecord):
Modified: CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/appleopendirectory.py 2006-11-27 23:56:48 UTC (rev 590)
+++ CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/appleopendirectory.py 2006-11-28 00:32:28 UTC (rev 591)
@@ -113,12 +113,13 @@
memberGUIDs = ()
records[shortName] = OpenDirectoryRecord(
- service = self,
- recordType = recordType,
- guid = guid,
- shortName = shortName,
- fullName = None, # FIXME: Need to get this attribute
- memberGUIDs = memberGUIDs,
+ service = self,
+ recordType = recordType,
+ guid = guid,
+ shortName = shortName,
+ fullName = None, # FIXME: Need to get this attribute
+ memberGUIDs = memberGUIDs,
+ calendarUserAddresses = (), # FIXME: Should be able to look up email, etc.
)
if records:
Modified: CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/directory.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/directory.py 2006-11-27 23:56:48 UTC (rev 590)
+++ CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/directory.py 2006-11-28 00:32:28 UTC (rev 591)
@@ -75,9 +75,16 @@
implements(IDirectoryRecord)
def __repr__(self):
- return "<%s[%s@%s] %s(%s) %r>" % (self.__class__.__name__, self.recordType, self.service, self.guid, self.shortName, self.fullName)
+ return "<%s[%s@%s] %s(%s) %r>" % (
+ self.__class__.__name__,
+ self.recordType,
+ self.service,
+ self.guid,
+ self.shortName,
+ self.fullName
+ )
- def __init__(self, service, recordType, guid, shortName, fullName=None, calendarUserAddresses=None):
+ def __init__(self, service, recordType, guid, shortName, fullName, calendarUserAddresses):
self.service = service
self.recordType = recordType
self.guid = guid
Modified: CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/test/test_apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/test/test_apache.py 2006-11-27 23:56:48 UTC (rev 590)
+++ CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/test/test_apache.py 2006-11-28 00:32:28 UTC (rev 591)
@@ -21,7 +21,7 @@
from twisted.python.filepath import FilePath
import twistedcaldav.directory.test.util
-from twistedcaldav.directory.apache import BasicDirectoryService
+from twistedcaldav.directory.apache import BasicDirectoryService, DigestDirectoryService
digestRealm = "Test"
@@ -31,10 +31,7 @@
# FIXME: Add tests for GUID hooey, once we figure out what that means here
-class Basic (twistedcaldav.directory.test.util.BasicTestCase):
- """
- Test Apache-Compatible UserFile/GroupFile directory implementation.
- """
+class Apache (object):
recordTypes = set(("user", "group"))
users = {
@@ -51,31 +48,59 @@
"left_coast" : ("wsanchez", "dreid", "lecroy"),
}
- def basicUserFile(self):
- if not hasattr(self, "_basicUserFile"):
- self._basicUserFile = FilePath(self.mktemp())
- basicUserFile.copyTo(self._basicUserFile)
- return self._basicUserFile
+ serviceClass = BasicDirectoryService
+ def service(self):
+ return self.serviceClass(self.userFile(), self.groupFile())
+
+ userFileName = None
+
+ def userFile(self):
+ if not hasattr(self, "_userFile"):
+ if self.userFileName is None:
+ raise NotImplementedError("Test subclass needs to specify userFileName.")
+ self._userFile = FilePath(self.mktemp())
+ basicUserFile.copyTo(self._userFile)
+ return self._userFile
+
def groupFile(self):
if not hasattr(self, "_groupFile"):
self._groupFile = FilePath(self.mktemp())
groupFile.copyTo(self._groupFile)
return self._groupFile
- def service(self):
- return BasicDirectoryService(self.basicUserFile(), self.groupFile())
+ def test_changedGroupFile(self):
+ self.groupFile().open("w").write("grunts: wsanchez\n")
+ self.assertEquals(self.recordNames("group"), set(("grunts",)))
def test_recordTypes_user(self):
"""
IDirectoryService.recordTypes(userFile)
"""
- self.assertEquals(set(BasicDirectoryService(basicUserFile).recordTypes()), set(("user",)))
+ self.assertEquals(set(self.serviceClass(self.userFile()).recordTypes()), set(("user",)))
+ userEntry = None
+
def test_changedUserFile(self):
- self.basicUserFile().open("w").write("wsanchez:Cytm0Bwm7CPJs\n")
- self.assertEquals(self.recordNames("user"), set(("wsanchez",)))
+ if self.userEntry is None:
+ raise NotImplementedError("Test subclass needs to specify userEntry.")
+ self.userFile().open("w").write(self.userEntry[1])
+ self.assertEquals(self.recordNames("user"), set((self.userEntry[0],)))
- def test_changedGroupFile(self):
- self.groupFile().open("w").write("grunts: wsanchez\n")
- self.assertEquals(self.recordNames("group"), set(("grunts",)))
+class Basic (Apache, twistedcaldav.directory.test.util.BasicTestCase):
+ """
+ Test Apache-Compatible UserFile/GroupFile directory implementation.
+ """
+ userFileName = basicUserFile
+ userEntry = ("wsanchez", "wsanchez:Cytm0Bwm7CPJs\n")
+
+class Digest (Apache, twistedcaldav.directory.test.util.DigestTestCase):
+ """
+ Test Apache-Compatible DigestFile/GroupFile directory implementation.
+ """
+ userFileName = digestUserFile
+ userEntry = ("wsanchez", "wsanchez:Test:decbe233ab3d997cacc2fc058b19db8c\n")
+
+ def test_verifyCredentials_digest(self):
+ raise NotImplementedError() # Use super's implementation
+ test_verifyCredentials_digest.todo = "unimplemented"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061127/a54c188a/attachment.html
More information about the calendarserver-changes
mailing list