Files
borgmatic/tests/integration/config/test_arguments.py

35 lines
1.1 KiB
Python

import pytest
from borgmatic.config import arguments as module
def test_convert_value_type_passes_through_non_string_value():
assert module.convert_value_type([1, 2], 'array') == [1, 2]
def test_convert_value_type_passes_through_string_option_type():
assert module.convert_value_type('foo', 'string') == 'foo'
def test_convert_value_type_parses_array_option_type():
assert module.convert_value_type('[foo, bar]', 'array') == ['foo', 'bar']
def test_convert_value_type_with_array_option_type_and_no_array_raises():
with pytest.raises(ValueError):
module.convert_value_type('{foo, bar}', 'array')
def test_convert_value_type_parses_object_option_type():
assert module.convert_value_type('{foo: bar}', 'object') == {'foo': 'bar'}
def test_convert_value_type_with_invalid_value_raises():
with pytest.raises(ValueError):
module.convert_value_type('{foo, bar', 'object')
def test_convert_value_type_with_unknown_option_type_raises():
with pytest.raises(ValueError):
module.convert_value_type('{foo, bar}', 'thingy')