2
0

test_version.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import logging
  2. import pytest
  3. from flexmock import flexmock
  4. from borgmatic.borg import version as module
  5. from ..test_verbosity import insert_logging_mock
  6. VERSION = '1.2.3'
  7. def insert_execute_command_and_capture_output_mock(
  8. command, borg_local_path='borg', version_output=f'borg {VERSION}'
  9. ):
  10. flexmock(module.environment).should_receive('make_environment')
  11. flexmock(module).should_receive('execute_command_and_capture_output').with_args(
  12. command,
  13. extra_environment=None,
  14. borg_local_path=borg_local_path,
  15. ).once().and_return(version_output)
  16. def test_local_borg_version_calls_borg_with_required_parameters():
  17. insert_execute_command_and_capture_output_mock(('borg', '--version'))
  18. flexmock(module.environment).should_receive('make_environment')
  19. assert module.local_borg_version({}) == VERSION
  20. def test_local_borg_version_with_log_info_calls_borg_with_info_parameter():
  21. insert_execute_command_and_capture_output_mock(('borg', '--version', '--info'))
  22. insert_logging_mock(logging.INFO)
  23. flexmock(module.environment).should_receive('make_environment')
  24. assert module.local_borg_version({}) == VERSION
  25. def test_local_borg_version_with_log_debug_calls_borg_with_debug_parameters():
  26. insert_execute_command_and_capture_output_mock(('borg', '--version', '--debug', '--show-rc'))
  27. insert_logging_mock(logging.DEBUG)
  28. flexmock(module.environment).should_receive('make_environment')
  29. assert module.local_borg_version({}) == VERSION
  30. def test_local_borg_version_with_local_borg_path_calls_borg_with_it():
  31. insert_execute_command_and_capture_output_mock(('borg1', '--version'), borg_local_path='borg1')
  32. flexmock(module.environment).should_receive('make_environment')
  33. assert module.local_borg_version({}, 'borg1') == VERSION
  34. def test_local_borg_version_with_invalid_version_raises():
  35. insert_execute_command_and_capture_output_mock(('borg', '--version'), version_output='wtf')
  36. flexmock(module.environment).should_receive('make_environment')
  37. with pytest.raises(ValueError):
  38. module.local_borg_version({})