From 50cb6975bc716bb4b2dd1fff1a8b87d5f715fdfe Mon Sep 17 00:00:00 2001 From: Joona Hoikkala Date: Tue, 10 Jul 2018 10:43:25 +0300 Subject: [PATCH] Properly handle None value for installer in updater --- certbot/plugins/selection.py | 4 ++++ certbot/plugins/selection_test.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/certbot/plugins/selection.py b/certbot/plugins/selection.py index 95f123a46..a8941e64b 100644 --- a/certbot/plugins/selection.py +++ b/certbot/plugins/selection.py @@ -263,6 +263,10 @@ def cli_plugin_requests(config): # pylint: disable=too-many-branches :rtype: tuple """ req_inst = req_auth = config.configurator + if config.installer == 'None': + config.installer = None + if config.authenticator == 'None': + config.authenticator = None req_inst = set_configurator(req_inst, config.installer) req_auth = set_configurator(req_auth, config.authenticator) diff --git a/certbot/plugins/selection_test.py b/certbot/plugins/selection_test.py index 44d64ab8e..4ff2a1807 100644 --- a/certbot/plugins/selection_test.py +++ b/certbot/plugins/selection_test.py @@ -215,6 +215,14 @@ class GetUnpreparedInstallerTest(test_util.ConfigTestCase): self.mock_apache_fail_ep.name = "apache" self.assertRaises(errors.PluginSelectionError, self._call) + def test_return_early_if_none(self): + self.config.installer = 'None' + # Make sure that the function returns early. PluginsRegistry.filter is + # called right after we should return. + with mock.patch('certbot.plugins.disco.PluginsRegistry.filter') as mock_f: + self._call() + self.assertFalse(mock_f.called) + if __name__ == "__main__": unittest.main() # pragma: no cover