Exemple #1
0
def test_parse_and_parser_merge_settings_p04_conf_cmdline_parsed():
    parser = setup_parser()
    write_conf(conf, {'no_console': True, 'url': 'https://conf_set'})
    cmd_line = ['--conf', conf]
    args_default = {}
    args_parser_default = kvargs.parser_defaults(parser, set_to_none=True)
    print('args_parser_default:', args_parser_default)
    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': False,
        'display': False,
        'token': None,
        'uri': 'https://conf_set',
        'vargs_updated_by': {
            'conf': ['cmdline'],
            'disp_vargs': ['args_parser_default'],
            'display': ['args_parser_default', 'conf:kvargs1.json'],
            'uri': ['args_parser_default', 'conf:kvargs1.json']
        },
    }

    print('*' * 80)

    cmd_line = ['--conf', conf, '--console']
    vargs = kvargs.parse_and_parser_merge_settings(
        parser,
        args_parser_default=args_parser_default,
        args_default=args_default,
        cmd_line=cmd_line)
    assert dict(vargs) == {
        'conf': conf,
        'conf_files_loaded': ['kvargs1.json'],
        'disp_vargs': False,
        'display': True,
        'token': None,
        'uri': 'https://conf_set',
        'vargs_updated_by': {
            'conf': ['cmdline'],
            'disp_vargs': ['args_parser_default'],
            'display': ['args_parser_default', 'conf:kvargs1.json', 'cmdline'],
            'uri': ['args_parser_default', 'conf:kvargs1.json']
        },
    }

    os.remove(conf)
Exemple #2
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']
        },
    }
Exemple #3
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
Exemple #4
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']
        },
    }
Exemple #5
0
def test_parse_and_parser_merge_settings_p02_str_set_cmd():
    cmd_line = ['--token', 'sue']
    parser = argparse.ArgumentParser()
    parser.add_argument("--token", default="ken")
    assert parser.get_default("token") == "ken"

    args_default = kvargs.parser_extract_default_and_set_to_none(parser)
    assert args_default == {'token': 'ken'}
    vargs = kvargs.parse_and_parser_merge_settings(parser,
                                                   args_default=args_default,
                                                   cmd_line=cmd_line)
    assert vargs == {
        'token': 'sue',
        'vargs_updated_by': {
            'token': ['args_default', 'cmdline']
        },
    }
    assert parser.get_default("token") is None
Exemple #6
0
def test_parse_and_parser_merge_settings_p04_store_true_set_cmd():
    cmd_line = ['--token']
    parser = argparse.ArgumentParser()
    parser.add_argument("--token", action="store_true")
    assert parser.get_default("token") is False

    args_default = kvargs.parser_extract_default_and_set_to_none(parser)
    assert args_default == {'token': False}
    vargs = kvargs.parse_and_parser_merge_settings(parser,
                                                   args_default=args_default,
                                                   cmd_line=cmd_line)
    assert vargs == {
        'token': True,
        'vargs_updated_by': {
            'token': ['args_default', 'cmdline']
        },
    }
    assert parser.get_default("token") is None
Exemple #7
0
def test_parse_and_parser_merge_settings_p07_text_simple_defaults():
    cmd_line = []
    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'})
    assert args_default == {'token': 'set_default'}
    vargs = kvargs.parse_and_parser_merge_settings(parser,
                                                   args_default=args_default,
                                                   cmd_line=cmd_line)
    assert vargs == {
        'token': 'set_default',
        'vargs_updated_by': {
            'token': ['args_default']
        }
    }
    assert parser.get_default("token") is None
Exemple #8
0
def test_parse_and_parser_merge_settings_p03_store_true_simple():
    cmd_line = []
    parser = argparse.ArgumentParser()
    parser.add_argument("--token", action="store_true")
    assert parser.get_default("token") is False

    args_default = kvargs.parser_extract_default_and_set_to_none(parser)
    assert args_default == {
        'token': False,
    }
    vargs = kvargs.parse_and_parser_merge_settings(parser,
                                                   args_default=args_default,
                                                   cmd_line=cmd_line)
    assert dict(vargs) == {
        'token': False,
        'vargs_updated_by': {
            'token': ['args_default']
        }
    }
    assert parser.get_default("token") is None
Exemple #9
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
Exemple #10
0
def test_parse_and_parser_merge_settings_p05_two_flags():
    # cmd_line = ['--token']
    cmd_line = []
    parser = argparse.ArgumentParser()
    parser.add_argument("--token", action="store_true")
    parser.add_argument("--no_token", action="store_false", dest="token")
    assert parser.get_default("token") is False

    args_default = kvargs.parser_extract_default_and_set_to_none(
        parser, {'token': True})
    assert args_default == {'token': True}
    vargs = kvargs.parse_and_parser_merge_settings(parser,
                                                   args_default=args_default,
                                                   cmd_line=cmd_line)
    assert vargs == {
        'token': True,
        'vargs_updated_by': {
            'token': ['args_default']
        }
    }
    assert parser.get_default("token") is None
Exemple #11
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']
        },
    }
Exemple #12
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