import argparse from flexmock import flexmock import borgmatic.logger from borgmatic.actions.config import validate as module def test_run_validate_with_show_renders_configurations(): log_lines = [] borgmatic.logger.add_custom_log_levels() def fake_logger_answer(message): log_lines.append(message) flexmock(module.logger).should_receive('answer').replace_with(fake_logger_answer) module.run_validate(argparse.Namespace(show=True), {'test.yaml': {'foo': {'bar': 'baz'}}}) assert log_lines == ['''foo:\n bar: baz\n'''] def test_run_validate_with_show_and_multiple_configs_renders_each(): log_lines = [] borgmatic.logger.add_custom_log_levels() def fake_logger_answer(message): log_lines.append(message) flexmock(module.logger).should_receive('answer').replace_with(fake_logger_answer) module.run_validate( argparse.Namespace(show=True), {'test.yaml': {'foo': {'bar': 'baz'}}, 'other.yaml': {'quux': 'value'}}, ) assert log_lines == ['---', 'foo:\n bar: baz\n', '---', 'quux: value\n']