Move items in certbot/plugins to _internal (#7533)

* Create and initialize _internal/plugins

* Move plugins/manual.py to _internal/

* Move plugins/disco.py to _internal/

* Move plugins/selection.py to _internal/

* Move plugins/webroot.py to _internal/

* Move plugins/null.py to _internal/

* Move plugins/standalone.py to _internal/

* add missed internalization

* shorten line

* Update outdated init comment
This commit is contained in:
ohemorange
2019-11-11 15:14:18 -08:00
committed by GitHub
parent 641b60b8f0
commit 08c1de34bd
32 changed files with 79 additions and 102 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ from certbot import util
from certbot.compat import os from certbot.compat import os
from certbot._internal.display import enhancements from certbot._internal.display import enhancements
from certbot.display import ops as display_ops from certbot.display import ops as display_ops
from certbot.plugins import selection as plugin_selection from certbot._internal.plugins import selection as plugin_selection
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
+2 -2
View File
@@ -35,9 +35,9 @@ from certbot.compat import filesystem
from certbot.compat import misc from certbot.compat import misc
from certbot.compat import os from certbot.compat import os
from certbot.display import util as display_util, ops as display_ops from certbot.display import util as display_util, ops as display_ops
from certbot.plugins import disco as plugins_disco from certbot._internal.plugins import disco as plugins_disco
from certbot.plugins import enhancements from certbot.plugins import enhancements
from certbot.plugins import selection as plug_sel from certbot._internal.plugins import selection as plug_sel
USER_CANCELLED = ("User chose to cancel the operation and may " USER_CANCELLED = ("User chose to cancel the operation and may "
"reinvoke the client.") "reinvoke the client.")
+1
View File
@@ -0,0 +1 @@
"""Certbot plugins."""
@@ -43,7 +43,7 @@ def get_unprepared_installer(config, plugins):
Get an unprepared interfaces.IInstaller object. Get an unprepared interfaces.IInstaller object.
:param certbot.interfaces.IConfig config: Configuration :param certbot.interfaces.IConfig config: Configuration
:param certbot.plugins.disco.PluginsRegistry plugins: :param certbot._internal.plugins.disco.PluginsRegistry plugins:
All plugins registered as entry points. All plugins registered as entry points.
:returns: Unprepared installer plugin or None :returns: Unprepared installer plugin or None
@@ -73,7 +73,7 @@ def pick_plugin(config, default, plugins, question, ifaces):
:param certbot.interfaces.IConfig: Configuration :param certbot.interfaces.IConfig: Configuration
:param str default: Plugin name supplied by user or ``None``. :param str default: Plugin name supplied by user or ``None``.
:param certbot.plugins.disco.PluginsRegistry plugins: :param certbot._internal.plugins.disco.PluginsRegistry plugins:
All plugins registered as entry points. All plugins registered as entry points.
:param str question: Question to be presented to the user in case :param str question: Question to be presented to the user in case
multiple candidates are found. multiple candidates are found.
+1 -1
View File
@@ -24,7 +24,7 @@ from certbot._internal import storage
from certbot._internal import updater from certbot._internal import updater
from certbot import util from certbot import util
from certbot.compat import os from certbot.compat import os
from certbot.plugins import disco as plugins_disco from certbot._internal.plugins import disco as plugins_disco
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
+1 -1
View File
@@ -21,7 +21,7 @@ from certbot import util
from certbot.compat import os from certbot.compat import os
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.plugins import common as plugins_common from certbot.plugins import common as plugins_common
from certbot.plugins import disco as plugins_disco from certbot._internal.plugins import disco as plugins_disco
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
+1 -1
View File
@@ -4,7 +4,7 @@ import logging
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot.plugins import selection as plug_sel from certbot._internal.plugins import selection as plug_sel
import certbot.plugins.enhancements as enhancements import certbot.plugins.enhancements as enhancements
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
+2 -2
View File
@@ -21,7 +21,7 @@ from acme.magic_typing import Any, Dict, Optional
import certbot import certbot
import certbot.plugins.enhancements as enhancements import certbot.plugins.enhancements as enhancements
import certbot.plugins.selection as plugin_selection import certbot._internal.plugins.selection as plugin_selection
from certbot import constants from certbot import constants
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors
@@ -30,7 +30,7 @@ from certbot import interfaces
from certbot import util from certbot import util
from certbot.compat import os from certbot.compat import os
from certbot.display import util as display_util from certbot.display import util as display_util
from certbot.plugins import disco as plugins_disco from certbot._internal.plugins import disco as plugins_disco
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
+1 -1
View File
@@ -1 +1 @@
"""Certbot client.plugins.""" """Certbot plugins."""
+13 -13
View File
@@ -1,4 +1,4 @@
"""Tests for certbot.plugins.disco.""" """Tests for certbot._internal.plugins.disco."""
import functools import functools
import string import string
import unittest import unittest
@@ -12,21 +12,21 @@ from acme.magic_typing import List # pylint: disable=unused-import, no-name-in-
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot.plugins import standalone from certbot._internal.plugins import standalone
from certbot.plugins import webroot from certbot._internal.plugins import webroot
EP_SA = pkg_resources.EntryPoint( EP_SA = pkg_resources.EntryPoint(
"sa", "certbot.plugins.standalone", "sa", "certbot._internal.plugins.standalone",
attrs=("Authenticator",), attrs=("Authenticator",),
dist=mock.MagicMock(key="certbot")) dist=mock.MagicMock(key="certbot"))
EP_WR = pkg_resources.EntryPoint( EP_WR = pkg_resources.EntryPoint(
"wr", "certbot.plugins.webroot", "wr", "certbot._internal.plugins.webroot",
attrs=("Authenticator",), attrs=("Authenticator",),
dist=mock.MagicMock(key="certbot")) dist=mock.MagicMock(key="certbot"))
class PluginEntryPointTest(unittest.TestCase): class PluginEntryPointTest(unittest.TestCase):
"""Tests for certbot.plugins.disco.PluginEntryPoint.""" """Tests for certbot._internal.plugins.disco.PluginEntryPoint."""
def setUp(self): def setUp(self):
self.ep1 = pkg_resources.EntryPoint( self.ep1 = pkg_resources.EntryPoint(
@@ -40,11 +40,11 @@ class PluginEntryPointTest(unittest.TestCase):
self.ep3 = pkg_resources.EntryPoint( self.ep3 = pkg_resources.EntryPoint(
"ep3", "a.ep3", dist=mock.MagicMock(key="p3")) "ep3", "a.ep3", dist=mock.MagicMock(key="p3"))
from certbot.plugins.disco import PluginEntryPoint from certbot._internal.plugins.disco import PluginEntryPoint
self.plugin_ep = PluginEntryPoint(EP_SA) self.plugin_ep = PluginEntryPoint(EP_SA)
def test_entry_point_to_plugin_name(self): def test_entry_point_to_plugin_name(self):
from certbot.plugins.disco import PluginEntryPoint from certbot._internal.plugins.disco import PluginEntryPoint
names = { names = {
self.ep1: "p1:ep1", self.ep1: "p1:ep1",
@@ -119,7 +119,7 @@ class PluginEntryPointTest(unittest.TestCase):
self.plugin_ep._initialized = plugin = mock.MagicMock() self.plugin_ep._initialized = plugin = mock.MagicMock()
exceptions = zope.interface.exceptions exceptions = zope.interface.exceptions
with mock.patch("certbot.plugins." with mock.patch("certbot._internal.plugins."
"disco.zope.interface") as mock_zope: "disco.zope.interface") as mock_zope:
mock_zope.exceptions = exceptions mock_zope.exceptions = exceptions
@@ -183,11 +183,11 @@ class PluginEntryPointTest(unittest.TestCase):
class PluginsRegistryTest(unittest.TestCase): class PluginsRegistryTest(unittest.TestCase):
"""Tests for certbot.plugins.disco.PluginsRegistry.""" """Tests for certbot._internal.plugins.disco.PluginsRegistry."""
@classmethod @classmethod
def _create_new_registry(cls, plugins): def _create_new_registry(cls, plugins):
from certbot.plugins.disco import PluginsRegistry from certbot._internal.plugins.disco import PluginsRegistry
return PluginsRegistry(plugins) return PluginsRegistry(plugins)
def setUp(self): def setUp(self):
@@ -198,8 +198,8 @@ class PluginsRegistryTest(unittest.TestCase):
self.reg = self._create_new_registry(self.plugins) self.reg = self._create_new_registry(self.plugins)
def test_find_all(self): def test_find_all(self):
from certbot.plugins.disco import PluginsRegistry from certbot._internal.plugins.disco import PluginsRegistry
with mock.patch("certbot.plugins.disco.pkg_resources") as mock_pkg: with mock.patch("certbot._internal.plugins.disco.pkg_resources") as mock_pkg:
mock_pkg.iter_entry_points.side_effect = [iter([EP_SA]), mock_pkg.iter_entry_points.side_effect = [iter([EP_SA]),
iter([EP_WR])] iter([EP_WR])]
plugins = PluginsRegistry.find_all() plugins = PluginsRegistry.find_all()
+1 -1
View File
@@ -3,7 +3,7 @@ import unittest
import mock import mock
from certbot.plugins import enhancements from certbot.plugins import enhancements
from certbot.plugins import null from certbot._internal.plugins import null
import certbot.tests.util as test_util import certbot.tests.util as test_util
+3 -3
View File
@@ -1,4 +1,4 @@
"""Tests for certbot.plugins.manual""" """Tests for certbot._internal.plugins.manual"""
import unittest import unittest
import sys import sys
@@ -15,7 +15,7 @@ from certbot.tests import util as test_util
class AuthenticatorTest(test_util.TempDirTestCase): class AuthenticatorTest(test_util.TempDirTestCase):
"""Tests for certbot.plugins.manual.Authenticator.""" """Tests for certbot._internal.plugins.manual.Authenticator."""
def setUp(self): def setUp(self):
super(AuthenticatorTest, self).setUp() super(AuthenticatorTest, self).setUp()
@@ -39,7 +39,7 @@ class AuthenticatorTest(test_util.TempDirTestCase):
self.tempdir, "temp_checkpoint_dir"), self.tempdir, "temp_checkpoint_dir"),
in_progress_dir=os.path.join(self.tempdir, "in_progess")) in_progress_dir=os.path.join(self.tempdir, "in_progess"))
from certbot.plugins.manual import Authenticator from certbot._internal.plugins.manual import Authenticator
self.auth = Authenticator(self.config, name='manual') self.auth = Authenticator(self.config, name='manual')
def test_prepare_no_hook_noninteractive(self): def test_prepare_no_hook_noninteractive(self):
+3 -3
View File
@@ -1,4 +1,4 @@
"""Tests for certbot.plugins.null.""" """Tests for certbot._internal.plugins.null."""
import unittest import unittest
import six import six
@@ -6,10 +6,10 @@ import mock
class InstallerTest(unittest.TestCase): class InstallerTest(unittest.TestCase):
"""Tests for certbot.plugins.null.Installer.""" """Tests for certbot._internal.plugins.null.Installer."""
def setUp(self): def setUp(self):
from certbot.plugins.null import Installer from certbot._internal.plugins.null import Installer
self.installer = Installer(config=mock.MagicMock(), name="null") self.installer = Installer(config=mock.MagicMock(), name="null")
def test_it(self): def test_it(self):
+18 -18
View File
@@ -11,40 +11,40 @@ from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot.compat import os from certbot.compat import os
from certbot.display import util as display_util from certbot.display import util as display_util
from certbot.plugins.disco import PluginsRegistry from certbot._internal.plugins.disco import PluginsRegistry
from certbot.tests import util as test_util from certbot.tests import util as test_util
class ConveniencePickPluginTest(unittest.TestCase): class ConveniencePickPluginTest(unittest.TestCase):
"""Tests for certbot.plugins.selection.pick_*.""" """Tests for certbot._internal.plugins.selection.pick_*."""
def _test(self, fun, ifaces): def _test(self, fun, ifaces):
config = mock.Mock() config = mock.Mock()
default = mock.Mock() default = mock.Mock()
plugins = mock.Mock() plugins = mock.Mock()
with mock.patch("certbot.plugins.selection.pick_plugin") as mock_p: with mock.patch("certbot._internal.plugins.selection.pick_plugin") as mock_p:
mock_p.return_value = "foo" mock_p.return_value = "foo"
self.assertEqual("foo", fun(config, default, plugins, "Question?")) self.assertEqual("foo", fun(config, default, plugins, "Question?"))
mock_p.assert_called_once_with( mock_p.assert_called_once_with(
config, default, plugins, "Question?", ifaces) config, default, plugins, "Question?", ifaces)
def test_authenticator(self): def test_authenticator(self):
from certbot.plugins.selection import pick_authenticator from certbot._internal.plugins.selection import pick_authenticator
self._test(pick_authenticator, (interfaces.IAuthenticator,)) self._test(pick_authenticator, (interfaces.IAuthenticator,))
def test_installer(self): def test_installer(self):
from certbot.plugins.selection import pick_installer from certbot._internal.plugins.selection import pick_installer
self._test(pick_installer, (interfaces.IInstaller,)) self._test(pick_installer, (interfaces.IInstaller,))
def test_configurator(self): def test_configurator(self):
from certbot.plugins.selection import pick_configurator from certbot._internal.plugins.selection import pick_configurator
self._test(pick_configurator, self._test(pick_configurator,
(interfaces.IAuthenticator, interfaces.IInstaller)) (interfaces.IAuthenticator, interfaces.IInstaller))
class PickPluginTest(unittest.TestCase): class PickPluginTest(unittest.TestCase):
"""Tests for certbot.plugins.selection.pick_plugin.""" """Tests for certbot._internal.plugins.selection.pick_plugin."""
def setUp(self): def setUp(self):
self.config = mock.Mock(noninteractive_mode=False) self.config = mock.Mock(noninteractive_mode=False)
@@ -54,7 +54,7 @@ class PickPluginTest(unittest.TestCase):
self.ifaces = [] # type: List[interfaces.IPlugin] self.ifaces = [] # type: List[interfaces.IPlugin]
def _call(self): def _call(self):
from certbot.plugins.selection import pick_plugin from certbot._internal.plugins.selection import pick_plugin
return pick_plugin(self.config, self.default, self.reg, return pick_plugin(self.config, self.default, self.reg,
self.question, self.ifaces) self.question, self.ifaces)
@@ -95,7 +95,7 @@ class PickPluginTest(unittest.TestCase):
"bar": plugin_ep, "bar": plugin_ep,
"baz": plugin_ep, "baz": plugin_ep,
} }
with mock.patch("certbot.plugins.selection.choose_plugin") as mock_choose: with mock.patch("certbot._internal.plugins.selection.choose_plugin") as mock_choose:
mock_choose.return_value = plugin_ep mock_choose.return_value = plugin_ep
self.assertEqual("foo", self._call()) self.assertEqual("foo", self._call())
mock_choose.assert_called_once_with( mock_choose.assert_called_once_with(
@@ -107,13 +107,13 @@ class PickPluginTest(unittest.TestCase):
"baz": None, "baz": None,
} }
with mock.patch("certbot.plugins.selection.choose_plugin") as mock_choose: with mock.patch("certbot._internal.plugins.selection.choose_plugin") as mock_choose:
mock_choose.return_value = None mock_choose.return_value = None
self.assertTrue(self._call() is None) self.assertTrue(self._call() is None)
class ChoosePluginTest(unittest.TestCase): class ChoosePluginTest(unittest.TestCase):
"""Tests for certbot.plugins.selection.choose_plugin.""" """Tests for certbot._internal.plugins.selection.choose_plugin."""
def setUp(self): def setUp(self):
zope.component.provideUtility(display_util.FileDisplay(sys.stdout, zope.component.provideUtility(display_util.FileDisplay(sys.stdout,
@@ -130,17 +130,17 @@ class ChoosePluginTest(unittest.TestCase):
] ]
def _call(self): def _call(self):
from certbot.plugins.selection import choose_plugin from certbot._internal.plugins.selection import choose_plugin
return choose_plugin(self.plugins, "Question?") return choose_plugin(self.plugins, "Question?")
@test_util.patch_get_utility("certbot.plugins.selection.z_util") @test_util.patch_get_utility("certbot._internal.plugins.selection.z_util")
def test_selection(self, mock_util): def test_selection(self, mock_util):
mock_util().menu.side_effect = [(display_util.OK, 0), mock_util().menu.side_effect = [(display_util.OK, 0),
(display_util.OK, 1)] (display_util.OK, 1)]
self.assertEqual(self.mock_stand, self._call()) self.assertEqual(self.mock_stand, self._call())
self.assertEqual(mock_util().notification.call_count, 1) self.assertEqual(mock_util().notification.call_count, 1)
@test_util.patch_get_utility("certbot.plugins.selection.z_util") @test_util.patch_get_utility("certbot._internal.plugins.selection.z_util")
def test_more_info(self, mock_util): def test_more_info(self, mock_util):
mock_util().menu.side_effect = [ mock_util().menu.side_effect = [
(display_util.OK, 1), (display_util.OK, 1),
@@ -148,12 +148,12 @@ class ChoosePluginTest(unittest.TestCase):
self.assertEqual(self.mock_stand, self._call()) self.assertEqual(self.mock_stand, self._call())
@test_util.patch_get_utility("certbot.plugins.selection.z_util") @test_util.patch_get_utility("certbot._internal.plugins.selection.z_util")
def test_no_choice(self, mock_util): def test_no_choice(self, mock_util):
mock_util().menu.return_value = (display_util.CANCEL, 0) mock_util().menu.return_value = (display_util.CANCEL, 0)
self.assertTrue(self._call() is None) self.assertTrue(self._call() is None)
@test_util.patch_get_utility("certbot.plugins.selection.z_util") @test_util.patch_get_utility("certbot._internal.plugins.selection.z_util")
def test_new_interaction_avoidance(self, mock_util): def test_new_interaction_avoidance(self, mock_util):
mock_nginx = mock.Mock( mock_nginx = mock.Mock(
description_with_name="n", misconfigured=False) description_with_name="n", misconfigured=False)
@@ -174,7 +174,7 @@ class ChoosePluginTest(unittest.TestCase):
self.assertTrue("default" in mock_util().menu.call_args[1]) self.assertTrue("default" in mock_util().menu.call_args[1])
class GetUnpreparedInstallerTest(test_util.ConfigTestCase): class GetUnpreparedInstallerTest(test_util.ConfigTestCase):
"""Tests for certbot.plugins.selection.get_unprepared_installer.""" """Tests for certbot._internal.plugins.selection.get_unprepared_installer."""
def setUp(self): def setUp(self):
super(GetUnpreparedInstallerTest, self).setUp() super(GetUnpreparedInstallerTest, self).setUp()
@@ -192,7 +192,7 @@ class GetUnpreparedInstallerTest(test_util.ConfigTestCase):
}) })
def _call(self): def _call(self):
from certbot.plugins.selection import get_unprepared_installer from certbot._internal.plugins.selection import get_unprepared_installer
return get_unprepared_installer(self.config, self.plugins) return get_unprepared_installer(self.config, self.plugins)
def test_no_installer_defined(self): def test_no_installer_defined(self):
+5 -5
View File
@@ -1,4 +1,4 @@
"""Tests for certbot.plugins.standalone.""" """Tests for certbot._internal.plugins.standalone."""
import socket import socket
# https://github.com/python/typeshed/blob/master/stdlib/2and3/socket.pyi # https://github.com/python/typeshed/blob/master/stdlib/2and3/socket.pyi
from socket import errno as socket_errors # type: ignore from socket import errno as socket_errors # type: ignore
@@ -22,10 +22,10 @@ from certbot.tests import util as test_util
class ServerManagerTest(unittest.TestCase): class ServerManagerTest(unittest.TestCase):
"""Tests for certbot.plugins.standalone.ServerManager.""" """Tests for certbot._internal.plugins.standalone.ServerManager."""
def setUp(self): def setUp(self):
from certbot.plugins.standalone import ServerManager from certbot._internal.plugins.standalone import ServerManager
self.certs = {} # type: Dict[bytes, Tuple[OpenSSL.crypto.PKey, OpenSSL.crypto.X509]] self.certs = {} # type: Dict[bytes, Tuple[OpenSSL.crypto.PKey, OpenSSL.crypto.X509]]
self.http_01_resources = {} \ self.http_01_resources = {} \
# type: Set[acme_standalone.HTTP01RequestHandler.HTTP01Resource] # type: Set[acme_standalone.HTTP01RequestHandler.HTTP01Resource]
@@ -82,10 +82,10 @@ def get_open_port():
class AuthenticatorTest(unittest.TestCase): class AuthenticatorTest(unittest.TestCase):
"""Tests for certbot.plugins.standalone.Authenticator.""" """Tests for certbot._internal.plugins.standalone.Authenticator."""
def setUp(self): def setUp(self):
from certbot.plugins.standalone import Authenticator from certbot._internal.plugins.standalone import Authenticator
self.config = mock.MagicMock(http01_port=get_open_port()) self.config = mock.MagicMock(http01_port=get_open_port())
self.auth = Authenticator(self.config, name="standalone") self.auth = Authenticator(self.config, name="standalone")
+6 -6
View File
@@ -1,4 +1,4 @@
"""Tests for certbot.plugins.webroot.""" """Tests for certbot._internal.plugins.webroot."""
from __future__ import print_function from __future__ import print_function
@@ -27,13 +27,13 @@ KEY = jose.JWKRSA.load(test_util.load_vector("rsa512_key.pem"))
class AuthenticatorTest(unittest.TestCase): class AuthenticatorTest(unittest.TestCase):
"""Tests for certbot.plugins.webroot.Authenticator.""" """Tests for certbot._internal.plugins.webroot.Authenticator."""
achall = achallenges.KeyAuthorizationAnnotatedChallenge( achall = achallenges.KeyAuthorizationAnnotatedChallenge(
challb=acme_util.HTTP01_P, domain="thing.com", account_key=KEY) challb=acme_util.HTTP01_P, domain="thing.com", account_key=KEY)
def setUp(self): def setUp(self):
from certbot.plugins.webroot import Authenticator from certbot._internal.plugins.webroot import Authenticator
# On Linux directories created by tempfile.mkdtemp inherit their permissions from their # On Linux directories created by tempfile.mkdtemp inherit their permissions from their
# parent directory. So the actual permissions are inconsistent over various tests env. # parent directory. So the actual permissions are inconsistent over various tests env.
# To circumvent this, a dedicated sub-workspace is created under the workspace, using # To circumvent this, a dedicated sub-workspace is created under the workspace, using
@@ -147,7 +147,7 @@ class AuthenticatorTest(unittest.TestCase):
self.assertRaises(errors.PluginError, self.auth.perform, []) self.assertRaises(errors.PluginError, self.auth.perform, [])
filesystem.chmod(self.path, 0o700) filesystem.chmod(self.path, 0o700)
@mock.patch("certbot.plugins.webroot.filesystem.copy_ownership_and_apply_mode") @mock.patch("certbot._internal.plugins.webroot.filesystem.copy_ownership_and_apply_mode")
def test_failed_chown(self, mock_ownership): def test_failed_chown(self, mock_ownership):
mock_ownership.side_effect = OSError(errno.EACCES, "msg") mock_ownership.side_effect = OSError(errno.EACCES, "msg")
self.auth.perform([self.achall]) # exception caught and logged self.auth.perform([self.achall]) # exception caught and logged
@@ -262,7 +262,7 @@ class WebrootActionTest(unittest.TestCase):
challb=acme_util.HTTP01_P, domain="thing.com", account_key=KEY) challb=acme_util.HTTP01_P, domain="thing.com", account_key=KEY)
def setUp(self): def setUp(self):
from certbot.plugins.webroot import Authenticator from certbot._internal.plugins.webroot import Authenticator
self.path = tempfile.mkdtemp() self.path = tempfile.mkdtemp()
self.parser = argparse.ArgumentParser() self.parser = argparse.ArgumentParser()
self.parser.add_argument("-d", "--domains", self.parser.add_argument("-d", "--domains",
@@ -308,7 +308,7 @@ class WebrootActionTest(unittest.TestCase):
self.assertEqual(args.webroot_path, [self.path, other_webroot_path]) self.assertEqual(args.webroot_path, [self.path, other_webroot_path])
def _get_config_after_perform(self, config): def _get_config_after_perform(self, config):
from certbot.plugins.webroot import Authenticator from certbot._internal.plugins.webroot import Authenticator
auth = Authenticator(config, "webroot") auth = Authenticator(config, "webroot")
auth.perform([self.achall]) auth.perform([self.achall])
return auth.config return auth.config
+1 -1
View File
@@ -16,7 +16,7 @@ from certbot import constants
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.plugins import disco from certbot._internal.plugins import disco
from certbot.tests.util import TempDirTestCase from certbot.tests.util import TempDirTestCase
PLUGINS = disco.PluginsRegistry.find_all() PLUGINS = disco.PluginsRegistry.find_all()
+5 -5
View File
@@ -33,10 +33,10 @@ from certbot._internal import updater
from certbot import util from certbot import util
from certbot.compat import os from certbot.compat import os
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.plugins import disco from certbot._internal.plugins import disco
from certbot.plugins import enhancements from certbot.plugins import enhancements
from certbot.plugins import manual from certbot._internal.plugins import manual
from certbot.plugins import null from certbot._internal.plugins import null
CERT_PATH = test_util.vector_path('cert_512.pem') CERT_PATH = test_util.vector_path('cert_512.pem')
CERT = test_util.vector_path('cert_512.pem') CERT = test_util.vector_path('cert_512.pem')
@@ -1220,7 +1220,7 @@ class MainTest(test_util.ConfigTestCase): # pylint: disable=too-many-public-met
self._test_renew_common(renewalparams=renewalparams, error_expected=True, self._test_renew_common(renewalparams=renewalparams, error_expected=True,
names=names, assert_oc_called=False) names=names, assert_oc_called=False)
@mock.patch('certbot.plugins.selection.choose_configurator_plugins') @mock.patch('certbot._internal.plugins.selection.choose_configurator_plugins')
def test_renew_with_configurator(self, mock_sel): def test_renew_with_configurator(self, mock_sel):
mock_sel.return_value = (mock.MagicMock(), mock.MagicMock()) mock_sel.return_value = (mock.MagicMock(), mock.MagicMock())
renewalparams = {'authenticator': 'webroot'} renewalparams = {'authenticator': 'webroot'}
@@ -1493,7 +1493,7 @@ class MainTest(test_util.ConfigTestCase): # pylint: disable=too-many-public-met
email in mock_utility().add_message.call_args[0][0]) email in mock_utility().add_message.call_args[0][0])
self.assertTrue(mock_handle.called) self.assertTrue(mock_handle.called)
@mock.patch('certbot.plugins.selection.choose_configurator_plugins') @mock.patch('certbot._internal.plugins.selection.choose_configurator_plugins')
@mock.patch('certbot._internal.updater._run_updaters') @mock.patch('certbot._internal.updater._run_updaters')
def test_plugin_selection_error(self, mock_run, mock_choose): def test_plugin_selection_error(self, mock_run, mock_choose):
mock_choose.side_effect = errors.PluginSelectionError mock_choose.side_effect = errors.PluginSelectionError
+2 -1
View File
@@ -31,7 +31,8 @@ class RenewalTest(test_util.ConfigTestCase):
@mock.patch('certbot._internal.renewal.cli.set_by_cli') @mock.patch('certbot._internal.renewal.cli.set_by_cli')
def test_webroot_params_conservation(self, mock_set_by_cli): def test_webroot_params_conservation(self, mock_set_by_cli):
# For more details about why this test is important, see: # For more details about why this test is important, see:
# certbot.plugins.webroot_test::WebrootActionTest::test_webroot_map_partial_without_perform # certbot._internal.plugins.webroot_test::
# WebrootActionTest::test_webroot_map_partial_without_perform
from certbot._internal import renewal from certbot._internal import renewal
mock_set_by_cli.return_value = False mock_set_by_cli.return_value = False
+5 -5
View File
@@ -22,8 +22,8 @@ class RenewUpdaterTest(test_util.ConfigTestCase):
self.mockinstaller = mock.MagicMock(spec=enhancements.AutoHSTSEnhancement) self.mockinstaller = mock.MagicMock(spec=enhancements.AutoHSTSEnhancement)
@mock.patch('certbot._internal.main._get_and_save_cert') @mock.patch('certbot._internal.main._get_and_save_cert')
@mock.patch('certbot.plugins.selection.choose_configurator_plugins') @mock.patch('certbot._internal.plugins.selection.choose_configurator_plugins')
@mock.patch('certbot.plugins.selection.get_unprepared_installer') @mock.patch('certbot._internal.plugins.selection.get_unprepared_installer')
@test_util.patch_get_utility() @test_util.patch_get_utility()
def test_server_updates(self, _, mock_geti, mock_select, mock_getsave): def test_server_updates(self, _, mock_geti, mock_select, mock_getsave):
mock_getsave.return_value = mock.MagicMock() mock_getsave.return_value = mock.MagicMock()
@@ -64,7 +64,7 @@ class RenewUpdaterTest(test_util.ConfigTestCase):
self.assertEqual(mock_log.call_args[0][0], self.assertEqual(mock_log.call_args[0][0],
"Skipping renewal deployer in dry-run mode.") "Skipping renewal deployer in dry-run mode.")
@mock.patch('certbot.plugins.selection.get_unprepared_installer') @mock.patch('certbot._internal.plugins.selection.get_unprepared_installer')
def test_enhancement_updates(self, mock_geti): def test_enhancement_updates(self, mock_geti):
mock_geti.return_value = self.mockinstaller mock_geti.return_value = self.mockinstaller
updater.run_generic_updaters(self.config, mock.MagicMock(), None) updater.run_generic_updaters(self.config, mock.MagicMock(), None)
@@ -76,7 +76,7 @@ class RenewUpdaterTest(test_util.ConfigTestCase):
self.mockinstaller) self.mockinstaller)
self.assertTrue(self.mockinstaller.deploy_autohsts.called) self.assertTrue(self.mockinstaller.deploy_autohsts.called)
@mock.patch('certbot.plugins.selection.get_unprepared_installer') @mock.patch('certbot._internal.plugins.selection.get_unprepared_installer')
def test_enhancement_updates_not_called(self, mock_geti): def test_enhancement_updates_not_called(self, mock_geti):
self.config.disable_renew_updates = True self.config.disable_renew_updates = True
mock_geti.return_value = self.mockinstaller mock_geti.return_value = self.mockinstaller
@@ -89,7 +89,7 @@ class RenewUpdaterTest(test_util.ConfigTestCase):
self.mockinstaller) self.mockinstaller)
self.assertFalse(self.mockinstaller.deploy_autohsts.called) self.assertFalse(self.mockinstaller.deploy_autohsts.called)
@mock.patch('certbot.plugins.selection.get_unprepared_installer') @mock.patch('certbot._internal.plugins.selection.get_unprepared_installer')
def test_enhancement_no_updater(self, mock_geti): def test_enhancement_no_updater(self, mock_geti):
FAKEINDEX = [ FAKEINDEX = [
{ {
+1 -1
View File
@@ -44,7 +44,7 @@ class RelevantValuesTest(unittest.TestCase):
return relevant_values(*args, **kwargs) return relevant_values(*args, **kwargs)
@mock.patch("certbot.cli.option_was_set") @mock.patch("certbot.cli.option_was_set")
@mock.patch("certbot.plugins.disco.PluginsRegistry.find_all") @mock.patch("certbot._internal.plugins.disco.PluginsRegistry.find_all")
def test_namespace(self, mock_find_all, mock_option_was_set): def test_namespace(self, mock_find_all, mock_option_was_set):
mock_find_all.return_value = ["certbot-foo:bar"] mock_find_all.return_value = ["certbot-foo:bar"]
mock_option_was_set.return_value = True mock_option_was_set.return_value = True
-5
View File
@@ -1,5 +0,0 @@
:mod:`certbot.plugins.disco`
--------------------------------
.. automodule:: certbot.plugins.disco
:members:
-5
View File
@@ -1,5 +0,0 @@
:mod:`certbot.plugins.manual`
---------------------------------
.. automodule:: certbot.plugins.manual
:members:
-5
View File
@@ -1,5 +0,0 @@
:mod:`certbot.plugins.selection`
------------------------------------
.. automodule:: certbot.plugins.selection
:members:
-5
View File
@@ -1,5 +0,0 @@
:mod:`certbot.plugins.standalone`
-------------------------------------
.. automodule:: certbot.plugins.standalone
:members:
-5
View File
@@ -1,5 +0,0 @@
:mod:`certbot.plugins.webroot`
----------------------------------
.. automodule:: certbot.plugins.webroot
:members:
+4 -4
View File
@@ -168,10 +168,10 @@ setup(
'certbot = certbot._internal.main:main', 'certbot = certbot._internal.main:main',
], ],
'certbot.plugins': [ 'certbot.plugins': [
'manual = certbot.plugins.manual:Authenticator', 'manual = certbot._internal.plugins.manual:Authenticator',
'null = certbot.plugins.null:Installer', 'null = certbot._internal.plugins.null:Installer',
'standalone = certbot.plugins.standalone:Authenticator', 'standalone = certbot._internal.plugins.standalone:Authenticator',
'webroot = certbot.plugins.webroot:Authenticator', 'webroot = certbot._internal.plugins.webroot:Authenticator',
], ],
}, },
) )