From ac777965d0487ea236f50d42fcf272558ba40660 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 6 Nov 2019 09:52:21 -0800 Subject: [PATCH] Fix regression of generate-borgmatic-config working without --source flag (#239). --- borgmatic/config/generate.py | 2 ++ tests/unit/config/test_generate.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/borgmatic/config/generate.py b/borgmatic/config/generate.py index 05bbd367c..e69d4354f 100644 --- a/borgmatic/config/generate.py +++ b/borgmatic/config/generate.py @@ -230,6 +230,8 @@ def merge_source_configuration_into_destination(destination_config, source_confi new configuration keys and comments. ''' + if not source_config: + return destination_config if not destination_config or not isinstance(source_config, collections.abc.Mapping): return source_config diff --git a/tests/unit/config/test_generate.py b/tests/unit/config/test_generate.py index a0a79ba70..8e5a07f12 100644 --- a/tests/unit/config/test_generate.py +++ b/tests/unit/config/test_generate.py @@ -123,3 +123,12 @@ def test_merge_source_configuration_into_destination_inserts_sequence_of_maps(): 'foo': [{'first': 'source1', 'second': 'dest2'}, {'other': 'source2'}], 'bar': 'dest3', } + + +def test_merge_source_configuration_into_destination_without_source_does_nothing(): + original_destination_config = {'foo': 'dest1', 'bar': 'dest2'} + destination_config = dict(original_destination_config) + + module.merge_source_configuration_into_destination(destination_config, None) + + assert destination_config == original_destination_config