test_validate_config.py 1.1 KB

12345678910111213141516171819202122232425262728
  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(f'generate-borgmatic-config --destination {config_path}'.split(' '))
  8. exit_code = subprocess.call(f'validate-borgmatic-config --config {config_path}'.split(' '))
  9. assert exit_code == 0
  10. def test_validate_config_command_with_invalid_configuration_fails():
  11. with tempfile.TemporaryDirectory() as temporary_directory:
  12. config_path = os.path.join(temporary_directory, 'test.yaml')
  13. subprocess.check_call(f'generate-borgmatic-config --destination {config_path}'.split(' '))
  14. config = open(config_path).read().replace('keep_daily: 7', 'keep_daily: "7"')
  15. config_file = open(config_path, 'w')
  16. config_file.write(config)
  17. config_file.close()
  18. exit_code = subprocess.call(f'validate-borgmatic-config --config {config_path}'.split(' '))
  19. assert exit_code == 1