]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - src/allmydata/test/test_configutil.py
Refactor tahoe.cfg handling to configutil.
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / test / test_configutil.py
1 import os.path
2
3 from twisted.trial import unittest
4
5 from allmydata.util import configutil
6 from allmydata.test.no_network import GridTestMixin
7 from .test_cli import CLITestMixin
8
9
10 class ConfigUtilTests(CLITestMixin, GridTestMixin, unittest.TestCase):
11
12     def test_config_utils(self):
13         self.basedir = "cli/ConfigUtilTests/test-config-utils"
14         self.set_up_grid()
15         tahoe_cfg = os.path.join(self.get_clientdir(i=0), "tahoe.cfg")
16
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")
20
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)
24
25         config = configutil.get_config(tahoe_cfg)
26         self.failUnlessEqual(config.get("node", "nickname"), "Alice!")
27
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)
32
33         config = configutil.get_config(tahoe_cfg)
34         self.failUnlessEqual(config.get("node", "descriptor"), descriptor)