diff -r 8ad6c097bc5b -r b381eaa774ab tests/config.py --- a/tests/config.py Thu Feb 23 16:59:49 2012 +0100 +++ b/tests/config.py Sat Feb 25 16:12:07 2012 +0100 @@ -3,25 +3,29 @@ import signal import io import ConfigParser -from iro import config +from iro import config, error from iro.offer.provider import Provider, providers class TestConfig(unittest.TestCase): '''test config class''' def setUp(self): - self._reloadList=config.config.reloadList - config.config.reloadList=[] + self._reloadList=config.configParser.reloadList + config.configParser.reloadList=[] def tearDown(self): - config.config.reloadList = self._reloadList + config.configParser.reloadList = self._reloadList - @patch('iro.config.config') - def testReadConfig(self,pConfig): + @patch('iro.config.main') + @patch('iro.config.configParser') + def testReadConfig(self,pConfig,pMain): + pMain.read = False config.readConfig() - self.assertEqual([i[0] for i in pConfig.method_calls],["read","reload"]) + self.assertEqual([i[0] for i in pConfig.method_calls],["read","reload","items"]) pConfig.read.assert_called_once_with(config.confFiles) + pConfig.items.assert_called_once_with("main") pConfig.reload.assert_called_once_with() + self.assertEqual(pMain.load.called,1) @patch('signal.signal') @patch('iro.config.readConfig') @@ -35,93 +39,97 @@ def testRegisterReload(self): def x(): pass - config.config.registerReload(x) - self.assertEqual(config.config.reloadList,[x]) + config.configParser.registerReload(x) + self.assertEqual(config.configParser.reloadList,[x]) def testReload(self): x = Mock() - config.config.reloadList = [x] - config.config.reload_() + config.configParser.reloadList = [x] + config.configParser.reload_() x.assert_called_once_with() class TestRead(unittest.TestCase): def tearDown(self): - for s in config.config.sections(): - config.config.remove_section(s) + for s in config.configParser.sections(): + config.configParser.remove_section(s) @patch('iro.config.ConfigParser.read') def testMain(self,pRead): sample_config = """[main] hostname = localhost port = 8000 +dburl = sdfdsafgsfdg """ - config.config.readfp(io.BytesIO(sample_config)) - config.config.read([]) - pRead.assert_called_once_with(config.config,[]) + config.configParser.readfp(io.BytesIO(sample_config)) + config.configParser.read([]) + pRead.assert_called_once_with(config.configParser,[]) @patch('iro.config.ConfigParser.read') def testMainBadPort(self,pRead): sample_config = """[main] hostname = localhost port = -8000 +dburl = sadfaserasg """ - config.config.readfp(io.BytesIO(sample_config)) - self.assertRaises(config.ValidateException, config.config.read, []) + config.configParser.readfp(io.BytesIO(sample_config)) + self.assertRaises(error.ValidateException, config.configParser.read, []) @patch('iro.config.ConfigParser.read') def testMainNoMust(self,pRead): sample_config = """[main] port = 8000 +dburl = asdfgdsrg """ - config.config.readfp(io.BytesIO(sample_config)) - self.assertRaises(ConfigParser.NoOptionError, config.config.read, []) + config.configParser.readfp(io.BytesIO(sample_config)) + self.assertRaises(config.NeededOption, config.configParser.read, []) @patch('iro.config.ConfigParser.read') def testMust(self,pRead): v=Mock() - config.main["test"] = config.Option(v) + config.main.options["test"] = config.Option(v) try: sample_config = """[main] hostname = localhost +dburl = sdfawersdf port = 8000 """ - config.config.readfp(io.BytesIO(sample_config)) - config.config.read([]) + config.configParser.readfp(io.BytesIO(sample_config)) + config.configParser.read([]) self.assertEqual(v.called,0) sample_config = """[main] hostname = localhost +dburl = adfgsdftsfg port = 8000 test = foohu """ - config.config.readfp(io.BytesIO(sample_config)) - config.config.read([]) + config.configParser.readfp(io.BytesIO(sample_config)) + config.configParser.read([]) v.assert_called_once_with("foohu","test") finally: - del(config.main["test"]) + del(config.main.options["test"]) @patch('iro.config.ConfigParser.read') def testProviders(self, pRead): v=Mock() class TestProvider(Provider): - def __init__(self,name,c): - Provider.__init__(self,name,c) + def __init__(self,name): + Provider.__init__(self,name) self.options.update({"test":config.Option(v)}) - self.loadConfig() providers["test"]=TestProvider try: sample_config = """[p] """ - config.config.readfp(io.BytesIO(sample_config)) - self.assertRaises(ConfigParser.NoOptionError, config.config.read, []) + config.configParser.readfp(io.BytesIO(sample_config)) + self.assertRaises(ConfigParser.NoOptionError, config.configParser.read, []) self.assertEqual(v.called,0) sample_config = """[p] typ= test test= foo """ - config.config.readfp(io.BytesIO(sample_config)) - config.config.read([]) + config.configParser.readfp(io.BytesIO(sample_config)) + config.configParser.read([]) v.assert_called_once_with("foo","test") finally: del(providers["test"])