Mercurial > hgrepos > Python > libs > ConfigMix
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 |
