[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