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"))