ansible-core/46a1eb6832ceb49d8d9ca49dffd1cb2497e88316.patch

539 lines
20 KiB
Diff

From 46a1eb6832ceb49d8d9ca49dffd1cb2497e88316 Mon Sep 17 00:00:00 2001
From: Matt Clay <matt@mystile.com>
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 <matt@mystile.com>
---
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