From 46a1eb6832ceb49d8d9ca49dffd1cb2497e88316 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Mon, 23 May 2022 12:00:10 -0700 Subject: [PATCH] [stable-2.13] Prefer unittest.mock over mock. (#77886) (cherry picked from commit 2595b42acadc4a441e14f3a40bb518930e956e1e) Co-authored-by: Matt Clay --- test/units/compat/mock.py | 23 +++++++++++++++++++ .../module_utils/basic/test_argument_spec.py | 2 +- .../module_utils/basic/test_filesystem.py | 2 +- .../basic/test_get_module_path.py | 2 +- test/units/module_utils/basic/test_imports.py | 2 +- .../basic/test_platform_distribution.py | 2 +- test/units/module_utils/basic/test_selinux.py | 2 +- test/units/module_utils/basic/test_set_cwd.py | 2 +- test/units/module_utils/basic/test_tmpdir.py | 2 +- test/units/module_utils/common/test_locale.py | 2 +- .../module_utils/common/test_sys_info.py | 2 +- test/units/module_utils/facts/base.py | 2 +- .../module_utils/facts/hardware/test_linux.py | 2 +- .../module_utils/facts/network/test_fc_wwn.py | 2 +- .../facts/network/test_generic_bsd.py | 2 +- .../facts/network/test_iscsi_get_initiator.py | 2 +- .../module_utils/facts/other/test_facter.py | 2 +- .../module_utils/facts/other/test_ohai.py | 2 +- .../facts/system/distribution/conftest.py | 2 +- .../module_utils/facts/system/test_lsb.py | 2 +- .../facts/test_ansible_collector.py | 2 +- .../module_utils/facts/test_collectors.py | 2 +- test/units/module_utils/facts/test_facts.py | 2 +- test/units/module_utils/facts/test_sysctl.py | 2 +- test/units/module_utils/facts/test_utils.py | 2 +- test/units/module_utils/urls/test_Request.py | 2 +- .../units/module_utils/urls/test_fetch_url.py | 2 +- test/units/modules/test_apt.py | 7 +++--- test/units/modules/test_apt_key.py | 11 ++++----- test/units/modules/test_async_wrapper.py | 2 +- test/units/modules/test_hostname.py | 2 +- test/units/modules/test_iptables.py | 2 +- test/units/modules/test_service_facts.py | 2 +- test/units/modules/utils.py | 2 +- 34 files changed, 62 insertions(+), 41 deletions(-) create mode 100644 test/units/compat/mock.py diff --git a/test/units/compat/mock.py b/test/units/compat/mock.py new file mode 100644 index 00000000000000..58dc78e07406c0 --- /dev/null +++ b/test/units/compat/mock.py @@ -0,0 +1,23 @@ +""" +Compatibility shim for mock imports in modules and module_utils. +This can be removed once support for Python 2.7 is dropped. +""" +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +try: + from unittest.mock import ( + call, + patch, + mock_open, + MagicMock, + Mock, + ) +except ImportError: + from mock import ( + call, + patch, + mock_open, + MagicMock, + Mock, + ) diff --git a/test/units/module_utils/basic/test_argument_spec.py b/test/units/module_utils/basic/test_argument_spec.py index 20bfb01eac104d..211d65a22fffaa 100644 --- a/test/units/module_utils/basic/test_argument_spec.py +++ b/test/units/module_utils/basic/test_argument_spec.py @@ -12,7 +12,7 @@ import pytest -from mock import MagicMock +from units.compat.mock import MagicMock from ansible.module_utils import basic from ansible.module_utils.api import basic_auth_argument_spec, rate_limit_argument_spec, retry_argument_spec from ansible.module_utils.common import warnings diff --git a/test/units/module_utils/basic/test_filesystem.py b/test/units/module_utils/basic/test_filesystem.py index 92e2c46e142813..f09cecf46abf7b 100644 --- a/test/units/module_utils/basic/test_filesystem.py +++ b/test/units/module_utils/basic/test_filesystem.py @@ -9,7 +9,7 @@ from units.mock.procenv import ModuleTestCase -from mock import patch, MagicMock +from units.compat.mock import patch, MagicMock from ansible.module_utils.six.moves import builtins realimport = builtins.__import__ diff --git a/test/units/module_utils/basic/test_get_module_path.py b/test/units/module_utils/basic/test_get_module_path.py index 2d0b8dd09973ec..6ff4a3bc7123a1 100644 --- a/test/units/module_utils/basic/test_get_module_path.py +++ b/test/units/module_utils/basic/test_get_module_path.py @@ -9,7 +9,7 @@ from units.mock.procenv import ModuleTestCase -from mock import patch +from units.compat.mock import patch from ansible.module_utils.six.moves import builtins realimport = builtins.__import__ diff --git a/test/units/module_utils/basic/test_imports.py b/test/units/module_utils/basic/test_imports.py index 79ab971f60c223..d1a5f3791e1849 100644 --- a/test/units/module_utils/basic/test_imports.py +++ b/test/units/module_utils/basic/test_imports.py @@ -12,7 +12,7 @@ from units.mock.procenv import ModuleTestCase from units.compat import unittest -from mock import patch +from units.compat.mock import patch from ansible.module_utils.six.moves import builtins realimport = builtins.__import__ diff --git a/test/units/module_utils/basic/test_platform_distribution.py b/test/units/module_utils/basic/test_platform_distribution.py index 6579bee92d4fe1..3c1afb7d85fc93 100644 --- a/test/units/module_utils/basic/test_platform_distribution.py +++ b/test/units/module_utils/basic/test_platform_distribution.py @@ -9,7 +9,7 @@ import pytest -from mock import patch +from units.compat.mock import patch from ansible.module_utils.six.moves import builtins diff --git a/test/units/module_utils/basic/test_selinux.py b/test/units/module_utils/basic/test_selinux.py index 600ff6b3ab36a6..d8557685cdca62 100644 --- a/test/units/module_utils/basic/test_selinux.py +++ b/test/units/module_utils/basic/test_selinux.py @@ -11,7 +11,7 @@ import json import pytest -from mock import mock_open, patch +from units.compat.mock import mock_open, patch from ansible.module_utils import basic from ansible.module_utils.common.text.converters import to_bytes diff --git a/test/units/module_utils/basic/test_set_cwd.py b/test/units/module_utils/basic/test_set_cwd.py index 774186016ff672..159236b75e98c5 100644 --- a/test/units/module_utils/basic/test_set_cwd.py +++ b/test/units/module_utils/basic/test_set_cwd.py @@ -13,7 +13,7 @@ import pytest -from mock import patch, MagicMock +from units.compat.mock import patch, MagicMock from ansible.module_utils._text import to_bytes from ansible.module_utils import basic diff --git a/test/units/module_utils/basic/test_tmpdir.py b/test/units/module_utils/basic/test_tmpdir.py index eec8f62cf79b3d..818cb9b18f1d12 100644 --- a/test/units/module_utils/basic/test_tmpdir.py +++ b/test/units/module_utils/basic/test_tmpdir.py @@ -13,7 +13,7 @@ import pytest -from mock import patch, MagicMock +from units.compat.mock import patch, MagicMock from ansible.module_utils._text import to_bytes from ansible.module_utils import basic diff --git a/test/units/module_utils/common/test_locale.py b/test/units/module_utils/common/test_locale.py index f8fea476ad19f9..9d9598601e8227 100644 --- a/test/units/module_utils/common/test_locale.py +++ b/test/units/module_utils/common/test_locale.py @@ -5,7 +5,7 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -from mock import MagicMock +from units.compat.mock import MagicMock from ansible.module_utils.common.locale import get_best_parsable_locale diff --git a/test/units/module_utils/common/test_sys_info.py b/test/units/module_utils/common/test_sys_info.py index 63101a8120aa5e..18aafe5374deac 100644 --- a/test/units/module_utils/common/test_sys_info.py +++ b/test/units/module_utils/common/test_sys_info.py @@ -9,7 +9,7 @@ import pytest -from mock import patch +from units.compat.mock import patch from ansible.module_utils.six.moves import builtins diff --git a/test/units/module_utils/facts/base.py b/test/units/module_utils/facts/base.py index 23e620cbf3f5f6..33d3087b14e30d 100644 --- a/test/units/module_utils/facts/base.py +++ b/test/units/module_utils/facts/base.py @@ -20,7 +20,7 @@ __metaclass__ = type from units.compat import unittest -from mock import Mock, patch +from units.compat.mock import Mock, patch class BaseFactsTest(unittest.TestCase): diff --git a/test/units/module_utils/facts/hardware/test_linux.py b/test/units/module_utils/facts/hardware/test_linux.py index 1d5845934874cf..e3e07e7850c2a3 100644 --- a/test/units/module_utils/facts/hardware/test_linux.py +++ b/test/units/module_utils/facts/hardware/test_linux.py @@ -19,7 +19,7 @@ import os from units.compat import unittest -from mock import Mock, patch +from units.compat.mock import Mock, patch from ansible.module_utils.facts import timeout diff --git a/test/units/module_utils/facts/network/test_fc_wwn.py b/test/units/module_utils/facts/network/test_fc_wwn.py index 27d45234947775..32a3a43d0a94aa 100644 --- a/test/units/module_utils/facts/network/test_fc_wwn.py +++ b/test/units/module_utils/facts/network/test_fc_wwn.py @@ -6,7 +6,7 @@ __metaclass__ = type from ansible.module_utils.facts.network import fc_wwn -from mock import Mock +from units.compat.mock import Mock # AIX lsdev diff --git a/test/units/module_utils/facts/network/test_generic_bsd.py b/test/units/module_utils/facts/network/test_generic_bsd.py index 79cc48155179d7..afb698c5718b8a 100644 --- a/test/units/module_utils/facts/network/test_generic_bsd.py +++ b/test/units/module_utils/facts/network/test_generic_bsd.py @@ -18,7 +18,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -from mock import Mock +from units.compat.mock import Mock from units.compat import unittest from ansible.module_utils.facts.network import generic_bsd diff --git a/test/units/module_utils/facts/network/test_iscsi_get_initiator.py b/test/units/module_utils/facts/network/test_iscsi_get_initiator.py index 78e5c9605e344b..2048ba2a0009b5 100644 --- a/test/units/module_utils/facts/network/test_iscsi_get_initiator.py +++ b/test/units/module_utils/facts/network/test_iscsi_get_initiator.py @@ -6,7 +6,7 @@ __metaclass__ = type from ansible.module_utils.facts.network import iscsi -from mock import Mock +from units.compat.mock import Mock # AIX # lsattr -E -l iscsi0 diff --git a/test/units/module_utils/facts/other/test_facter.py b/test/units/module_utils/facts/other/test_facter.py index 517265d32129ea..7466338eb5af9e 100644 --- a/test/units/module_utils/facts/other/test_facter.py +++ b/test/units/module_utils/facts/other/test_facter.py @@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -from mock import Mock, patch +from units.compat.mock import Mock, patch from .. base import BaseFactsTest diff --git a/test/units/module_utils/facts/other/test_ohai.py b/test/units/module_utils/facts/other/test_ohai.py index 38fb67f42efc6e..42a72d9720019a 100644 --- a/test/units/module_utils/facts/other/test_ohai.py +++ b/test/units/module_utils/facts/other/test_ohai.py @@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -from mock import Mock, patch +from units.compat.mock import Mock, patch from .. base import BaseFactsTest diff --git a/test/units/module_utils/facts/system/distribution/conftest.py b/test/units/module_utils/facts/system/distribution/conftest.py index 0282a7fcc9d701..d27b97f07d2b9a 100644 --- a/test/units/module_utils/facts/system/distribution/conftest.py +++ b/test/units/module_utils/facts/system/distribution/conftest.py @@ -8,7 +8,7 @@ import pytest -from mock import Mock +from units.compat.mock import Mock @pytest.fixture diff --git a/test/units/module_utils/facts/system/test_lsb.py b/test/units/module_utils/facts/system/test_lsb.py index 890bddb69381f1..e2ed2ec0eb143f 100644 --- a/test/units/module_utils/facts/system/test_lsb.py +++ b/test/units/module_utils/facts/system/test_lsb.py @@ -19,7 +19,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -from mock import Mock, patch +from units.compat.mock import Mock, patch from .. base import BaseFactsTest diff --git a/test/units/module_utils/facts/test_ansible_collector.py b/test/units/module_utils/facts/test_ansible_collector.py index e1d60c3d891fc2..47d88df99e4656 100644 --- a/test/units/module_utils/facts/test_ansible_collector.py +++ b/test/units/module_utils/facts/test_ansible_collector.py @@ -21,7 +21,7 @@ # for testing from units.compat import unittest -from mock import Mock, patch +from units.compat.mock import Mock, patch from ansible.module_utils.facts import collector from ansible.module_utils.facts import ansible_collector diff --git a/test/units/module_utils/facts/test_collectors.py b/test/units/module_utils/facts/test_collectors.py index a6f12b56476af4..c48060255e6942 100644 --- a/test/units/module_utils/facts/test_collectors.py +++ b/test/units/module_utils/facts/test_collectors.py @@ -21,7 +21,7 @@ import pytest -from mock import Mock, patch +from units.compat.mock import Mock, patch from . base import BaseFactsTest diff --git a/test/units/module_utils/facts/test_facts.py b/test/units/module_utils/facts/test_facts.py index a49616fc6fd835..c794f03127213f 100644 --- a/test/units/module_utils/facts/test_facts.py +++ b/test/units/module_utils/facts/test_facts.py @@ -26,7 +26,7 @@ # for testing from units.compat import unittest -from mock import Mock, patch +from units.compat.mock import Mock, patch from ansible.module_utils import facts from ansible.module_utils.facts import hardware diff --git a/test/units/module_utils/facts/test_sysctl.py b/test/units/module_utils/facts/test_sysctl.py index 663369250f3dbb..c369b610806336 100644 --- a/test/units/module_utils/facts/test_sysctl.py +++ b/test/units/module_utils/facts/test_sysctl.py @@ -26,7 +26,7 @@ # for testing from units.compat import unittest -from mock import patch, MagicMock, mock_open, Mock +from units.compat.mock import patch, MagicMock, mock_open, Mock from ansible.module_utils.facts.sysctl import get_sysctl diff --git a/test/units/module_utils/facts/test_utils.py b/test/units/module_utils/facts/test_utils.py index 70db047512bbdc..28cb5d3194032d 100644 --- a/test/units/module_utils/facts/test_utils.py +++ b/test/units/module_utils/facts/test_utils.py @@ -18,7 +18,7 @@ __metaclass__ = type from units.compat import unittest -from mock import patch +from units.compat.mock import patch from ansible.module_utils.facts import utils diff --git a/test/units/module_utils/urls/test_Request.py b/test/units/module_utils/urls/test_Request.py index ebb6de56de67dc..648e46aafe3a76 100644 --- a/test/units/module_utils/urls/test_Request.py +++ b/test/units/module_utils/urls/test_Request.py @@ -13,7 +13,7 @@ from ansible.module_utils.urls import SSLValidationHandler, HTTPSClientAuthHandler, RedirectHandlerFactory import pytest -from mock import call +from units.compat.mock import call if HAS_SSLCONTEXT: diff --git a/test/units/module_utils/urls/test_fetch_url.py b/test/units/module_utils/urls/test_fetch_url.py index 4869bb0f46b191..56ff54a7db89aa 100644 --- a/test/units/module_utils/urls/test_fetch_url.py +++ b/test/units/module_utils/urls/test_fetch_url.py @@ -13,7 +13,7 @@ from ansible.module_utils.urls import fetch_url, urllib_error, ConnectionError, NoSSLError, httplib import pytest -from mock import MagicMock +from units.compat.mock import MagicMock class AnsibleModuleExit(Exception): diff --git a/test/units/modules/test_apt.py b/test/units/modules/test_apt.py index 78dbbadea6cf35..20e056ffd0821e 100644 --- a/test/units/modules/test_apt.py +++ b/test/units/modules/test_apt.py @@ -4,8 +4,7 @@ import collections import sys -import mock - +from units.compat.mock import Mock from units.compat import unittest try: @@ -41,14 +40,14 @@ def test_version_wildcard(self): def test_pkgname_wildcard_version_wildcard(self): foo = ["apt*=1.0*"] - m_mock = mock.Mock() + m_mock = Mock() self.assertEqual( expand_pkgspec_from_fnmatches(m_mock, foo, self.fake_cache), ['apt', 'apt-utils']) def test_pkgname_expands(self): foo = ["apt*"] - m_mock = mock.Mock() + m_mock = Mock() self.assertEqual( expand_pkgspec_from_fnmatches(m_mock, foo, self.fake_cache), ["apt", "apt-utils"]) diff --git a/test/units/modules/test_apt_key.py b/test/units/modules/test_apt_key.py index 39339d76d28c06..37cd53b62d2c21 100644 --- a/test/units/modules/test_apt_key.py +++ b/test/units/modules/test_apt_key.py @@ -3,8 +3,7 @@ import os -import mock - +from units.compat.mock import patch, Mock from units.compat import unittest from ansible.modules import apt_key @@ -16,11 +15,11 @@ def returnc(x): class AptKeyTestCase(unittest.TestCase): - @mock.patch.object(apt_key, 'apt_key_bin', '/usr/bin/apt-key') - @mock.patch.object(apt_key, 'lang_env', returnc) - @mock.patch.dict(os.environ, {'HTTP_PROXY': 'proxy.example.com'}) + @patch.object(apt_key, 'apt_key_bin', '/usr/bin/apt-key') + @patch.object(apt_key, 'lang_env', returnc) + @patch.dict(os.environ, {'HTTP_PROXY': 'proxy.example.com'}) def test_import_key_with_http_proxy(self): - m_mock = mock.Mock() + m_mock = Mock() m_mock.run_command.return_value = (0, '', '') apt_key.import_key( m_mock, keyring=None, keyserver='keyserver.example.com', diff --git a/test/units/modules/test_async_wrapper.py b/test/units/modules/test_async_wrapper.py index eacb9361a4003f..37b1fda374bc46 100644 --- a/test/units/modules/test_async_wrapper.py +++ b/test/units/modules/test_async_wrapper.py @@ -11,7 +11,7 @@ import pytest -from mock import patch, MagicMock +from units.compat.mock import patch, MagicMock from ansible.modules import async_wrapper from pprint import pprint diff --git a/test/units/modules/test_hostname.py b/test/units/modules/test_hostname.py index 804ecf74a7ca8a..9050fd04b0277e 100644 --- a/test/units/modules/test_hostname.py +++ b/test/units/modules/test_hostname.py @@ -5,7 +5,7 @@ import shutil import tempfile -from mock import patch, MagicMock, mock_open +from units.compat.mock import patch, MagicMock, mock_open from ansible.module_utils import basic from ansible.module_utils.common._utils import get_all_subclasses from ansible.modules import hostname diff --git a/test/units/modules/test_iptables.py b/test/units/modules/test_iptables.py index 5953334b6a8c57..265e770ac2829e 100644 --- a/test/units/modules/test_iptables.py +++ b/test/units/modules/test_iptables.py @@ -1,7 +1,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -from mock import patch +from units.compat.mock import patch from ansible.module_utils import basic from ansible.modules import iptables from units.modules.utils import AnsibleExitJson, AnsibleFailJson, ModuleTestCase, set_module_args diff --git a/test/units/modules/test_service_facts.py b/test/units/modules/test_service_facts.py index 3a180dc9c51eec..07f6827e02ff3f 100644 --- a/test/units/modules/test_service_facts.py +++ b/test/units/modules/test_service_facts.py @@ -6,7 +6,7 @@ __metaclass__ = type from units.compat import unittest -from mock import patch +from units.compat.mock import patch from ansible.module_utils import basic from ansible.modules.service_facts import AIXScanService diff --git a/test/units/modules/utils.py b/test/units/modules/utils.py index 92f4ceabce7ffe..6d169e36f0f0ec 100644 --- a/test/units/modules/utils.py +++ b/test/units/modules/utils.py @@ -4,7 +4,7 @@ import json from units.compat import unittest -from mock import patch +from units.compat.mock import patch from ansible.module_utils import basic from ansible.module_utils._text import to_bytes