Revision: 805 http://trac.macosforge.org/projects/calendarserver/changeset/805 Author: cdaboo@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")