test_validate_config.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import os
  2. import subprocess
  3. import tempfile
  4. def test_validate_config_command_with_valid_configuration_succeeds():
  5. with tempfile.TemporaryDirectory() as temporary_directory:
  6. config_path = os.path.join(temporary_directory, 'test.yaml')
  7. subprocess.check_call(
  8. 'generate-borgmatic-config --destination {}'.format(config_path).split(' ')
  9. )
  10. exit_code = subprocess.call(
  11. 'validate-borgmatic-config --config {}'.format(config_path).split(' ')
  12. )
  13. assert exit_code == 0
  14. def test_validate_config_command_with_invalid_configuration_fails():
  15. with tempfile.TemporaryDirectory() as temporary_directory:
  16. config_path = os.path.join(temporary_directory, 'test.yaml')
  17. subprocess.check_call(
  18. 'generate-borgmatic-config --destination {}'.format(config_path).split(' ')
  19. )
  20. config = open(config_path).read().replace('keep_daily: 7', 'keep_daily: "7"')
  21. config_file = open(config_path, 'w')
  22. config_file.write(config)
  23. config_file.close()
  24. exit_code = subprocess.call(
  25. 'validate-borgmatic-config --config {}'.format(config_path).split(' ')
  26. )
  27. assert exit_code == 1