mirror of
https://github.com/certbot/certbot.git
synced 2025-08-08 04:02:10 +03:00
Do not require mock in Python 3 in apache module (#7896)
Part of #7886. This PR conditionally installs mock in `apache/setup.py` based on setuptools version and python version, when possible. It then updates `apache` tests to use `unittest.mock` when `mock` isn't available. * Conditionally install mock in apache * error out on newer python and older setuptools * error when trying to build wheels with old setuptools * use unittest.mock when third-party mock isn't available in apache, with no cover and type ignore
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
# Remember to update setup.py to match the package versions below.
|
# Remember to update setup.py to match the package versions below.
|
||||||
acme[dev]==0.29.0
|
acme[dev]==0.29.0
|
||||||
certbot[dev]==1.1.0
|
certbot[dev]==1.1.0
|
@@ -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-augeas',
|
'python-augeas',
|
||||||
'setuptools',
|
'setuptools',
|
||||||
'zope.component',
|
'zope.component',
|
||||||
'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')
|
||||||
|
|
||||||
dev_extras = [
|
dev_extras = [
|
||||||
'apacheconfig>=0.3.2',
|
'apacheconfig>=0.3.2',
|
||||||
]
|
]
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
"""Tests for AugeasParserNode classes"""
|
"""Tests for AugeasParserNode classes"""
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import util
|
import util
|
||||||
|
@@ -3,7 +3,10 @@
|
|||||||
import re
|
import re
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
import six # pylint: disable=unused-import # six is used in mock.patch()
|
import six # pylint: disable=unused-import # six is used in mock.patch()
|
||||||
|
|
||||||
from certbot import errors
|
from certbot import errors
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Test for certbot_apache._internal.configurator for Centos overrides"""
|
"""Test for certbot_apache._internal.configurator for Centos overrides"""
|
||||||
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 filesystem
|
from certbot.compat import filesystem
|
||||||
|
@@ -2,7 +2,10 @@
|
|||||||
import shutil
|
import shutil
|
||||||
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
|
||||||
import util
|
import util
|
||||||
|
@@ -6,7 +6,10 @@ import socket
|
|||||||
import tempfile
|
import tempfile
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
import six # pylint: disable=unused-import # six is used in mock.patch()
|
import six # pylint: disable=unused-import # six is used in mock.patch()
|
||||||
|
|
||||||
from acme import challenges
|
from acme import challenges
|
||||||
|
@@ -2,7 +2,10 @@
|
|||||||
import shutil
|
import shutil
|
||||||
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
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Test certbot_apache._internal.display_ops."""
|
"""Test certbot_apache._internal.display_ops."""
|
||||||
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.display import util as display_util
|
from certbot.display import util as display_util
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Tests for DualParserNode implementation"""
|
"""Tests for DualParserNode implementation"""
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
|
|
||||||
from certbot_apache._internal import assertions
|
from certbot_apache._internal import assertions
|
||||||
from certbot_apache._internal import augeasparser
|
from certbot_apache._internal import augeasparser
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Test for certbot_apache._internal.entrypoint for override class resolution"""
|
"""Test for certbot_apache._internal.entrypoint for override class resolution"""
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
|
|
||||||
from certbot_apache._internal import configurator
|
from certbot_apache._internal import configurator
|
||||||
from certbot_apache._internal import entrypoint
|
from certbot_apache._internal import entrypoint
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Test for certbot_apache._internal.configurator for Fedora 29+ overrides"""
|
"""Test for certbot_apache._internal.configurator for Fedora 29+ overrides"""
|
||||||
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 filesystem
|
from certbot.compat import filesystem
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Test for certbot_apache._internal.configurator for Gentoo overrides"""
|
"""Test for certbot_apache._internal.configurator for Gentoo overrides"""
|
||||||
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 filesystem
|
from certbot.compat import filesystem
|
||||||
|
@@ -2,7 +2,10 @@
|
|||||||
import unittest
|
import unittest
|
||||||
import errno
|
import errno
|
||||||
|
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
|
|
||||||
from acme import challenges
|
from acme import challenges
|
||||||
from certbot import achallenges
|
from certbot import achallenges
|
||||||
|
@@ -2,7 +2,10 @@
|
|||||||
import shutil
|
import shutil
|
||||||
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
|
||||||
|
@@ -1,7 +1,10 @@
|
|||||||
"""Tests for ApacheConfigurator for AugeasParserNode classes"""
|
"""Tests for ApacheConfigurator for AugeasParserNode classes"""
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
|
|
||||||
import util
|
import util
|
||||||
|
|
||||||
|
@@ -5,7 +5,10 @@ import unittest
|
|||||||
|
|
||||||
import augeas
|
import augeas
|
||||||
import josepy as jose
|
import josepy as jose
|
||||||
import mock
|
try:
|
||||||
|
import mock
|
||||||
|
except ImportError: # pragma: no cover
|
||||||
|
from unittest import mock # type: ignore
|
||||||
import zope.component
|
import zope.component
|
||||||
|
|
||||||
from certbot.compat import os
|
from certbot.compat import os
|
||||||
|
Reference in New Issue
Block a user