aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSix <unknown>2010-04-20 21:46:25 -0400
committerSix <unknown>2010-04-20 21:46:25 -0400
commitb3123bd288380bea9e0796f187eed7abf0ab95ea (patch)
treedf1d4a4d538f94f6370b61cda172eea15cd146f0
parent5eb1f9bdf1ce4703dd867bcc46a50621d48f0cb4 (diff)
downloaddodai-macsupport-b3123bd288380bea9e0796f187eed7abf0ab95ea.tar.bz2
dodai-macsupport-b3123bd288380bea9e0796f187eed7abf0ab95ea.tar.xz
dodai-macsupport-b3123bd288380bea9e0796f187eed7abf0ab95ea.zip
added dodai.config.databases support and removed dodai.config.dbs support
-rw-r--r--dodai/config/__init__.py50
-rw-r--r--test/test_config/test_init.py55
2 files changed, 50 insertions, 55 deletions
diff --git a/dodai/config/__init__.py b/dodai/config/__init__.py
index 9eac0da..b976dca 100644
--- a/dodai/config/__init__.py
+++ b/dodai/config/__init__.py
@@ -16,7 +16,6 @@
16# along with Dodai. If not, see <http://www.gnu.org/licenses/>. 16# along with Dodai. If not, see <http://www.gnu.org/licenses/>.
17 17
18 18
19
20class Config(object): 19class Config(object):
21 20
22 def __call__(self): 21 def __call__(self):
@@ -26,38 +25,31 @@ class Config(object):
26 setattr(obj, key, val) 25 setattr(obj, key, val)
27 return obj 26 return obj
28 27
29 def set(self, key, val): 28 def __getattr__(self, key):
30 if not hasattr(self, 'vars'):
31 self.vars = {}
32 self.vars[key] = val
33 29
34 def options(self): 30 if 'files' == key:
35 if not hasattr(self, '_options'): 31 from dodai.config.files import ConfigFiles
32 self.files = ConfigFiles()
33 return self.files
34 elif 'options' == key:
36 from dodai.config.option import ConfigOption 35 from dodai.config.option import ConfigOption
37 self._options = ConfigOption() 36 self.options = ConfigOption()
38 return self._options 37 return self.options
39 38 elif 'logs' == key:
40 def files(self):
41 if not hasattr(self, '_files'):
42 from dodai.config.file import ConfigFile
43 self._files = ConfigFile()
44 return self._files
45
46 def logs(self):
47 if not hasattr(self, '_logs'):
48 from dodai.config.log import ConfigLog 39 from dodai.config.log import ConfigLog
49 self._logs = ConfigLog() 40 self.logs = ConfigLog()
50 return self._logs 41 return self.logs
51 42 elif 'databases' == key:
52 def dbs(self): 43 from dodai.config.databases import ConfigDatabases
53 if not hasattr(self, '_dbs'): 44 self.databases = ConfigDatabases()
54 from dodai.config.db import ConfigDb 45 return self.databases
55 self._dbs = ConfigDb() 46 else:
56 return self._dbs 47 raise KeyError(key)
57
58
59
60 48
49 def set(self, key, val):
50 if not hasattr(self, 'vars'):
51 self.vars = {}
52 self.vars[key] = val
61 53
62 54
63class ConfigResults(object): 55class ConfigResults(object):
diff --git a/test/test_config/test_init.py b/test/test_config/test_init.py
index 92b44c6..3246af2 100644
--- a/test/test_config/test_init.py
+++ b/test/test_config/test_init.py
@@ -15,48 +15,51 @@
15# You should have received a copy of the GNU General Public License 15# You should have received a copy of the GNU General Public License
16# along with Dodai. If not, see <http://www.gnu.org/licenses/>. 16# along with Dodai. If not, see <http://www.gnu.org/licenses/>.
17 17
18import sys
19import os
18import unittest 20import unittest
21path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..'))
22sys.path.append(path)
19from dodai.config import Config 23from dodai.config import Config
24from dodai.config import ConfigResults
25from dodai.config.files import ConfigFiles
20from dodai.config.option import ConfigOption 26from dodai.config.option import ConfigOption
21from dodai.config.file import ConfigFile
22from dodai.config.log import ConfigLog 27from dodai.config.log import ConfigLog
23from dodai.config import ConfigResults 28from dodai.config.databases import ConfigDatabases
24from dodai.config.db import ConfigDb
25 29
26class TestConfig(unittest.TestCase): 30class TestConfig(unittest.TestCase):
27 31
28 def setUp(self): 32 def setUp(self):
29 self.obj = Config() 33 self.config = Config()
30
31 def test_set_one(self):
32 self.obj.set('foo', 'bar')
33 self.assertTrue('foo' in self.obj.vars.keys())
34 34
35 def test_set_two(self): 35 def test_files(self):
36 self.obj.set('foo', 'bar') 36 self.assertTrue(isinstance(self.config.files, ConfigFiles))
37 self.assertTrue('bar' == self.obj.vars['foo'])
38 37
39 def test_options(self): 38 def test_options(self):
40 obj = self.obj.options() 39 self.assertTrue(isinstance(self.config.options, ConfigOption))
41 self.assertTrue(isinstance(obj, ConfigOption))
42
43 def test_files(self):
44 obj = self.obj.files()
45 self.assertTrue(isinstance(obj, ConfigFile))
46 40
47 def test_logs(self): 41 def test_logs(self):
48 obj = self.obj.logs() 42 self.assertTrue(isinstance(self.config.logs, ConfigLog))
49 self.assertTrue(isinstance(obj, ConfigLog)) 43
44 def test_databases(self):
45 self.assertTrue(isinstance(self.config.databases, ConfigDatabases))
46
47 def test_getattr_error(self):
48 self.failUnlessRaises(KeyError, self.config.__getattr__, 'foo')
49
50 def test_set_one(self):
51 self.config.set('foo', 'bar')
52 self.assertTrue('foo' in self.config.vars.keys())
53
54 def test_set_two(self):
55 self.config.set('foo', 'bar')
56 self.assertTrue('bar' == self.config.vars['foo'])
50 57
51 def test_call_one(self): 58 def test_call_one(self):
52 obj = self.obj() 59 obj = self.config()
53 self.assertTrue(isinstance(obj, ConfigResults)) 60 self.assertTrue(isinstance(obj, ConfigResults))
54 61
55 def test_call_two(self): 62 def test_call_two(self):
56 self.obj.set('foo', 'bar') 63 self.config.set('foo', 'bar')
57 obj = self.obj() 64 obj = self.config()
58 self.assertTrue(obj.foo == 'bar') 65 self.assertTrue(obj.foo == 'bar')
59
60 def test_db_one(self):
61 obj = self.obj.dbs()
62 self.assertTrue(isinstance(obj, ConfigDb))