diff --git a/tests/utils/test_parser.py b/tests/utils/test_parser.py index 604ac9a..5520114 100644 --- a/tests/utils/test_parser.py +++ b/tests/utils/test_parser.py @@ -32,8 +32,14 @@ def test_parse_without_file_path(parser: Parser): assert parser.output_file == './README.rst' +def test_parse_without_substitutions(parser: Parser): + with pytest.raises(ValueError): + parser.parse(['-i=./CHANGELOG.rst', '-o=./CHANGELOG.rst']) + + def test_parse_with_file_path(parser: Parser): parser.parse([ + 'varst=variable to reStructuredText', '-i=./CHANGELOG.rst', '-o=./CHANGELOG.rst', ]) diff --git a/varst/utils/parser.py b/varst/utils/parser.py index 6245a4d..e990448 100644 --- a/varst/utils/parser.py +++ b/varst/utils/parser.py @@ -51,6 +51,8 @@ def parse(self, argv: Optional[Sequence[str]]) -> None: Args: argv: Arguments vector + Raises: + ValueError: If the substitutions are not passed """ args = self._parser.parse_args(argv) @@ -59,6 +61,10 @@ def parse(self, argv: Optional[Sequence[str]]) -> None: self.input_file = self.output_file = arg_dict['input'] if arg_dict['output'] is not None: self.output_file = arg_dict['output'] + + substitutions = arg_dict['substitutions'] + if not substitutions: + raise ValueError("Substitutions are not passed") self.sub_pairs = _parse_kv(arg_dict['substitutions'])