[CalendarServer-changes] [492] CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/ directory

source_changes at macosforge.org source_changes at macosforge.org
Thu Nov 16 16:29:43 PST 2006


Revision: 492
          http://trac.macosforge.org/projects/calendarserver/changeset/492
Author:   wsanchez at apple.com
Date:     2006-11-16 16:29:43 -0800 (Thu, 16 Nov 2006)

Log Message:
-----------
Don't export XMLFileRecord.

XMLFileService -> XMLDirectoryService to be consistent.

User passwords that aren't the same as the usernames, for a possibly
more reliable test.

Remove <calendar> entries from XML.

super() is your friend.

Modified Paths:
--------------
    CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py
    CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/accounts.xml
    CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py
    CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_xmlfile.py
    CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py

Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py	2006-11-16 21:30:47 UTC (rev 491)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/apache.py	2006-11-17 00:29:43 UTC (rev 492)
@@ -41,6 +41,8 @@
         return "<%s %r %r>" % (self.__class__.__name__, self.userFile, self.groupFile)
 
     def __init__(self, userFile, groupFile=None):
+        super(AbstractDirectoryService, self).__init__()
+
         if type(userFile) is str:
             userFile = FilePath(userFile)
         if type(groupFile) is str:

Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/accounts.xml
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/accounts.xml	2006-11-16 21:30:47 UTC (rev 491)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/accounts.xml	2006-11-17 00:29:43 UTC (rev 492)
@@ -21,48 +21,43 @@
 <accounts>
   <user>
     <uid>admin</uid>
-    <pswd>admin</pswd>
+    <pswd>nimda</pswd>
     <name>Super User</name>
   </user>
   <user>
     <uid>proxy</uid>
-    <pswd>proxy</pswd>
+    <pswd>yxorp</pswd>
     <name>User who can authorize as someone else</name>
-    <canproxy/>
+    <canproxy/> <!-- FIXME: Is the directory the right place to configure this bit? -->
   </user>
   <user>
     <uid>wsanchez</uid>
-    <pswd>wsanchez</pswd>
+    <pswd>zehcnasw</pswd>
     <name>Wilfredo Sanchez</name>
     <cuaddr>mailto:wsanchez at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </user>
   <user>
     <uid>cdaboo</uid>
-    <pswd>cdaboo</pswd>
+    <pswd>oobadc</pswd>
     <name>Cyrus Daboo</name>
     <cuaddr>mailto:cdaboo at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </user>
   <user>
     <uid>lecroy</uid>
-    <pswd>lecroy</pswd>
+    <pswd>yorcel</pswd>
     <name>Chris Lecroy</name>
     <cuaddr>mailto:lecroy at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </user>
   <user>
     <uid>dreid</uid>
-    <pswd>dreid</pswd>
+    <pswd>dierd</pswd>
     <name>David Reid</name>
     <cuaddr>mailto:dreid at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </user>
-  <user repeat='2'>
+  <user repeat="2">
     <uid>user%02d</uid>
-    <pswd>user%02d</pswd>
+    <pswd>%02duser</pswd>
     <name>User %02d</name>
-    <calendar>calendar</calendar>
   </user>
   <group>
     <uid>managers</uid>
@@ -105,20 +100,17 @@
     <pswd>mercury</pswd>
     <name>Mecury Seven</name>
     <cuaddr>mailto:mercury at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </resource>
   <resource>
     <uid>gemini</uid>
     <pswd>gemini</pswd>
     <name>Gemini Twelve</name>
     <cuaddr>mailto:gemini at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </resource>
   <resource>
     <uid>apollo</uid>
     <pswd>apollo</pswd>
     <name>Apollo Eleven</name>
     <cuaddr>mailto:apollo at example.com</cuaddr>
