comparison tests/test.py @ 146:bbf47bfb48a2

Add a unittest that scans the complete configuration dict for comment keys
author Franz Glasner <hg@dom66.de>
date Sat, 14 Apr 2018 09:55:10 +0200
parents 7e6ec99d5ff5
children 1ff11462a5c1
comparison
equal deleted inserted replaced
145:d44ee758e31b 146:bbf47bfb48a2
253 self.assertEqual(0o0027, int(cfg.getvar_s("process.umask"), 0)) 253 self.assertEqual(0o0027, int(cfg.getvar_s("process.umask"), 0))
254 self.assertRaises(KeyError, _c("process.__doc1")) 254 self.assertRaises(KeyError, _c("process.__doc1"))
255 self.assertRaises(KeyError, _c("db.__comment1")) 255 self.assertRaises(KeyError, _c("db.__comment1"))
256 self.assertRaises(KeyError, _c("db.user.__doc2")) 256 self.assertRaises(KeyError, _c("db.user.__doc2"))
257 257
258 def test06_check_all_comments(self):
259 cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"),
260 os.path.join(TESTDATADIR, "conf21.yml"),
261 os.path.join(TESTDATADIR, "conf22.ini"),
262 os.path.join(TESTDATADIR, "conf23.json"))
263
264 def _check(d):
265 for k, v in d.items():
266 self.assertFalse(configmix._is_comment(k))
267 if isinstance(v, dict):
268 _check(v)
269
270 _check(cfg)
271
258 272
259 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): 273 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
260 274
261 def setUp(self): 275 def setUp(self):
262 self._load = configmix.load 276 self._load = configmix.load
263 277
264 def test06_identity(self): 278 def test07_identity(self):
265 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini")) 279 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini"))
266 cfg2 = configmix.merge(cfg, None) 280 cfg2 = configmix.merge(cfg, None)
267 self.assertEqual(id(cfg), id(cfg2)) 281 self.assertEqual(id(cfg), id(cfg2))
268 282
269 def test07_identity(self): 283 def test08_identity(self):
270 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini")) 284 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini"))
271 cfg2 = configmix.merge(cfg, {}) 285 cfg2 = configmix.merge(cfg, {})
272 self.assertEqual(id(cfg), id(cfg2)) 286 self.assertEqual(id(cfg), id(cfg2))
273 287
274 288
275 class T03SafeLoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase): 289 class T03SafeLoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
276 290
277 def setUp(self): 291 def setUp(self):
278 self._load = configmix.safe_load 292 self._load = configmix.safe_load
279 293
280 def test06_deepcopy(self): 294 def test07_deepcopy(self):
281 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini")) 295 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini"))
282 cfg2 = configmix.safe_merge(cfg, None) 296 cfg2 = configmix.safe_merge(cfg, None)
283 self.assertNotEqual(id(cfg), id(cfg2)) 297 self.assertNotEqual(id(cfg), id(cfg2))
284 298
285 def test07_deepcopy(self): 299 def test08_deepcopy(self):
286 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini")) 300 cfg = configmix.ini.load(os.path.join(TESTDATADIR, "conf1.ini"))
287 cfg2 = configmix.safe_merge(cfg, {}) 301 cfg2 = configmix.safe_merge(cfg, {})
288 self.assertNotEqual(id(cfg), id(cfg2)) 302 self.assertNotEqual(id(cfg), id(cfg2))
289 303
290 304