# -*- coding: utf-8 -*- import unittest import dotdot # from pubs.config import conf # class TestConfig(unittest.TestCase): # # def test_create_config(self): # a = configs.Config() # a.as_global() # self.assertEqual(a, config()) # # def test_config_content(self): # a = configs.Config() # a.as_global() # # self.assertEqual(config().pubsdir, configs.DFT_CONFIG['pubsdir']) # self.assertEqual(config().color, configs.str2bool(configs.DFT_CONFIG['color'])) # # def test_set(self): # a = configs.Config() # a.as_global() # config().color = 'no' # self.assertEqual(config().color, False) # self.assertEqual(config('pubs').color, False) # # booleans type for new variables are memorized, but not saved. # config().bla = True # self.assertEqual(config().bla, True) # self.assertEqual(config('pubs').bla, True) # # with self.assertRaises(configparser.NoOptionError): # config()._cfg.get(configs.MAIN_SECTION, '_section') # # def test_reload(self): # # default_color = configs.DFT_CONFIG['color'] # # a = configs.Config() # a.as_global() # a.color = False # a.bla = 'foo' # config.color = not configs.str2bool(default_color) # self.assertEqual(config().color, not configs.str2bool(default_color)) # # b = configs.Config() # b.as_global() # self.assertEqual(b, config()) # self.assertEqual(config().color, configs.str2bool(default_color)) # # def test_exception(self): # # a = configs.Config() # a.as_global() # # with self.assertRaises(configparser.NoOptionError): # config().color2 # self.assertEqual(config().get('color2', default = 'blue'), 'blue') # # with self.assertRaises(configparser.NoSectionError): # config(section = 'bla3').color # self.assertEqual(config(section = 'bla3').get('color', default = 'green'), 'green') # self.assertEqual(config(section = 'bla3').get('color', default = config().color), True) # # def test_keywords(self): # a = configs.Config(pubs_dir = '/blabla') # self.assertEqual(a.pubs_dir, '/blabla') if __name__ == '__main__': unittest.main()