Mercurial > hgrepos > Python > libs > ConfigMix
comparison tests/test.py @ 227:f5011eec3b6e
Added a loader with key "ignore" that ignores the given configuration file
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 12 May 2019 18:06:37 +0200 |
| parents | 0b855758ba08 |
| children | b2c75efad9e4 |
comparison
equal
deleted
inserted
replaced
| 226:8b1c52d5e7d5 | 227:f5011eec3b6e |
|---|---|
| 77 self.__check_comment(cfg) | 77 self.__check_comment(cfg) |
| 78 | 78 |
| 79 def test01_toml_types(self): | 79 def test01_toml_types(self): |
| 80 cfg = configmix.toml.load(os.path.join(TESTDATADIR, "conf1.toml")) | 80 cfg = configmix.toml.load(os.path.join(TESTDATADIR, "conf1.toml")) |
| 81 self.__check_types(cfg) | 81 self.__check_types(cfg) |
| 82 self.__check_comment(cfg) | 82 self.__check_comment(cfg) |
| 83 | 83 |
| 84 def test02_py_types(self): | 84 def test02_py_types(self): |
| 85 cfg = configmix.py.load(os.path.join(TESTDATADIR, "conf1.py")) | 85 cfg = configmix.py.load(os.path.join(TESTDATADIR, "conf1.py")) |
| 86 self.__check_types(cfg) | 86 self.__check_types(cfg) |
| 87 self.__check_no_comment(cfg) | 87 self.__check_no_comment(cfg) |
| 251 self.assertEqual(5432, cfg.getvar_s("db.locinfo.ro.port")) | 251 self.assertEqual(5432, cfg.getvar_s("db.locinfo.ro.port")) |
| 252 | 252 |
| 253 url = cfg.getvar_s("db.engines.ro.url") | 253 url = cfg.getvar_s("db.engines.ro.url") |
| 254 self.assertEqual( | 254 self.assertEqual( |
| 255 u("postgresql+psycopg2://the_database_user_2:the-database-password-2@3rd-host:5432/my_database_catalog"), | 255 u("postgresql+psycopg2://the_database_user_2:the-database-password-2@3rd-host:5432/my_database_catalog"), |
| 256 url) | 256 url) |
| 257 | 257 |
| 258 def test03_namespace(self): | 258 def test03_namespace(self): |
| 259 cfg = self._load( | 259 cfg = self._load( |
| 260 os.path.join(TESTDATADIR, "conf20.yml"), | 260 os.path.join(TESTDATADIR, "conf20.yml"), |
| 261 os.path.join(TESTDATADIR, "conf21.yml"), | 261 os.path.join(TESTDATADIR, "conf21.yml"), |
| 370 return configmix.load(os.path.join(TESTDATADIR, "conf1.ini"), | 370 return configmix.load(os.path.join(TESTDATADIR, "conf1.ini"), |
| 371 os.path.join(TESTDATADIR, "conf30.conf")) | 371 os.path.join(TESTDATADIR, "conf30.conf")) |
| 372 | 372 |
| 373 self.assertRaises(ValueError, _ld) | 373 self.assertRaises(ValueError, _ld) |
| 374 | 374 |
| 375 def test02_ignore_one_style(self): | |
| 376 configmix.clear_assoc() | |
| 377 configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml")) | |
| 378 configmix.set_assoc("*", "ignore", append=True) | |
| 379 | |
| 380 cfg = configmix.load(os.path.join(TESTDATADIR, "conf1.ini"), | |
| 381 os.path.join(TESTDATADIR, "conf30.conf")) | |
| 382 self.assertEqual(u("new value"), cfg.getvar_s("key-new")) | |
| 383 self.assertRaises(KeyError, cfg.getvar_s, "key1") | |
| 384 | |
| 385 def test02_ignore_all(self): | |
| 386 configmix.clear_assoc() | |
| 387 configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml")) | |
| 388 # This inserts at index 0 effectively ignoring all configuration files! | |
| 389 configmix.set_assoc("*", "ignore") | |
| 390 | |
| 391 cfg = configmix.load(os.path.join(TESTDATADIR, "conf1.ini"), | |
| 392 os.path.join(TESTDATADIR, "conf30.conf")) | |
| 393 self.assertRaises(KeyError, cfg.getvar_s, "key-new") | |
| 394 self.assertRaises(KeyError, cfg.getvar_s, "key1") | |
| 395 | |
| 375 def test03_only_style_corrrect_style(self): | 396 def test03_only_style_corrrect_style(self): |
| 376 configmix.clear_assoc() | 397 configmix.clear_assoc() |
| 377 configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml")) | 398 configmix.set_assoc("*.conf", configmix.get_default_assoc("*.yml")) |
| 378 cfg = configmix.load(os.path.join(TESTDATADIR, "conf30.conf")) | 399 cfg = configmix.load(os.path.join(TESTDATADIR, "conf30.conf")) |
| 379 self.assertEqual(u("new value"), cfg.getvar_s("key-new")) | 400 self.assertEqual(u("new value"), cfg.getvar_s("key-new")) |
