Mercurial > hgrepos > Python > libs > ConfigMix
diff tests/test.py @ 756:cabd1046d95f
Extract new config methods extract_new_config
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 04 Dec 2023 09:20:30 +0100 |
| parents | 04c5a3a36499 |
| children | 3eb2c451026b |
line wrap: on
line diff
--- a/tests/test.py Thu Nov 30 21:11:47 2023 +0100 +++ b/tests/test.py Mon Dec 04 09:20:30 2023 +0100 @@ -2606,5 +2606,35 @@ b":") +class T11NewConfig(unittest.TestCase): + + def setUp(self): + self._cfg = configmix.load( + os.path.join(TESTDATADIR, "extract-new-config.yml")) + + def tearDown(self): + self._cfg = None + + def test_extract_new_copy(self): + nc = self._cfg.extract_new_config("globals") + self.assertEqual(u(r"E:\APPS64\PostgreSQL-9.4\all\bin"), + nc.getvarl_s(u"PATH")) + self.assertEqual( + u("postgresql+psycopg2://My%20Username:My%20Password@localhost:5432/postgres"), + nc.getvarl_s("engine0", "url")) + self.assertIsInstance(self._cfg.getvarl("parts"), list) + with self.assertRaises(KeyError): + nc.getvarl("parts") + + def test_extract_new_copy_is_deepcopy(self): + nc = self._cfg.extract_new_config("globals") + user2 = nc.getvarl(u("user2")) + user2[u("pwd")] = u("new passphrase") + self.assertEqual(u("new passphrase"), + nc.getvarl(u("user2"), u("pwd"))) + self.assertEqual(u("abcQQQ123456"), + self._cfg.getvarl(u("globals"), u("user2"), u("pwd"))) + + if __name__ == "__main__": unittest.main()
