Do not require mock in Python 3 in certbot-dns modules (#7900)

Part of #7886.

This PR conditionally installs `mock` in `certbot-dns-*/setup.py` based on setuptools version and python version, when possible. It then updates the tests to use `unittest.mock` when `mock` isn't available.

* Do not require mock in Python 3 in certbot-dns modules

* update changelog

* error when trying to build wheels with old setuptools

* add type: ignores
This commit is contained in:
ohemorange
2020-04-15 11:54:44 -07:00
committed by GitHub
parent af21d1d56e
commit 9c345ac301
29 changed files with 211 additions and 28 deletions
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.29.0', 'acme>=0.29.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'cloudflare>=1.5.1', 'cloudflare>=1.5.1',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
@@ -3,7 +3,10 @@
import unittest import unittest
import CloudFlare import CloudFlare
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name 'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from requests.exceptions import RequestException from requests.exceptions import RequestException
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -11,13 +13,21 @@ version = '1.4.0.dev0'
install_requires = [ install_requires = [
'acme>=0.29.0', 'acme>=0.29.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'mock',
'python-digitalocean>=1.11', 'python-digitalocean>=1.11',
'setuptools', 'setuptools',
'six', 'six',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
@@ -3,7 +3,10 @@
import unittest import unittest
import digitalocean import digitalocean
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,6 +1,8 @@
from distutils.version import StrictVersion
import os import os
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ version = '1.4.0.dev0'
install_requires = [ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
# This package normally depends on dns-lexicon>=3.2.1 to address the # This package normally depends on dns-lexicon>=3.2.1 to address the
# problem described in https://github.com/AnalogJ/lexicon/issues/387, # problem described in https://github.com/AnalogJ/lexicon/issues/387,
# however, the fix there has been backported to older versions of # however, the fix there has been backported to older versions of
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name 'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -11,11 +13,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.1.22', 'dns-lexicon>=2.1.22',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
+4 -1
View File
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,7 +14,6 @@ install_requires = [
'acme>=0.29.0', 'acme>=0.29.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'google-api-python-client>=1.5.5', 'google-api-python-client>=1.5.5',
'mock',
'oauth2client>=4.0', 'oauth2client>=4.0',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
@@ -20,6 +21,15 @@ install_requires = [
'httplib2' 'httplib2'
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
+4 -1
View File
@@ -6,7 +6,10 @@ from googleapiclient import discovery
from googleapiclient.errors import Error from googleapiclient.errors import Error
from googleapiclient.http import HttpMock from googleapiclient.http import HttpMock
from httplib2 import ServerNotFoundError from httplib2 import ServerNotFoundError
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -11,11 +13,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.2.3', 'dns-lexicon>=2.2.3',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
+4 -1
View File
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name 'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
+4 -1
View File
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name 'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
+4 -1
View File
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.7.14', # Correct proxy use on OVH provider 'dns-lexicon>=2.7.14', # Correct proxy use on OVH provider
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
+4 -1
View File
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.29.0', 'acme>=0.29.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dnspython', 'dnspython',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
@@ -5,7 +5,10 @@ import unittest
import dns.flags import dns.flags
import dns.rcode import dns.rcode
import dns.tsig import dns.tsig
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -12,11 +14,19 @@ install_requires = [
'acme>=0.29.0', 'acme>=0.29.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'boto3', 'boto3',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
class PyTest(TestCommand): class PyTest(TestCommand):
user_options = [] user_options = []
@@ -4,7 +4,10 @@ import unittest
from botocore.exceptions import ClientError from botocore.exceptions import ClientError
from botocore.exceptions import NoCredentialsError from botocore.exceptions import NoCredentialsError
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
+11 -1
View File
@@ -1,5 +1,7 @@
from distutils.version import StrictVersion
import sys import sys
from setuptools import __version__ as setuptools_version
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from setuptools.command.test import test as TestCommand from setuptools.command.test import test as TestCommand
@@ -11,11 +13,19 @@ install_requires = [
'acme>=0.31.0', 'acme>=0.31.0',
'certbot>=1.1.0', 'certbot>=1.1.0',
'dns-lexicon>=2.1.23', 'dns-lexicon>=2.1.23',
'mock',
'setuptools', 'setuptools',
'zope.interface', 'zope.interface',
] ]
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
'of setuptools. Version 36.2+ of setuptools is required.')
elif sys.version_info < (3,3):
install_requires.append('mock')
docs_extras = [ docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
'sphinx_rtd_theme', 'sphinx_rtd_theme',
@@ -2,7 +2,10 @@
import unittest import unittest
import mock try:
import mock
except ImportError: # pragma: no cover
from unittest import mock # type: ignore
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from certbot.compat import os from certbot.compat import os
+1
View File
@@ -19,6 +19,7 @@ Certbot adheres to [Semantic Versioning](https://semver.org/).
### Changed ### Changed
* Stop asking interactively if the user would like to add a redirect. * Stop asking interactively if the user would like to add a redirect.
* `mock` dependency is now conditional on Python 2 in all of our packages.
### Fixed ### Fixed