test_extract.py 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. from flexmock import flexmock
  2. from borgmatic.actions import extract as module
  3. def test_run_extract_calls_hooks():
  4. flexmock(module.logger).answer = lambda message: None
  5. flexmock(module.borgmatic.config.validate).should_receive('repositories_match').and_return(True)
  6. flexmock(module.borgmatic.borg.extract).should_receive('extract_archive')
  7. flexmock(module.borgmatic.hooks.command).should_receive('execute_hook').times(2)
  8. extract_arguments = flexmock(
  9. paths=flexmock(),
  10. progress=flexmock(),
  11. destination=flexmock(),
  12. strip_components=flexmock(),
  13. archive=flexmock(),
  14. repository='repo',
  15. )
  16. global_arguments = flexmock(monitoring_verbosity=1, dry_run=False)
  17. module.run_extract(
  18. config_filename='test.yaml',
  19. repository={'path': 'repo'},
  20. config={'repositories': ['repo']},
  21. hook_context={},
  22. local_borg_version=None,
  23. extract_arguments=extract_arguments,
  24. global_arguments=global_arguments,
  25. local_path=None,
  26. remote_path=None,
  27. )