|
@@ -2120,3 +2120,53 @@ def test_collect_configuration_run_summary_logs_outputs_merged_json_results():
|
|
|
arguments=arguments,
|
|
|
)
|
|
|
)
|
|
|
+def test_check_and_show_help_on_no_args_shows_help_when_no_args_and_default_actions_false():
|
|
|
+ flexmock(module.sys).should_receive('argv').and_return(['borgmatic'])
|
|
|
+ flexmock(module).should_receive('parse_arguments').with_args('--help').once()
|
|
|
+ flexmock(module.sys).should_receive('exit').with_args(0).once()
|
|
|
+ module.check_and_show_help_on_no_args({'test.yaml': {'default_actions': False}})
|
|
|
+
|
|
|
+
|
|
|
+def test_check_and_show_help_on_no_args_does_not_show_help_when_no_args_and_default_actions_true():
|
|
|
+ flexmock(module.sys).should_receive('argv').and_return(['borgmatic'])
|
|
|
+ flexmock(module).should_receive('parse_arguments').never()
|
|
|
+ flexmock(module.sys).should_receive('exit').never()
|
|
|
+ module.check_and_show_help_on_no_args({'test.yaml': {'default_actions': True}})
|
|
|
+
|
|
|
+
|
|
|
+def test_check_and_show_help_on_no_args_does_not_show_help_when_args_provided():
|
|
|
+ flexmock(module.sys).should_receive('argv').and_return(['borgmatic', '--create'])
|
|
|
+ flexmock(module).should_receive('parse_arguments').never()
|
|
|
+ flexmock(module.sys).should_receive('exit').never()
|
|
|
+ module.check_and_show_help_on_no_args({'test.yaml': {'default_actions': False}})
|
|
|
+
|
|
|
+def test_check_and_show_help_on_no_args_with_no_default_actions_in_all_configs():
|
|
|
+ flexmock(module.sys).should_receive('argv').and_return(['borgmatic'])
|
|
|
+
|
|
|
+ # Both configs have default_actions set to False, so help should be shown
|
|
|
+ configs = {
|
|
|
+ 'config1.yaml': {'default_actions': False},
|
|
|
+ 'config2.yaml': {'default_actions': False}
|
|
|
+ }
|
|
|
+
|
|
|
+ # Expect help to be shown
|
|
|
+ flexmock(module).should_receive('parse_arguments').with_args('--help').once()
|
|
|
+ flexmock(module.sys).should_receive('exit').with_args(0).once()
|
|
|
+
|
|
|
+ module.check_and_show_help_on_no_args(configs)
|
|
|
+
|
|
|
+def test_check_and_show_help_on_no_args_with_conflicting_configs():
|
|
|
+ flexmock(module.sys).should_receive('argv').and_return(['borgmatic'])
|
|
|
+
|
|
|
+ # Simulate two config files with conflicting 'default_actions' values
|
|
|
+ configs = {
|
|
|
+ 'config1.yaml': {'default_actions': True},
|
|
|
+ 'config2.yaml': {'default_actions': False}
|
|
|
+ }
|
|
|
+
|
|
|
+ # Expect help not to be shown because at least one config enables default actions
|
|
|
+ flexmock(module).should_receive('parse_arguments').never()
|
|
|
+ flexmock(module.sys).should_receive('exit').never()
|
|
|
+
|
|
|
+ module.check_and_show_help_on_no_args(configs)
|
|
|
+
|