|
@@ -29,6 +29,36 @@ def generate_configuration(config_path, repository_path):
|
|
|
config_file.close()
|
|
|
|
|
|
|
|
|
+def validate_valid_configuration(config_path):
|
|
|
+ '''
|
|
|
+ Validate borgmatic configuration which is valid.
|
|
|
+ '''
|
|
|
+ subprocess.check_call(
|
|
|
+ 'validate-borgmatic-config --config {}'.format(config_path).split(' ')
|
|
|
+ )
|
|
|
+
|
|
|
+
|
|
|
+def validate_invalid_configuration(config_path):
|
|
|
+ '''
|
|
|
+ Validate borgmatic configuration which is invalid.
|
|
|
+ '''
|
|
|
+
|
|
|
+ config = (
|
|
|
+ open(config_path)
|
|
|
+ .read()
|
|
|
+ .replace('keep_daily: 7', 'keep_daily: "7"')
|
|
|
+ )
|
|
|
+ config_file = open(config_path, 'w')
|
|
|
+ config_file.write(config)
|
|
|
+ config_file.close()
|
|
|
+
|
|
|
+ exit_code = subprocess.call(
|
|
|
+ 'validate-borgmatic-config --config {}'.format(config_path).split(' ')
|
|
|
+ )
|
|
|
+
|
|
|
+ assert exit_code == 1
|
|
|
+
|
|
|
+
|
|
|
def test_borgmatic_command():
|
|
|
# Create a Borg repository.
|
|
|
temporary_directory = tempfile.mkdtemp()
|
|
@@ -41,7 +71,11 @@ def test_borgmatic_command():
|
|
|
|
|
|
try:
|
|
|
config_path = os.path.join(temporary_directory, 'test.yaml')
|
|
|
+ invalid_config_path = os.path.join(temporary_directory, 'test_invalid.yaml')
|
|
|
generate_configuration(config_path, repository_path)
|
|
|
+ generate_configuration(invalid_config_path, repository_path)
|
|
|
+ validate_valid_configuration(config_path)
|
|
|
+ validate_invalid_configuration(invalid_config_path)
|
|
|
|
|
|
subprocess.check_call(
|
|
|
'borgmatic -v 2 --config {} --init --encryption repokey'.format(config_path).split(' ')
|