[CalendarServer-changes] [805] CalendarServer/trunk/twistedcaldav/directory

source_changes at macosforge.org source_changes at macosforge.org
Tue Dec 12 07:36:42 PST 2006


Revision: 805
          http://trac.macosforge.org/projects/calendarserver/changeset/805
Author:   cdaboo at apple.com
Date:     2006-12-12 07:36:41 -0800 (Tue, 12 Dec 2006)

Log Message:
-----------
Make sure we get the realm from the SQL DB - not the XML file which may only be specfied once. Added a test case for this.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/sqldb.py
    CalendarServer/trunk/twistedcaldav/directory/test/test_sqldb.py

Modified: CalendarServer/trunk/twistedcaldav/directory/sqldb.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/sqldb.py	2006-12-12 05:33:11 UTC (rev 804)
+++ CalendarServer/trunk/twistedcaldav/directory/sqldb.py	2006-12-12 15:36:41 UTC (rev 805)
@@ -59,8 +59,6 @@
     dbFilename = ".db.accounts"
     dbFormatVersion = "2"
 
-    realmName = None
-
     def __init__(self, path):
         path = os.path.join(path, SQLDirectoryManager.dbFilename)
         super(SQLDirectoryManager, self).__init__(path, SQLDirectoryManager.dbFormatVersion)
@@ -72,8 +70,6 @@
         if os.path.exists(self.dbpath):
             os.remove(self.dbpath)
 
-        self.realmName = parser.realm
-
         self._db_execute("insert into SERVICE (REALM) values (:1)", parser.realm)
 
         # Now add records to db
@@ -82,6 +78,12 @@
                 self._add_to_db(entry)
         self._db_commit()
 
+    def getRealm(self):
+        for realm in self._db_execute("select REALM from SERVICE"):
+            return realm[0].decode("utf-8")
+        else:
+            return ""
+
     def listRecords(self, recordType):
         # Get each account record
         for (shortName, password, name) in self._db_execute(
@@ -258,7 +260,7 @@
     XML based implementation of L{IDirectoryService}.
     """
     baseGUID = "8256E464-35E0-4DBB-A99C-F0E30C231675"
-    realmName = property(lambda self: self.manager.realmName)
+    realmName = None
 
     def __repr__(self):
         return "<%s %r: %r>" % (self.__class__.__name__, self.realmName, self.manager.dbpath)
@@ -272,6 +274,7 @@
         self.manager = SQLDirectoryManager(dbParentPath.path)
         if xmlFile:
             self.manager.loadFromXML(xmlFile)
+        self.realmName = self.manager.getRealm()
 
     def recordTypes(self):
         recordTypes = ("user", "group", "resource")

Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_sqldb.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_sqldb.py	2006-12-12 05:33:11 UTC (rev 804)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_sqldb.py	2006-12-12 15:36:41 UTC (rev 805)
@@ -42,3 +42,10 @@
     def test_verifyCredentials_digest(self):
         super(SQLDB, self).test_verifyCredentials_digest()
     test_verifyCredentials_digest.todo = ""
+
+    def test_verifyRealmFromDB(self):
+
+        def _service():
+            return SQLDirectoryService(os.getcwd(), None)
+
+        self.assertEquals(_service().realmName, "Test")

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061212/21a57e72/attachment.html


More information about the calendarserver-changes mailing list