| 123456789101112131415161718192021222324252627282930313233343536373839404142 | import osimport subprocessimport sysimport tempfiledef test_validate_config_command_with_valid_configuration_succeeds():    with tempfile.TemporaryDirectory() as temporary_directory:        config_path = os.path.join(temporary_directory, 'test.yaml')        subprocess.check_call(f'generate-borgmatic-config --destination {config_path}'.split(' '))        exit_code = subprocess.call(f'validate-borgmatic-config --config {config_path}'.split(' '))        assert exit_code == 0def test_validate_config_command_with_invalid_configuration_fails():    with tempfile.TemporaryDirectory() as temporary_directory:        config_path = os.path.join(temporary_directory, 'test.yaml')        subprocess.check_call(f'generate-borgmatic-config --destination {config_path}'.split(' '))        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(f'validate-borgmatic-config --config {config_path}'.split(' '))        assert exit_code == 1def test_validate_config_command_with_show_flag_displays_configuration():    with tempfile.TemporaryDirectory() as temporary_directory:        config_path = os.path.join(temporary_directory, 'test.yaml')        subprocess.check_call(f'generate-borgmatic-config --destination {config_path}'.split(' '))        output = subprocess.check_output(            f'validate-borgmatic-config --config {config_path} --show'.split(' ')        ).decode(sys.stdout.encoding)        assert 'location:' in output        assert 'repositories:' in output
 |