def test_help_is_displayed(self): sys.stdout = StringIO() try: configglue(self.file, args=['', '--help']) except SystemExit: output = sys.stdout.getvalue() sys.stdout = sys.__stdout__ self.assertTrue('yadda yadda yadda yadda' in output)
def test_help_is_displayed(self): new_callable = StringIO if PY2: new_callable = BytesIO with patch('sys.stdout', new_callable=new_callable) as mock_stdout: try: configglue(self.file, args=['', '--help']) except SystemExit: output = mock_stdout.getvalue() self.assertTrue('yadda yadda yadda yadda' in output)
def test_parser_unicode(self): s = textwrap.dedent(""" [__main__] bar = zátrapa """) _, cg, _ = configglue(StringIO(s)) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))
def test_parser_unicode(self): s = textwrap.dedent(""" [__main__] bar = zátrapa bar.parser = unicode bar.parser.args = utf-8 """) _, cg, _ = configglue(StringIO(s)) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))
def test_args_win(self): parser, options, args = configglue(self.file, args=['', self.arg + '=5']) self.assertEqual(vars(options), {self.opt: '5'})
def test_store_false(self): parser, options, args = configglue(self.file, args=['', '--bar']) self.assertEqual(options.bar, False)
def test_no_append(self): parser, options, args = configglue(self.file) self.assertEqual(options.bar, ['a', 'b'])
def test_append(self): parser, options, args = configglue(self.file, args=['', '--bar=x']) self.assertEqual(options.bar, ['a', 'b', 'x'])
def test_main(self): parser, options, args = configglue(self.file) self.assertEqual(options.a, '1')
def test_parser_none(self): s = "[__main__]\nbar = meeeeh\nbar.parser = none" _, cg, _ = configglue(StringIO(s), extra_parsers=[("none", str)]) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))
def test_accepts_args_and_filenames(self): parser, options, args = configglue(self.file, 'dummy', args=['', '--x_a=1']) self.assertEqual(options.x_a, '1')
def test_ini_file_wins_when_no_args(self): parser, options, args = configglue(self.file, args=[]) self.assertEqual(vars(options), {self.opt: self.val})
def test_append_on_empty(self): parser, options, args = configglue(self.file, args=['', '--foo=x']) self.assertEqual(options.foo, ['x'])
def test_empty(self): s = "" _, cg, _ = configglue(StringIO(s)) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))
log_file.help = The path to the log file. log_level.default = INFO log_level.help = The logging level (DEBUG, INFO, WARNING, ERROR) log_format.default = %(asctime)s %(levelname)-8s %(name)s: %(message)s log_format.help = The logging format """ # main entry point, parse args and start the service. if __name__ == '__main__': from configglue.inischema.glue import configglue from StringIO import StringIO config_file = StringIO() config_file.write(default_config) config_file.seek(0) (parser, options, argv) = configglue(config_file, args=sys.argv[1:], usage="%prog [options]", extra_parsers=[("comma_separated_list", comma_separated_list_parser)]) if not options.groups or not options.interval or not options.timeout: parser.print_help() sys.exit(2) rpc = childutils.getRPCInterface(os.environ) hbl = HeartbeatListener(options.timeout, options.interval, options.groups, options.processes, rpc) hbl.runforever()
def test_main(self): s = "[__main__]\nbar = 42\n" _, cg, _ = configglue(StringIO(s)) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))
def test_parser_bool(self): s = "[__main__]\nbar = true\nbar.parser = bool \n" _, cg, _ = configglue(StringIO(s)) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))
def test_empty(self): parser, options, args = configglue(self.file) self.assertEqual(options.x_a, '')
def test_nothing(self): parser, options, args = configglue(self.file) self.assertEqual(options.foo, [])
def test_store_true(self): parser, options, args = configglue(self.file, args=['', '--foo']) self.assertEqual(options.foo, True)
def test_parser_none(self): s = "[__main__]\nbar = meeeeh\nbar.parser = none" _, cg, _ = configglue(StringIO(s), extra_parsers=[('none', str)]) _, sg, _ = schemaconfigglue(ini2schema(StringIO(s))) self.assertEqual(vars(cg), vars(sg))