comparison tests/test.py @ 417:83d537f1dfbb

Implement sub-jails: allow to get a jailed configuration from a jail
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 01 Dec 2021 23:10:20 +0100
parents 2abde0d3c735
children bb5f11abd12a
comparison
equal deleted inserted replaced
416:2abde0d3c735 417:83d537f1dfbb
1241 1241
1242 def test_root_empty(self): 1242 def test_root_empty(self):
1243 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py")) 1243 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1244 jcfg = cfg.jailed(root=u"") 1244 jcfg = cfg.jailed(root=u"")
1245 1245
1246 self.assertFalse(jcfg._path)
1247 self.assertFalse(jcfg._pathstr)
1248 self.assertTrue(jcfg._path is not None)
1249 self.assertTrue(jcfg._pathstr is not None)
1250
1246 self.assertTrue(jcfg.getvarl(u"tree1", u"tree2", u"key5")) 1251 self.assertTrue(jcfg.getvarl(u"tree1", u"tree2", u"key5"))
1247 self.assertTrue(jcfg.getvarl_s(u"tree1", u"tree2", u"key5")) 1252 self.assertTrue(jcfg.getvarl_s(u"tree1", u"tree2", u"key5"))
1248 self.assertEqual( 1253 self.assertEqual(
1249 u"get this as `tree1.tree2.key4'", 1254 u"get this as `tree1.tree2.key4'",
1250 jcfg.getvarl_s(u"tree1", u"tree2", u"key4")) 1255 jcfg.getvarl_s(u"tree1", u"tree2", u"key4"))
1256 jcfg.getvar_s(u"tree1.tree2.key4")) 1261 jcfg.getvar_s(u"tree1.tree2.key4"))
1257 1262
1258 def test_rootpath_empty(self): 1263 def test_rootpath_empty(self):
1259 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py")) 1264 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1260 jcfg = cfg.jailed(rootpath=tuple()) 1265 jcfg = cfg.jailed(rootpath=tuple())
1266
1267 self.assertFalse(jcfg._path)
1268 self.assertFalse(jcfg._pathstr)
1269 self.assertTrue(jcfg._path is not None)
1270 self.assertTrue(jcfg._pathstr is not None)
1261 1271
1262 self.assertTrue(jcfg.getvarl(u"tree1", u"tree2", u"key5")) 1272 self.assertTrue(jcfg.getvarl(u"tree1", u"tree2", u"key5"))
1263 self.assertTrue(jcfg.getvarl_s(u"tree1", u"tree2", u"key5")) 1273 self.assertTrue(jcfg.getvarl_s(u"tree1", u"tree2", u"key5"))
1264 self.assertEqual( 1274 self.assertEqual(
1265 u"get this as `tree1.tree2.key4'", 1275 u"get this as `tree1.tree2.key4'",
1437 1447
1438 self.assertFalse(jcfg.getboolvar_s(u"key6")) 1448 self.assertFalse(jcfg.getboolvar_s(u"key6"))
1439 self.assertEqual(u"off", jcfg.getvarl_s(u"key6")) 1449 self.assertEqual(u"off", jcfg.getvarl_s(u"key6"))
1440 self.assertTrue(jcfg.getvar_s(u"key6")) 1450 self.assertTrue(jcfg.getvar_s(u"key6"))
1441 1451
1452 def test_subjail_from_rootpath_empty(self):
1453 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1454 jcfg = cfg.jailed(rootpath=tuple())
1455
1456 sjcfg = jcfg.jailed(rootpath=(u"tree1",))
1457
1458 self.assertTrue(sjcfg._path)
1459 self.assertTrue(sjcfg._pathstr)
1460
1461 self.assertEqual(0x20, sjcfg.getintvar_s(u"key3"))
1462
1463 def test_subjail_from_root_empty(self):
1464 cfg = configmix.load(os.path.join(TESTDATADIR, "conf10.py"))
1465 jcfg = cfg.jailed(root=u"")
1466
1467 sjcfg = jcfg.jailed(root=u"tree1")
1468
1469 self.assertTrue(sjcfg._path)
1470 self.assertTrue(sjcfg._pathstr)
1471
1472 self.assertEqual(0x20, sjcfg.getintvar_s(u"key3"))
1473
1442 1474
1443 if __name__ == "__main__": 1475 if __name__ == "__main__":
1444 unittest.main() 1476 unittest.main()