ConfigOption: add _get_user_input method to allow to mock it in tests
This commit is contained in:
parent
014a0802f8
commit
6a7368deb5
1 changed files with 9 additions and 1 deletions
|
@ -222,6 +222,14 @@ class BaseOption: # pylint: disable=too-many-instance-attributes
|
||||||
lines.append('')
|
lines.append('')
|
||||||
return '\n'.join(lines)
|
return '\n'.join(lines)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _get_user_input(prompt):
|
||||||
|
"""
|
||||||
|
Get user console input
|
||||||
|
Note: do not use directly input() to allow to mock it in tests
|
||||||
|
"""
|
||||||
|
return input(prompt)
|
||||||
|
|
||||||
def _ask_value(self, prompt=None, **kwargs):
|
def _ask_value(self, prompt=None, **kwargs):
|
||||||
""" Ask to user to enter value of this option and return it """
|
""" Ask to user to enter value of this option and return it """
|
||||||
if self.comment:
|
if self.comment:
|
||||||
|
@ -236,7 +244,7 @@ class BaseOption: # pylint: disable=too-many-instance-attributes
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
prompt += f'[{self.to_config(default_value)}] '
|
prompt += f'[{self.to_config(default_value)}] '
|
||||||
value = input(prompt)
|
value = self._get_user_input(prompt)
|
||||||
return default_value if value == '' else value
|
return default_value if value == '' else value
|
||||||
|
|
||||||
def ask_value(self, set_it=True):
|
def ask_value(self, set_it=True):
|
||||||
|
|
Loading…
Reference in a new issue