mirror of
https://github.com/certbot/certbot.git
synced 2026-01-21 19:01:07 +03:00
choose_plugin can return None
This commit is contained in:
@@ -71,7 +71,11 @@ def pick_plugin(config, default, plugins, question, ifaces):
|
||||
|
||||
if len(prepared) > 1:
|
||||
logging.debug("Multiple candidate plugins: %s", prepared)
|
||||
return choose_plugin(prepared.values(), question).init()
|
||||
plugin_ep = choose_plugin(prepared.values(), question)
|
||||
if plugin_ep is None:
|
||||
return None
|
||||
else:
|
||||
return plugin_ep.init()
|
||||
elif len(prepared) == 1:
|
||||
plugin_ep = prepared.values()[0]
|
||||
logging.debug("Single candidate plugin: %s", plugin_ep)
|
||||
|
||||
@@ -102,6 +102,17 @@ class PickPluginTest(unittest.TestCase):
|
||||
mock_choose.assert_called_once_with(
|
||||
[plugin_ep, plugin_ep], self.question)
|
||||
|
||||
def test_choose_plugin_none(self):
|
||||
self.reg.ifaces().verify().available.return_value = {
|
||||
"bar": None,
|
||||
"baz": None,
|
||||
}
|
||||
|
||||
with mock.patch("letsencrypt.client.display"
|
||||
".ops.choose_plugin") as mock_choose:
|
||||
mock_choose.return_value = None
|
||||
self.assertTrue(self._call() is None)
|
||||
|
||||
|
||||
class ConveniencePickPluginTest(unittest.TestCase):
|
||||
"""Tests for letsencrypt.client.display.ops.pick_*."""
|
||||
|
||||
Reference in New Issue
Block a user