| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- import subprocess
 
- from flexmock import flexmock
 
- import borgmatic.hooks.command
 
- from borgmatic.commands import borgmatic as module
 
- def test_borgmatic_version_matches_news_version():
 
-     flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
 
-     borgmatic_version = subprocess.check_output(('borgmatic', '--version')).decode('ascii')
 
-     news_version = open('NEWS').readline()
 
-     assert borgmatic_version == news_version
 
- def test_run_configuration_without_error_pings_monitoring_hooks_start_and_finish():
 
-     config = {'repositories': [{'path': 'foo'}]}
 
-     arguments = {'global': flexmock(monitoring_verbosity=1, dry_run=False), 'create': flexmock()}
 
-     flexmock(module.borg_version).should_receive('local_borg_version').and_return(flexmock())
 
-     flexmock(module).should_receive('run_actions').and_return([])
 
-     flexmock(module.dispatch).should_receive('call_hooks')
 
-     flexmock(module.dispatch).should_receive('call_hooks').with_args(
 
-         'ping_monitor',
 
-         config,
 
-         module.dispatch.Hook_type.MONITORING,
 
-         'test.yaml',
 
-         module.monitor.State.START,
 
-         object,
 
-         object,
 
-     ).once()
 
-     flexmock(module.dispatch).should_receive('call_hooks').with_args(
 
-         'ping_monitor',
 
-         config,
 
-         module.dispatch.Hook_type.MONITORING,
 
-         'test.yaml',
 
-         module.monitor.State.FINISH,
 
-         object,
 
-         object,
 
-     ).once()
 
-     list(module.run_configuration('test.yaml', config, ['/tmp/test.yaml'], arguments))
 
- def test_run_configuration_with_borg_version_error_pings_after_command_hook_with_fail_state():
 
-     config = {
 
-         'repositories': [{'path': 'foo'}],
 
-         'commands': ({'after': 'configuration', 'run': ['echo after'], 'states': ['fail']},),
 
-     }
 
-     arguments = {'global': flexmock(monitoring_verbosity=1, dry_run=False), 'create': flexmock()}
 
-     flexmock(module.borg_version).should_receive('local_borg_version').and_raise(ValueError)
 
-     flexmock(module).should_receive('run_actions').and_return([])
 
-     flexmock(module.dispatch).should_receive('call_hooks')
 
-     flexmock(borgmatic.hooks.command).should_receive('execute_hooks')
 
-     flexmock(borgmatic.hooks.command).should_receive('execute_hooks').with_args(
 
-         config['commands'],
 
-         umask=object,
 
-         working_directory=object,
 
-         dry_run=False,
 
-         log_file=object,
 
-         configuration_filename=object,
 
-     ).once()
 
-     list(module.run_configuration('test.yaml', config, ['/tmp/test.yaml'], arguments))
 
- def test_run_configuration_with_action_error_pings_monioring_hooks_start_and_fail():
 
-     config = {'repositories': [{'path': 'foo'}]}
 
-     arguments = {'global': flexmock(monitoring_verbosity=1, dry_run=False), 'create': flexmock()}
 
-     flexmock(module.borg_version).should_receive('local_borg_version').and_return(flexmock())
 
-     flexmock(module).should_receive('run_actions').and_raise(OSError)
 
-     flexmock(module.dispatch).should_receive('call_hooks')
 
-     flexmock(module.dispatch).should_receive('call_hooks').with_args(
 
-         'ping_monitor',
 
-         config,
 
-         module.dispatch.Hook_type.MONITORING,
 
-         'test.yaml',
 
-         module.monitor.State.START,
 
-         object,
 
-         object,
 
-     ).once()
 
-     flexmock(module.dispatch).should_receive('call_hooks').with_args(
 
-         'ping_monitor',
 
-         config,
 
-         module.dispatch.Hook_type.MONITORING,
 
-         'test.yaml',
 
-         module.monitor.State.FAIL,
 
-         object,
 
-         object,
 
-     ).once()
 
-     list(module.run_configuration('test.yaml', config, ['/tmp/test.yaml'], arguments))
 
 
  |