48 lines
2.3 KiB
Python
48 lines
2.3 KiB
Python
from pathlib import Path
|
|
|
|
from rougail import Rougail
|
|
from rougail.user_data_commandline import RougailUserDataCommandline as RougailUserData
|
|
|
|
from rougail_tests.utils import get_rougail_config, config_to_dict
|
|
|
|
|
|
def test_error():
|
|
rougailconfig = get_rougail_config(Path('tests/structures/'), True)
|
|
##################################
|
|
rougailconfig['step.user_data'] = ['commandline']
|
|
##################################
|
|
rougail = Rougail(rougailconfig)
|
|
config = rougail.run()
|
|
arguments = ['--rougail.unknown', 'an other value']
|
|
generated_user_data = RougailUserData(config, rougailconfig=rougailconfig, arguments=arguments).run()
|
|
err_warn = rougail.user_data(generated_user_data)
|
|
assert err_warn == {'errors': ['unrecognized arguments: --rougail.unknown an other value'], 'warnings': []}
|
|
assert dict(config_to_dict(config.value.get())) == {'rougail.my_variable': None}
|
|
|
|
|
|
def test_allow_unknown_error():
|
|
rougailconfig = get_rougail_config(Path('tests/structures/'), True)
|
|
##################################
|
|
rougailconfig['step.user_data'] = ['commandline']
|
|
##################################
|
|
rougail = Rougail(rougailconfig)
|
|
config = rougail.run()
|
|
arguments = ['--rougail.my_variable', 'a value', '--rougail.unknown', 'an other value']
|
|
generated_user_data = RougailUserData(config, rougailconfig=rougailconfig, arguments=arguments).run()
|
|
err_warn = rougail.user_data(generated_user_data)
|
|
assert err_warn == {'errors': ['unrecognized arguments: --rougail.unknown an other value'], 'warnings': []}
|
|
assert dict(config_to_dict(config.value.get())) == {'rougail.my_variable': 'a value'}
|
|
|
|
|
|
def test_allow_unknown():
|
|
rougailconfig = get_rougail_config(Path('tests/structures/'), True)
|
|
##################################
|
|
rougailconfig['step.user_data'] = ['commandline']
|
|
##################################
|
|
rougail = Rougail(rougailconfig)
|
|
config = rougail.run()
|
|
arguments = ['--rougail.my_variable', 'a value', '--rougail.unknown', 'an other value']
|
|
generated_user_data = RougailUserData(config, rougailconfig=rougailconfig, arguments=arguments, allow_unknown=True).run()
|
|
err_warn = rougail.user_data(generated_user_data)
|
|
assert err_warn == {'errors': [], 'warnings': []}
|
|
assert dict(config_to_dict(config.value.get())) == {'rougail.my_variable': 'a value'}
|