3 from twisted.trial import unittest
5 from allmydata.util import configutil
6 from allmydata.test.no_network import GridTestMixin
7 from .test_cli import CLITestMixin
10 class ConfigUtilTests(CLITestMixin, GridTestMixin, unittest.TestCase):
12 def test_config_utils(self):
13 self.basedir = "cli/ConfigUtilTests/test-config-utils"
15 tahoe_cfg = os.path.join(self.get_clientdir(i=0), "tahoe.cfg")
17 # test that at least one option was read correctly
18 config = configutil.get_config(tahoe_cfg)
19 self.failUnlessEqual(config.get("node", "nickname"), "client-0")
21 # test that set_config can mutate an existing option
22 configutil.set_config(config, "node", "nickname", "Alice!")
23 configutil.write_config(tahoe_cfg, config)
25 config = configutil.get_config(tahoe_cfg)
26 self.failUnlessEqual(config.get("node", "nickname"), "Alice!")
28 # test that set_config can set a new option
29 descriptor = "Twas brillig, and the slithy toves Did gyre and gimble in the wabe"
30 configutil.set_config(config, "node", "descriptor", descriptor)
31 configutil.write_config(tahoe_cfg, config)
33 config = configutil.get_config(tahoe_cfg)
34 self.failUnlessEqual(config.get("node", "descriptor"), descriptor)