def test_parse_and_parser_merge_settings_p06_blank_cmdline_parsed_arg_default_str_blank_cmd( ): parser = setup_parser() cmd_line = [] args_default = {'token': 'default_token', 'url': ''} args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) vargs = kvargs.parse_and_parser_merge_settings( parser, args_parser_default=args_parser_default, args_default=args_default, cmd_line=cmd_line) # url is added because we are not making cmdline expansions assert vargs == { 'conf': None, 'disp_vargs': False, 'display': False, 'token': 'default_token', 'uri': 'http', 'url': '', 'vargs_updated_by': { 'disp_vargs': ['args_parser_default'], 'display': ['args_parser_default'], 'token': ['args_default'], 'uri': ['args_parser_default'], 'url': ['args_default'] }, }
def test_parse_and_parser_merge_settings_p03_conf_cmdline_parsed(): parser = setup_parser() write_conf(conf, {'disp_vargs': True, 'url': 'https://conf_set'}) cmd_line = ['--conf', conf] args_default = {} args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) vargs = kvargs.parse_and_parser_merge_settings( parser, args_parser_default=args_parser_default, args_default=args_default, cmd_line=cmd_line) assert vargs == { 'conf': conf, 'conf_files_loaded': ['kvargs1.json'], 'disp_vargs': True, 'display': False, 'token': None, 'uri': 'https://conf_set', 'vargs_updated_by': { 'conf': ['cmdline'], 'disp_vargs': ['args_parser_default', 'conf:kvargs1.json'], 'display': ['args_parser_default'], 'uri': ['args_parser_default', 'conf:kvargs1.json'] }, } os.remove(conf)
def test_parse_and_parser_merge_settings_p07_blank_cmdline_parsed_arg_default_new_value( ): parser = setup_parser() cmd_line = [] args_default = {'new_value': 'new_value'} args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) vargs = kvargs.parse_and_parser_merge_settings( parser, args_parser_default=args_parser_default, args_default=args_default, cmd_line=cmd_line) assert vargs == { 'conf': None, 'disp_vargs': False, 'display': False, 'token': None, 'uri': 'http', 'new_value': 'new_value', 'vargs_updated_by': { 'disp_vargs': ['args_parser_default'], 'display': ['args_parser_default'], 'new_value': ['args_default'], 'uri': ['args_parser_default'] }, }
def test_parser_defaults_p02_pass(): parser = setup_parser() args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) assert args_parser_default == { 'console': { 'cmd': '--console', 'const': True, 'dest': 'display', 'first': True, 'value': False }, 'disp_vargs': { 'cmd': '--disp_vargs', 'const': True, 'dest': 'disp_vargs', 'first': True, 'value': False }, 'no_console': { 'cmd': '--no_console', 'const': True, 'dest': 'display', 'first': False, 'value': False }, 'url': { 'cmd': '--url', 'const': False, 'dest': 'uri', 'first': True, 'value': 'http' }, }
def test_parse_and_parser_merge_settings_p09_store_true_conf(): cmd_line = [] test_args_conf = {'token': True} parser = argparse.ArgumentParser() parser.add_argument("--token", action="store_true") assert parser.get_default("token") is False args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) args_default = {} vargs = kvargs.parse_and_parser_merge_settings( parser, args_default=args_default, args_parser_default=args_parser_default, cmd_line=cmd_line, test_args_conf=test_args_conf) assert dict(vargs) == { 'conf_files_loaded': ['test_args_conf'], 'token': True, 'vargs_updated_by': { 'token': ['args_parser_default', 'conf:test_args_conf'] }, } assert parser.get_default("token") is None
def test_parse_and_parser_merge_settings_p10_store_true_empty_conf_default(): cmd_line = [] test_args_conf = {} args_default = {'token': True} parser = argparse.ArgumentParser() parser.add_argument("--token", action="store_true") assert parser.get_default("token") is False args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) vargs = kvargs.parse_and_parser_merge_settings( parser, args_default=args_default, args_parser_default=args_parser_default, cmd_line=cmd_line, test_args_conf=test_args_conf) args_default['vargs_updated_by'] = {'token': ['args_default']} args_default['conf_files_loaded'] = ['test_args_conf'] assert dict(vargs) == args_default assert parser.get_default("token") is None
def test_parse_and_parser_merge_settings_p03_cmdline_v3_parsed(): parser = setup_parser() cmd_line = ['--no_console'] args_default = {} args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) vargs = kvargs.parse_and_parser_merge_settings( parser, args_parser_default=args_parser_default, args_default=args_default, cmd_line=cmd_line) assert vargs == { 'conf': None, 'disp_vargs': False, 'display': False, 'token': None, 'uri': 'http', 'vargs_updated_by': { 'disp_vargs': ['args_parser_default'], 'display': ['args_parser_default', 'cmdline'], 'uri': ['args_parser_default'] }, }
def test_parse_and_parser_merge_settings_p08_text_simple_defaults_conf(): cmd_line = [] test_args_conf = {'token': 'set_by_conf'} parser = argparse.ArgumentParser() parser.add_argument("--token") assert parser.get_default("token") is None # args_default = kvargs.parser_extract_default_and_set_to_none(parser, {'token': 'set_default'}) args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) args_default = {'token': 'set_default'} vargs = kvargs.parse_and_parser_merge_settings( parser, args_parser_default=args_parser_default, args_default=args_default, cmd_line=cmd_line, test_args_conf=test_args_conf) assert dict(vargs) == { 'conf_files_loaded': ['test_args_conf'], 'token': 'set_by_conf', 'vargs_updated_by': { 'token': ['args_default', 'conf:test_args_conf'] }, } assert parser.get_default("token") is None
def test_parser_defaults_p03_pass(): parser = setup_parser() args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) args_parser_default = kvargs.parser_defaults(parser, set_to_none=True) assert args_parser_default == {}