def test_typed_params_update(self): schema = ConfigSchema('test', '1.0', 'ini', [ ConfigParameterSchema('param1', type='integer', section='DEFAULT') ]) c = Configuration(schema) c.set('param1', '123') self.assertEqual(123, c.get('param1')) c.set('param1', '456') self.assertEqual(456, c.get('param1'))
def test_template_substitution(self): c = Configuration() c.set('a', 'x') c.set('b', '$a') c.set('c', '$b') self.assertEqual('x', c.get('c'))
def test_getting_raw_values(self): c = Configuration() c.set('a', '$b') c.set('b', 'x') self.assertEqual('$b', c.get('a', raw=True))
def test_parameter_names_containing_sections(self): c = Configuration() c.set(self.fullparam, self.value) self.assertEqual( self.value, c.get('%s.%s' % (self.section, self.param)))
def test_cycle_template_substitution_resolves_in_empty_string(self): c = Configuration() c.set('a', 'a$c') c.set('b', 'b$a') c.set('c', 'c$b') self.assertEqual('cba', c.get('c'))
def test_subsection_setitem(self): c = Configuration() cs = c.section(self.section) cs[self.param] = self.value self.assertEqual(self.value, c.get(self.fullparam))
def test_explicit_default_on_get(self): c = Configuration() override_value = '12345' self.assertEqual( override_value, c.get(self.fullparam, default=override_value))
def test_type_for_unknown_param(self): schema = ConfigSchema('test', '1.0', 'ini', []) c = Configuration(schema) c.set('param1', '123') self.assertEqual('123', c.get('param1'))
def test_typed_param_with_invalid_value_returns_string_value(self): schema = ConfigSchema('test', '1.0', 'ini', [ ConfigParameterSchema('param1', type='integer', section='DEFAULT') ]) c = Configuration(schema) c.set('param1', '123a') self.assertEqual('123a', c.get('param1'))
def test_getting_typed_param_raw_value(self): schema = ConfigSchema('test', '1.0', 'ini', [ ConfigParameterSchema('param1', type='integer', section='DEFAULT') ]) c = Configuration(schema) c.set('param1', '123') self.assertEqual('123', c.get('param1', raw=True))
def test_explicit_default_on_get(self): c = Configuration() override_value = '12345' self.assertEqual(override_value, c.get(self.fullparam, default=override_value))
def test_parameter_with_default_section(self): c = Configuration() c.set(self.param, self.value) self.assertEqual(self.value, c.get(self.param))
def test_parameter_names_containing_sections(self): c = Configuration() c.set(self.fullparam, self.value) self.assertEqual(self.value, c.get('%s.%s' % (self.section, self.param)))
def test_empty(self): c = Configuration() self.assertIsNone(c.get('section1.param1'))
def test_storage(self): c = Configuration() c.set(self.fullparam, self.value) self.assertEqual(self.value, c.get(self.fullparam))
def test_setitem(self): c = Configuration() c[self.fullparam] = self.value self.assertEqual(self.value, c.get(self.fullparam))
def test_subsection_set(self): c = Configuration() c.section(self.section).set(self.param, self.value) self.assertEqual(self.value, c.get(self.fullparam))
def test_normal_overrides_default(self): c = Configuration() c.set(self.fullparam, self.value) c.set_default(self.fullparam, self.default_value) self.assertEqual(self.value, c.get(self.fullparam))