Ejemplo n.º 1
0
def test_query_user_raise_keyboard_interrupt(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: (_ for _ in ()).throw(KeyboardInterrupt),
    )
    with pytest.raises(KeyboardInterrupt):
        GetParams.query_user(d=DEFAULTS_DICT_GENERIC, )
Ejemplo n.º 2
0
def test_query_user_defaults_dict_corrupt(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_GENERIC,
    )
    with pytest.raises(TypeError):
        GetParams.query_user(d=DEFAULTS_DICT_CORRUPT, )
Ejemplo n.º 3
0
def test_query_user_no_args(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_GENERIC,
    )
    with pytest.raises(TypeError):
        GetParams.query_user()
Ejemplo n.º 4
0
def test_query_user_defaults_dict_choices_multi_wrong_input(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_CHOICES_INVALID,
    )
    with pytest.raises(ValueError):
        GetParams.query_user(
            d=DEFAULTS_DICT_CHOICES_MULTI,
            retries=RETRIES,
        ) == USER_INPUT_CHOICES
Ejemplo n.º 5
0
def test_get_params_no_user(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_GENERIC,
    )
    p = GetParams(
        defaults=DEFAULTS,
        params=PARAMS,
    )
    del p.params['user']
    assert p.get_params(retries=1) is None
Ejemplo n.º 6
0
def test_get_params_popen_exception(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_GENERIC,
    )
    monkeypatch.setattr(
        'os.popen',
        lambda description: (_ for _ in ()).throw(Exception),
    )
    p = GetParams(
        defaults=DEFAULTS,
        params=PARAMS,
    )
    del p.params['user']
    assert p.get_params(retries=1) is None
Ejemplo n.º 7
0
def test_query_user_defaults_dict_generic_no_input(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: "",
    )
    assert GetParams.query_user(
        d=DEFAULTS_DICT_GENERIC, ) == DEFAULTS_DICT_GENERIC['value']
Ejemplo n.º 8
0
def test_query_user_defaults_dict_generic(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_GENERIC,
    )
    assert GetParams.query_user(
        d=DEFAULTS_DICT_GENERIC, ) == USER_INPUT_GENERIC
Ejemplo n.º 9
0
def test_query_user_defaults_dict_choices_no_alt(monkeypatch):
    monkeypatch.setattr(
        'builtins.input',
        lambda description: USER_INPUT_CHOICES,
    )
    assert GetParams.query_user(
        d=DEFAULTS_DICT_CHOICES_NO_ALT) == USER_INPUT_CHOICES
Ejemplo n.º 10
0
def test_slugify_keep_uppercase():
    assert GetParams.slugify(
        s=UNSANITIZED,
        allowed_start=ascii_uppercase + ascii_lowercase,
        allowed_end=ascii_uppercase + ascii_lowercase + digits,
        allowed_rest=ascii_uppercase + ascii_lowercase + digits + "_",
        lower=False,
    ) == SLUG_KEEP_UPPERCASE
Ejemplo n.º 11
0
def test_init_args_all_params():
    p = GetParams(
        defaults=DEFAULTS,
        params=PARAMS,
    )
    assert p.params == PARAMS
Ejemplo n.º 12
0
def test_split_choices_multi_items_multi_sep():
    assert GetParams.split_choices(
        s=CHOICES_MULTI,
        sep=SEP_MULTI,
    ) == CHOICES_MULTI_SPLIT_MULTI_SEP
Ejemplo n.º 13
0
def test_init_no_args():
    with pytest.raises(TypeError):
        GetParams()
Ejemplo n.º 14
0
def test_split_choices_wrong_type_sep_2():
    with pytest.raises(TypeError):
        GetParams.split_choices(
            s=UNSANITIZED,
            sep=LIST,
        )
Ejemplo n.º 15
0
def test_split_choices_one_item():
    assert GetParams.split_choices(s=CHOICES, ) == CHOICES_SPLIT
Ejemplo n.º 16
0
def test_slugify_wrong_type_s():
    with pytest.raises(TypeError):
        GetParams.slugify(s=LIST, )
Ejemplo n.º 17
0
def test_split_choices_wrong_type_s():
    with pytest.raises(TypeError):
        GetParams.split_choices(s=LIST, )
Ejemplo n.º 18
0
def test_slugify_no_args():
    with pytest.raises(TypeError):
        GetParams.slugify()
Ejemplo n.º 19
0
def test_slugify_no_chars_allowed_at_end():
    assert GetParams.slugify(
        s=UNSANITIZED,
        allowed_end="",
    ) == ""
Ejemplo n.º 20
0
def test_slugify_no_whitespace():
    assert GetParams.slugify(
        s=UNSANITIZED,
        whitespace_replace="",
    ) == SLUG_WHITESPACE_REMOVED
Ejemplo n.º 21
0
def test_slugify_remove_uppercase():
    assert GetParams.slugify(
        s=UNSANITIZED,
        lower=False,
    ) == SLUG_UPPERCASE_REMOVED
Ejemplo n.º 22
0
def test_query_user_wrong_type_d():
    with pytest.raises(TypeError):
        GetParams.query_user(d=LIST, )
Ejemplo n.º 23
0
def test_slugify_wrong_type_lower():
    with pytest.raises(TypeError):
        GetParams.slugify(
            s=UNSANITIZED,
            lower=LIST,
        )
Ejemplo n.º 24
0
def test_slugify_wrong_type_allowed_rest():
    with pytest.raises(TypeError):
        GetParams.slugify(
            s=UNSANITIZED,
            allowed_rest=LIST,
        )
Ejemplo n.º 25
0
def test_query_user_wrong_type_retries():
    with pytest.raises(TypeError):
        GetParams.query_user(
            d=DEFAULTS_DICT_CORRUPT,
            retries=LIST,
        )
Ejemplo n.º 26
0
def test_split_choices_no_args():
    with pytest.raises(TypeError):
        GetParams.split_choices()
Ejemplo n.º 27
0
def test_slugify_wrong_type_whitespace_replace():
    with pytest.raises(TypeError):
        GetParams.slugify(
            s=UNSANITIZED,
            whitespace_replace=LIST,
        )
Ejemplo n.º 28
0
def test_slugify_okay():
    assert GetParams.slugify(s=UNSANITIZED, ) == SLUG_DEFAULT