tests for arguments.py

This commit is contained in:
Divyansh Singh 2023-06-07 00:56:19 +05:30
parent 4b024daae0
commit f82631e3bb
2 changed files with 17 additions and 0 deletions

View File

@ -297,6 +297,12 @@ def test_parse_arguments_disallows_paths_unless_action_consumes_it():
with pytest.raises(SystemExit):
module.parse_arguments('--config', 'myconfig', '--path', 'test')
def test_parse_arguments_disallows_other_actions_with_config_bootstrap():
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
with pytest.raises(ValueError):
module.parse_arguments('config', 'bootstrap', '--repository', 'test.borg', 'list')
def test_parse_arguments_allows_archive_with_extract():
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])

View File

@ -1,5 +1,6 @@
import collections
import pytest
from flexmock import flexmock
from borgmatic.commands import arguments as module
@ -164,3 +165,13 @@ def test_parse_subparser_arguments_parses_borg_options_and_skips_other_subparser
assert arguments == {'borg': action_namespace}
assert arguments['borg'].options == ['list']
assert remaining_arguments == []
def test_parse_subparser_arguments_raises_error_when_no_subparser_is_specified():
action_namespace = flexmock(options=[])
subparsers = {
'config': flexmock(parse_known_args=lambda arguments: (action_namespace, ['config'])),
}
with pytest.raises(ValueError):
module.parse_subparser_arguments(('config',), subparsers)