[CalendarServer-changes] [1385] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 14 13:45:05 PDT 2007


Revision: 1385
          http://trac.macosforge.org/projects/calendarserver/changeset/1385
Author:   dreid at apple.com
Date:     2007-03-14 13:45:04 -0700 (Wed, 14 Mar 2007)

Log Message:
-----------
Make sure _init_ copies the defaults and add an explicit method for overwriting the defaults entirely

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/config.py
    CalendarServer/trunk/twistedcaldav/test/test_config.py

Modified: CalendarServer/trunk/twistedcaldav/config.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/config.py	2007-03-14 20:21:45 UTC (rev 1384)
+++ CalendarServer/trunk/twistedcaldav/config.py	2007-03-14 20:45:04 UTC (rev 1385)
@@ -158,7 +158,7 @@
 
 class Config (object):
     def __init__(self, defaults):
-        self._defaults = defaults
+        self._defaults = copy.deepcopy(defaults)
         self._data = copy.deepcopy(defaults)
         self._configFile = None
 
@@ -172,6 +172,9 @@
         self._defaults = _mergeData(self._defaults, items)
         self.update(items)
 
+    def setDefaults(self, defaults):
+        self._defaults = copy.deepcopy(defaults)
+
     def __getattr__(self, attr):
         if attr in self._data:
             return self._data[attr]

Modified: CalendarServer/trunk/twistedcaldav/test/test_config.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_config.py	2007-03-14 20:21:45 UTC (rev 1384)
+++ CalendarServer/trunk/twistedcaldav/test/test_config.py	2007-03-14 20:45:04 UTC (rev 1385)
@@ -34,6 +34,11 @@
 </plist>
 """
 
+def _testVerbose(testCase):
+    from twistedcaldav.config import config
+    testCase.assertEquals(config.Verbose, True)
+
+
 class ConfigTests(unittest.TestCase):
     def setUp(self):
         config.update(defaultConfig)
@@ -44,29 +49,26 @@
         for key, value in defaultConfig.iteritems():
             self.assertEquals(getattr(config, key), value)
 
-    def testParseConfig(self):
+    def testLoadConfig(self):
         self.assertEquals(config.Verbose, False)
 
-        parseConfig(self.testConfig)
+        config.loadConfig(self.testConfig)
 
         self.assertEquals(config.Verbose, True)
 
     def testScoping(self):
-        def getVerbose():
-            self.assertEquals(config.Verbose, True)
-
         self.assertEquals(config.Verbose, False)
 
-        parseConfig(self.testConfig)
+        config.loadConfig(self.testConfig)
 
         self.assertEquals(config.Verbose, True)
 
-        getVerbose()
+        _testVerbose(self)
 
     def testReloading(self):
         self.assertEquals(config.HTTPPort, -1)
 
-        parseConfig(self.testConfig)
+        config.loadConfig(self.testConfig)
 
         self.assertEquals(config.HTTPPort, 8008)
 
@@ -79,7 +81,7 @@
     def testUpdateAndReload(self):
         self.assertEquals(config.HTTPPort, -1)
 
-        parseConfig(self.testConfig)
+        config.loadConfig(self.testConfig)
 
         self.assertEquals(config.HTTPPort, 8008)
 
@@ -106,7 +108,7 @@
     def testUpdateDefaults(self):
         self.assertEquals(config.SSLPort, -1)
 
-        parseConfig(self.testConfig)
+        config.loadConfig(self.testConfig)
 
         config.updateDefaults({'SSLPort': 8009})
 
@@ -122,3 +124,17 @@
         config.updateDefaults({'MultiProcess': {}})
 
         self.assertEquals(config._defaults["MultiProcess"]["LoadBalancer"]["Enabled"], True)
+
+    def testSetDefaults(self):
+        config.updateDefaults({'SSLPort': 8443})
+
+        config.setDefaults(defaultConfig)
+
+        config.reload()
+
+        self.assertEquals(config.SSLPort, -1)
+
+    def testCopiesDefaults(self):
+        config.updateDefaults({'Foo': 'bar'})
+
+        self.assertNotIn('Foo', defaultConfig)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070314/79e49b7f/attachment.html


More information about the calendarserver-changes mailing list