[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