test_convert_config.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import os
  2. import pytest
  3. from flexmock import flexmock
  4. from borgmatic.commands import convert_config as module
  5. def test_parse_arguments_with_no_arguments_uses_defaults():
  6. flexmock(os.path).should_receive('exists').and_return(True)
  7. parser = module.parse_arguments()
  8. assert parser.source_config_filename == module.DEFAULT_SOURCE_CONFIG_FILENAME
  9. assert parser.source_excludes_filename == module.DEFAULT_SOURCE_EXCLUDES_FILENAME
  10. assert parser.destination_config_filename == module.DEFAULT_DESTINATION_CONFIG_FILENAME
  11. def test_parse_arguments_with_filename_arguments_overrides_defaults():
  12. flexmock(os.path).should_receive('exists').and_return(True)
  13. parser = module.parse_arguments(
  14. '--source-config',
  15. 'config',
  16. '--source-excludes',
  17. 'excludes',
  18. '--destination-config',
  19. 'config.yaml',
  20. )
  21. assert parser.source_config_filename == 'config'
  22. assert parser.source_excludes_filename == 'excludes'
  23. assert parser.destination_config_filename == 'config.yaml'
  24. def test_parse_arguments_with_missing_default_excludes_file_sets_filename_to_none():
  25. flexmock(os.path).should_receive('exists').and_return(False)
  26. parser = module.parse_arguments()
  27. assert parser.source_config_filename == module.DEFAULT_SOURCE_CONFIG_FILENAME
  28. assert parser.source_excludes_filename is None
  29. assert parser.destination_config_filename == module.DEFAULT_DESTINATION_CONFIG_FILENAME
  30. def test_parse_arguments_with_invalid_arguments_exits():
  31. flexmock(os.path).should_receive('exists').and_return(True)
  32. with pytest.raises(SystemExit):
  33. module.parse_arguments('--posix-me-harder')