Beispiel #1
0
    def test_interoplation_repr(self):
        c = ConfigObj(['foo = $bar'], interpolation='Template')
        c['baz'] = {}
        c['baz']['spam'] = '%(bar)s'

        # This raises a MissingInterpolationOption exception in 4.7.1 and earlier
        repr(c)
Beispiel #2
0
    def test_with_default(self):
        c = ConfigObj()
        c['a'] = 3

        self.assertEqual(c.pop('a'), 3)
        self.assertEqual(c.pop('b', 3), 3)
        self.assertRaises(KeyError, c.pop, 'c')
Beispiel #3
0
        def test_options_deprecation(self):
            with catch_warnings(record=True) as log:
                ConfigObj(options={})

            # unpack the only member of log
            # skip the test for Python > 2.6
            if log:
                warning, = log
                self.assertEqual(warning.category, DeprecationWarning)
Beispiel #4
0
    def test_order_preserved(self):
        c = ConfigObj()
        c['a'] = 1
        c['b'] = 2
        c['c'] = 3
        c['section'] = {}
        c['section']['a'] = 1
        c['section']['b'] = 2
        c['section']['c'] = 3
        c['section']['section'] = {}
        c['section']['section2'] = {}
        c['section']['section3'] = {}
        c['section2'] = {}
        c['section3'] = {}

        c2 = ConfigObj(c)
        self.assertEqual(c2.scalars, ['a', 'b', 'c'])
        self.assertEqual(c2.sections, ['section', 'section2', 'section3'])
        self.assertEqual(c2['section'].scalars, ['a', 'b', 'c'])
        self.assertEqual(c2['section'].sections,
                         ['section', 'section2', 'section3'])

        self.assertFalse(c['section'] is c2['section'])
        self.assertFalse(c['section']['section'] is c2['section']['section'])
Beispiel #5
0
    def test_interpolation_with_section_names(self):
        cfg = """
item1 = 1234
[section]
    [[item1]]
    foo='bar'
    [[DEFAULT]]
        [[[item1]]]
        why = would you do this?
    [[other-subsection]]
    item2 = '$item1'""".splitlines()
        c = ConfigObj(cfg, interpolation='Template')

        # This raises an exception in 4.7.1 and earlier due to the section
        # being found as the interpolation value
        repr(c)
Beispiel #6
0
    def test_set_timezone_sles(self):

        cfg = {
            'timezone': 'Tatooine/Bestine',
        }

        # Create a dummy timezone file
        dummy_contents = '0123456789abcdefgh'
        zone_file = "/".join([self.new_root, cfg['timezone']])
        utils.write_file(zone_file, dummy_contents)

        clock_conf = self.new_root + "/etc/sysconfig/clock"
        local_tz = self.new_root + "/etc/localtime"
        utils.set_timezone(tz=cfg['timezone'],
                           tz_zone_dir=self.new_root,
                           clock_conf_fn=clock_conf,
                           tz_local_fn=local_tz)

        contents = utils.load_file(clock_conf)
        n_cfg = ConfigObj(StringIO(contents))
        self.assertEquals({'ZONE': cfg['timezone']}, dict(n_cfg))

        contents = utils.load_file(local_tz)
        self.assertEquals(dummy_contents, contents.strip())
Beispiel #7
0
 def test_list_interpolation_with_pop(self):
     c = ConfigObj()
     c['a'] = []
     c['a'].append('%(b)s')
     c['b'] = 'bar'
     self.assertEqual(c.pop('a'), ['bar'])
Beispiel #8
0
 def test_list_members(self):
     c = ConfigObj()
     c['a'] = []
     c['a'].append('foo')
     self.assertEqual(c['a'], ['foo'])