Ejemplo n.º 1
0
def test_default_value_argument_prompts_until_correct_type_given(monkeypatch, capsys):
    inputs = ['invalid', '2']
    monkeypatch.setattr('builtins.input', lambda _: inputs.pop(0))
    a = DefaultValueArgument('name', PrimitiveType(int), '3')
    assert a.get_value({}) == 2
    captured = capsys.readouterr()
    assert escape_ansi(captured.out) == 'String "invalid" cannot be converted to int\n'
Ejemplo n.º 2
0
def test_default_value_argument_cast_value():
    a = DefaultValueArgument('name', PrimitiveType(int), 'default')
    assert a.get_value({'name': 3.14}) == 3
Ejemplo n.º 3
0
def test_default_value_argument_mistmatched_type_of_default_value():
    a = DefaultValueArgument('name', PrimitiveType(int), 'string')
    assert str(a) == 'name [default: string, type: int]'
Ejemplo n.º 4
0
def test_default_value_argument_prompts_for_secret_value(monkeypatch, capsys):
    monkeypatch.setattr('getpass.getpass', lambda _: 'password')
    a = DefaultValueArgument('name', SecretType(), 'default')
    assert a.get_value({}) == 'password'
Ejemplo n.º 5
0
def test_default_value_argument_returns_given_value():
    a = DefaultValueArgument('name', Type(), 'default')
    assert a.get_value({'name': 3.14}) == 3.14
Ejemplo n.º 6
0
def test_default_value_argument_passed_arguement_rewrites_default():
    a = DefaultValueArgument('name', PrimitiveType(str), 'default')
    assert a.get_value({'name': 'value'}, use_default=True) == 'value'
Ejemplo n.º 7
0
def test_default_value_argument_force_usage_of_default():
    a = DefaultValueArgument('name', PrimitiveType(str), 'default')
    assert a.get_value({}, use_default=True) == 'default'
Ejemplo n.º 8
0
def test_default_value_argument_empty_input_returns_default(monkeypatch):
    monkeypatch.setattr('builtins.input', lambda _: '')
    a = DefaultValueArgument('name', PrimitiveType(str), 'default')
    assert a.get_value({}) == 'default'
Ejemplo n.º 9
0
def test_default_value_argument_prompts_for_value(monkeypatch):
    monkeypatch.setattr('builtins.input', lambda _: 'string')
    a = DefaultValueArgument('name', PrimitiveType(str), 'default')
    assert a.get_value({}) == 'string'
Ejemplo n.º 10
0
def test_default_value_argument_with_type_to_string():
    a = DefaultValueArgument('name', PrimitiveType(int), 2)
    assert str(a) == 'name [default: 2, type: int]'
Ejemplo n.º 11
0
def test_default_value_argument_without_type_to_string():
    a = DefaultValueArgument('name', Type(), 3.14)
    assert str(a) == 'name [default: 3.14]'