-    <calendar>calendar</calendar>
   </resource>
 </accounts>

Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py	2006-11-16 21:30:47 UTC (rev 491)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_apache.py	2006-11-17 00:29:43 UTC (rev 492)
@@ -24,9 +24,9 @@
 from twistedcaldav.directory.apache import BasicDirectoryService
 
 users = {
-    "wsanchez": "foo" ,
-    "cdaboo"  : "bar" ,
-    "dreid"   : "baz" ,
+    "wsanchez": "foo",
+    "cdaboo"  : "bar",
+    "dreid"   : "baz",
     "lecroy"  : "quux",
 }
 

Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_xmlfile.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_xmlfile.py	2006-11-16 21:30:47 UTC (rev 491)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/test/test_xmlfile.py	2006-11-17 00:29:43 UTC (rev 492)
@@ -21,18 +21,18 @@
 import twisted.trial.unittest
 from twisted.cred.credentials import UsernamePassword
 
-from twistedcaldav.directory.xmlfile import XMLFileService
+from twistedcaldav.directory.xmlfile import XMLDirectoryService
 
-users = set(
-     ("admin"   ,
-      "proxy"   ,
-      "wsanchez",
-      "cdaboo"  ,
-      "lecroy"  ,
-      "dreid"   ,
-      "user01"  ,
-      "user02"  ,)
-)
+users = {
+    "admin"   : "nimda",
+    "proxy"   : "yxorp",
+    "wsanchez": "zehcnasw",
+    "cdaboo"  : "oobadc",
+    "lecroy"  : "yorcel",
+    "dreid"   : "dierd",
+    "user01"  : "01user",
+    "user02"  : "02user",
+}
 
 groups = {
     "managers"   : ("lecroy",),
@@ -41,13 +41,13 @@
     "left_coast" : ("wsanchez", "dreid", "lecroy"),
 }
 
-resources = set(
-    ("mercury",
-     "gemini" ,
-     "apollo" ,)
-)
+resources = set((
+    "mercury",
+    "gemini",
+    "apollo",
+))
 
-xmlFile  = os.path.join(os.path.dirname(__file__), "accounts.xml")
+xmlFile = os.path.join(os.path.dirname(__file__), "accounts.xml")
 
 # FIXME: Add tests for GUID hooey, once we figure out what that means here
 
@@ -57,55 +57,55 @@
     """
     def test_recordTypes(self):
         """
-        XMLFileService.recordTypes(xmlFile)
+        XMLDirectoryService.recordTypes(xmlFile)
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         self.assertEquals(set(service.recordTypes()), set(("user", "group", "resource")))
 
     def test_listRecords_user(self):
         """
-        XMLFileService.listRecords("user")
+        XMLDirectoryService.listRecords("user")
         """
-        service = XMLFileService(xmlFile)
-        self.assertEquals(set(service.listRecords("user")), users)
+        service = XMLDirectoryService(xmlFile)
+        self.assertEquals(set(service.listRecords("user")), set(users.keys()))
 
     def test_listRecords_group(self):
         """
-        XMLFileService.listRecords("group")
+        XMLDirectoryService.listRecords("group")
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         self.assertEquals(set(service.listRecords("group")), set(groups.keys()))
 
     def test_listRecords_resources(self):
         """
-        XMLFileService.listRecords("resource")
+        XMLDirectoryService.listRecords("resource")
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         self.assertEquals(set(service.listRecords("resource")), resources)
 
     def test_recordWithShortName_user(self):
         """
-        XMLFileService.recordWithShortName("user")
+        XMLDirectoryService.recordWithShortName("user")
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         for user in users:
             record = service.recordWithShortName("user", user)
             self.assertEquals(record.shortName, user)
 
     def test_recordWithShortName_group(self):
         """
-        XMLFileService.recordWithShortName("group")
+        XMLDirectoryService.recordWithShortName("group")
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         for group in groups:
             groupRecord = service.recordWithShortName("group", group)
             self.assertEquals(groupRecord.shortName, group)
 
     def test_recordWithShortName_resource(self):
         """
-        XMLFileService.recordWithShortName("resource")
+        XMLDirectoryService.recordWithShortName("resource")
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         for resource in resources:
             resourceRecord = service.recordWithShortName("resource", resource)
             self.assertEquals(resourceRecord.shortName, resource)
@@ -114,7 +114,7 @@
         """
         FileDirectoryRecord.members()
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         for group in groups:
             groupRecord = service.recordWithShortName("group", group)
             self.assertEquals(set(m.shortName for m in groupRecord.members()), set(groups[group]))
