Beispiel #1
0
def test_parser_arg_groups(capsys):
    args = {
        ("--arg1",): {
            "group": "Group 1",
            "help": "Argument 1",
            "required": True,
            "type": str,
        },
        ("--arg2",): {
            "group": "Group 1",
            "help": "Argument 2",
            "required": True,
            "type": str,
        },
        ("--arg3",): {
            "group": "Group 2",
            "help": "Argument 3",
            "required": True,
            "type": str,
        },
        ("--arg4",): {
            "group": "Group 2",
            "help": "Argument 4",
            "required": True,
            "type": bool,
        },
    }

    parser = setup_arg_parser(args)
    parser.print_help()
    out, _ = capsys.readouterr()

    assert "Group 1:" in out
    assert "Group 2:" in out
Beispiel #2
0
def test_parser_action():
    args = {
        ("--arg1",): {
            "group": "Group 1",
            "help": "Argument 1",
            "required": True,
            "action": "store_true",
        }
    }

    parser = setup_arg_parser(args)
    parsed_args = parser.parse_args(["--arg1"])
    assert parsed_args.arg1 is True
Beispiel #3
0
def test_parser_type():
    args = {
        ("--arg1",): {
            "group": "Group 1",
            "help": "Argument 1",
            "required": True,
            "type": int,
        }
    }

    parser = setup_arg_parser(args)
    parser.parse_args(["--arg1", "-1502"])
    with pytest.raises(SystemExit):
        parser.parse_args(["--arg1", "s"])
Beispiel #4
0
def test_parser_default():
    args = {
        ("--arg1",): {
            "group": "Group 1",
            "help": "Argument 1",
            "required": False,
            "type": int,
            "default": "1",
        }
    }

    parser = setup_arg_parser(args)
    parser.parse_args(["--arg1", "-1502"])
    parsed_args = parser.parse_args([])
    assert parsed_args.arg1 == 1
Beispiel #5
0
def test_parser_arg_not_required():
    args = {
        ("--arg1",): {
            "group": "Group 1",
            "help": "Argument 1",
            "required": False,
            "type": str,
        }
    }

    parser = setup_arg_parser(args)
    parser.parse_args(["--arg1", "test"])
    parser.parse_args([])
    with pytest.raises(SystemExit):
        parser.parse_args(["--arg1"])