def test_overlay_config_10(self): """test namespace definition ini file""" n = config_manager.Namespace() n.add_option('t', 'tee', 'the t') n.d = config_manager.Namespace() n.d.add_option('a', 1, 'the a') n.d.b = 17 n.c = config_manager.Namespace() n.c.add_option('extra', 3.14159, 'the x') n.c.add_option('string', 'fred', doc='str') ini_data = """ [top_level] t=tea [d] # blank line to be ignored a=22 [c] extra = 2.0 string = from ini """ config = ConfigParser.RawConfigParser() config.readfp(io.BytesIO(ini_data)) #g = config_manager.IniValueSource(config) e = DotDict() e.t = 'T' e.d = DotDict() e.d.a = 16 e.c = DotDict() e.c.extra = 18.6 e.c.string = 'from environment' #v = config_manager.GetoptValueSource( #argv_source=['--c.extra', '11.0'] #) c = config_manager.ConfigurationManager([n], [e, config, getopt], use_admin_controls=True, argv_source=['--c.extra', '11.0'], #use_config_files=False, use_auto_help=False) self.assertEqual(c.option_definitions.t.name, 't') self.assertEqual(c.option_definitions.t.value, 'tea') self.assertEqual(c.option_definitions.d.a, n.d.a) self.assertEqual(type(c.option_definitions.d.b), config_manager.Option) self.assertEqual(c.option_definitions.d.a.value, 22) self.assertEqual(c.option_definitions.d.b.value, 17) self.assertEqual(c.option_definitions.d.b.default, 17) self.assertEqual(c.option_definitions.d.b.name, 'b') self.assertEqual(c.option_definitions.c.extra.name, 'extra') self.assertEqual(c.option_definitions.c.extra.doc, 'the x') self.assertEqual(c.option_definitions.c.extra.default, 3.14159) self.assertEqual(c.option_definitions.c.extra.value, 11.0) self.assertEqual(c.option_definitions.c.string.name, 'string') self.assertEqual(c.option_definitions.c.string.doc, 'str') self.assertEqual(c.option_definitions.c.string.default, 'fred') self.assertEqual(c.option_definitions.c.string.value, 'from ini')