@@ -123,7 +123,7 @@
         """
         FileDirectoryRecord.groups()
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         for user in users:
             userRecord = service.recordWithShortName("user", user)
             self.assertEquals(set(g.shortName for g in userRecord.groups()), set(g for g in groups if user in groups[g]))
@@ -132,7 +132,7 @@
         """
         FileDirectoryRecord.verifyCredentials()
         """
-        service = XMLFileService(xmlFile)
+        service = XMLDirectoryService(xmlFile)
         for user in users:
             userRecord = service.recordWithShortName("user", user)
-            self.failUnless(userRecord.verifyCredentials(UsernamePassword(user, user)))
+            self.failUnless(userRecord.verifyCredentials(UsernamePassword(user, users[user])))

Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py	2006-11-16 21:30:47 UTC (rev 491)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py	2006-11-17 00:29:43 UTC (rev 492)
@@ -17,14 +17,12 @@
 ##
 from twistedcaldav.directory.xmlaccountsparser import XMLAccountsParser
 
-
 """
 XML based user/group/resource directory service implementation.
 """
 
 __all__ = [
-    "XMLFileService",
-    "XMLFileRecord",
+    "XMLDirectoryService",
 ]
 
 from twisted.cred.credentials import UsernamePassword
@@ -32,7 +30,7 @@
 
 from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord
 
-class XMLFileService(DirectoryService):
+class XMLDirectoryService(DirectoryService):
     """
     XML based implementation of L{IDirectoryService}.
     """
@@ -40,6 +38,8 @@
         return "<%s %r>" % (self.__class__.__name__, self.xmlFile)
 
     def __init__(self, xmlFile):
+        super(XMLDirectoryService, self).__init__()
+
         if type(xmlFile) is str:
             xmlFile = FilePath(xmlFile)
 
@@ -56,7 +56,7 @@
     def recordWithShortName(self, recordType, shortName):
         for entryShortName, xmlprincipal in self._entriesForRecordType(recordType):
             if entryShortName == shortName:
-                return XMLFileRecord(
+                return XMLDirectoryRecord(
                     service       = self,
                     recordType    = recordType,
                     shortName     = entryShortName,
@@ -73,20 +73,22 @@
             if entry.recordType == recordType:
                  yield entry.uid, entry
 
-class XMLFileRecord(DirectoryRecord):
+class XMLDirectoryRecord(DirectoryRecord):
     """
     XML based implementation implementation of L{IDirectoryRecord}.
     """
     def __init__(self, service, recordType, shortName, xmlPrincipal):
+        super(XMLDirectoryRecord, self).__init__(
+            service    = service,
+            recordType = recordType,
+            guid       = None,
+            shortName  = shortName,
+            fullName   = xmlPrincipal.name,
+        )
 
-        self.service        = service
-        self.recordType     = recordType
-        self.guid           = None
-        self.shortName      = shortName
-        self.fullName       = xmlPrincipal.name
-        self.clearPassword  = xmlPrincipal.pswd
-        self._members       = xmlPrincipal.members
-        self._groups        = xmlPrincipal.groups
+        self.password = xmlPrincipal.pswd
+        self._members = xmlPrincipal.members
+        self._groups  = xmlPrincipal.groups
 
     def members(self):
         for shortName in self._members:
@@ -98,6 +100,6 @@
 
     def verifyCredentials(self, credentials):
         if isinstance(credentials, UsernamePassword):
-            return credentials.password == self.clearPassword
+            return credentials.password == self.password
 
-        return super(XMLFileRecord, self).verifyCredentials(credentials)
+        return super(XMLDirectoryRecord, self).verifyCredentials(credentials)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061116/4e38098d/attachment.html


More information about the calendarserver-changes mailing list