示例#1
0
def test_argparse_env_ini():
    """
    --number from enviorment
    --bool from ini
    --str-arg from cmdline

    """
    parser = __argparser()

    env = {
        "NUMBER": 4,
    }

    for key, value in env.items():
        os.environ[key] = str(value)

    commandline = "--config {} --str-arg cmdline".format(INI_TEST_FILE).split()

    args = config.handle_args(parser,
                              "actworkers",
                              "actworkers.ini",
                              "test",
                              opts=commandline)

    assert args.number == 4
    assert args.str_arg == "cmdline"
    assert args.bool is True

    # Remove from environment variables
    for key in env:
        del os.environ[key]
示例#2
0
def test_argparse_env():
    """ all arguments from env """
    parser = __argparser()

    env = {
        "STR_ARG": "from env",
        "NUMBER": 4,
        "BOOL": "yes"  # accepts both yes and true
    }

    for key, value in env.items():
        os.environ[key] = str(value)

    args = config.handle_args(parser,
                              "actworkers",
                              "actworkers.ini",
                              "test",
                              opts=[])

    assert args.number == 4
    assert args.str_arg == "from env"
    assert args.bool is True

    # Remove from environment variables
    for key in env:
        del os.environ[key]
示例#3
0
def test_argparse_ini() -> None:
    """ all arguments from ini file """
    parser = __argparser()

    commandline = "--config {}".format(INI_TEST_FILE).split()

    args = config.handle_args(parser,
                              "actworkers",
                              "actworkers.ini",
                              "test",
                              opts=commandline)

    assert args.number == 3
    assert args.str_arg == "from ini"
    assert args.bool is True
示例#4
0
def test_argparse_only() -> None:
    """ all arguments from command line, using default for number and bool """

    parser = __argparser()

    commandline = "--str-arg test".split()

    args = config.handle_args(parser,
                              "actworkers",
                              "actworkers.ini",
                              "test",
                              opts=commandline)

    assert args.number == 1
    assert args.str_arg == "test"
    assert not args.bool