test_umount.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import logging
  2. from flexmock import flexmock
  3. from borgmatic.borg import umount as module
  4. from ..test_verbosity import insert_logging_mock
  5. def insert_execute_command_mock(command, borg_local_path='borg', borg_exit_codes=None):
  6. flexmock(module).should_receive('execute_command').with_args(
  7. command, borg_local_path=borg_local_path, borg_exit_codes=borg_exit_codes
  8. ).once()
  9. def test_unmount_archive_calls_borg_with_required_parameters():
  10. insert_execute_command_mock(('borg', 'umount', '/mnt'))
  11. module.unmount_archive(config={}, mount_point='/mnt')
  12. def test_unmount_archive_with_log_info_calls_borg_with_info_parameter():
  13. insert_execute_command_mock(('borg', 'umount', '--info', '/mnt'))
  14. insert_logging_mock(logging.INFO)
  15. module.unmount_archive(config={}, mount_point='/mnt')
  16. def test_unmount_archive_with_log_debug_calls_borg_with_debug_parameters():
  17. insert_execute_command_mock(('borg', 'umount', '--debug', '--show-rc', '/mnt'))
  18. insert_logging_mock(logging.DEBUG)
  19. module.unmount_archive(config={}, mount_point='/mnt')
  20. def test_unmount_archive_calls_borg_with_local_path():
  21. insert_execute_command_mock(('borg1', 'umount', '/mnt'), borg_local_path='borg1')
  22. module.unmount_archive(config={}, mount_point='/mnt', local_path='borg1')
  23. def test_unmount_archive_calls_borg_with_exit_codes():
  24. borg_exit_codes = flexmock()
  25. insert_execute_command_mock(('borg', 'umount', '/mnt'), borg_exit_codes=borg_exit_codes)
  26. module.unmount_archive(config={'borg_exit_codes': borg_exit_codes}, mount_point='/mnt')