Exemplo n.º 1
0
class SpecificationTestCase(unittest.TestCase):

    def setUp(self):
        self.x = ExtendedConfigParser(config='dev')
        self.x.read('./test_cfg.ini')

    def test_get_config_name(self):
        self.assertEqual(self.x.get_config_name(), 'dev')

    def test_specification_basic_unspeced_key(self):
        self.assertEqual(self.x.get('sect2', 'key1'), 'val1_sect2')

    def test_specification_basic(self):
        self.assertEqual(self.x.get('sect1', 'key1'), 'dev1')

    def test_specification_goto_parent_config(self):
        self.x.set_config_name('dev_stuff')
        self.assertEqual(self.x.get('sect1', 'key1'), 'dev1')

    def test_specification_goto_grandparent(self):
        self.x.set_config_name('dev_dem_der')
        self.assertEqual(self.x.get('sect1', 'key1'), 'dev1')

    def test_get_configs(self):
        self.x.set_config_name('dev_plop_toto')
        res = ['dev_plop_toto', 'dev_plop', 'dev']
        self.assertEqual(self.x.get_configs(), res)

    def test_get_configs_param(self):
        res = ['dev_plop_toto', 'dev_plop', 'dev']
        self.assertEqual(self.x.get_configs('dev_plop_toto'), res)

    def test_get_configs_plus(self):
        self.x.set_config_name('dev_plop_toto')
        res = ['dev_plop_toto', 'plop_toto', 'toto', 'dev_plop', 'plop', 'dev']
        self.assertEqual(self.x.get_configs_plus(), res)

    def test_get_configs_plus_param(self):
        res = ['dev_plop_toto', 'plop_toto', 'toto', 'dev_plop', 'plop', 'dev']
        self.assertEqual(self.x.get_configs_plus('dev_plop_toto'), res)

    def test_specification_advanced(self):
        self.x.set_config_name('dev_plop_toto')
        self.assertEqual(self.x.get('sect3', 'key3'), 'dev_plop_toto3')

    def test_get_specified_defaults(self):
        self.assertEqual(self.x.get('sect3', 'key049'), 'DEFAULT_dev')

    def test_get_specified_vars(self):
        self.assertEqual(self.x.get('sect1', 'key1', vars={'key1[dev]': 'deez'}
                                    ), 'deez')