diff -r 07ee5543751b -r 6b0ff82dff81 tests/config.py --- a/tests/config.py Thu Feb 23 16:57:57 2012 +0100 +++ b/tests/config.py Thu Feb 23 16:58:58 2012 +0100 @@ -4,16 +4,17 @@ import io import ConfigParser from iro import config +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=[] + config.config.reloadList=[] def tearDown(self): - config.config.reloadlist = self._reloadList + config.config.reloadList = self._reloadList @patch('iro.config.config') def testReadConfig(self,pConfig): @@ -77,10 +78,50 @@ config.config.readfp(io.BytesIO(sample_config)) self.assertRaises(ConfigParser.NoOptionError, config.config.read, []) - def testMust(self): - pass - testMust.todo= "To implement" + @patch('iro.config.ConfigParser.read') + def testMust(self,pRead): + v=Mock() + config.main["test"] = config.Option(v) + try: + sample_config = """[main] +hostname = localhost +port = 8000 +""" + config.config.readfp(io.BytesIO(sample_config)) + config.config.read([]) + self.assertEqual(v.called,0) + sample_config = """[main] +hostname = localhost +port = 8000 +test = foohu + """ + config.config.readfp(io.BytesIO(sample_config)) + config.config.read([]) + v.assert_called_once_with("foohu","test") + finally: + del(config.main["test"]) - def testProviders(self): - pass - testProviders.todo = "to implement" + @patch('iro.config.ConfigParser.read') + def testProviders(self, pRead): + v=Mock() + class TestProvider(Provider): + def __init__(self,name,c): + Provider.__init__(self,name,c) + 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, []) + self.assertEqual(v.called,0) + sample_config = """[p] +typ= test +test= foo +""" + config.config.readfp(io.BytesIO(sample_config)) + config.config.read([]) + v.assert_called_once_with("foo","test") + finally: + del(providers["test"])