Esempio n. 1
0
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']
        },
    }
Esempio n. 2
0
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)
Esempio n. 3
0
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']
        },
    }
Esempio n. 4
0
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'
        },
    }
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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']
        },
    }
Esempio n. 8
0
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
Esempio n. 9
0
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 == {}