Merge "Revert "Revert "Switch to unittest.mock from mock"""
This commit is contained in:
commit
bc223f9b1d
@ -15,7 +15,6 @@ keystoneauth1==3.4.0
|
||||
linecache2==1.0.0
|
||||
MarkupSafe==1.0
|
||||
mccabe==0.2.1
|
||||
mock==2.0.0
|
||||
netaddr==0.7.18
|
||||
oslo.config==5.2.0
|
||||
oslo.i18n==3.15.3
|
||||
|
@ -16,6 +16,7 @@
|
||||
"""Common utilities used in testing"""
|
||||
|
||||
import logging
|
||||
from unittest import mock
|
||||
|
||||
import fixtures
|
||||
from oslotest import createfile
|
||||
@ -23,7 +24,6 @@ from oslotest import log
|
||||
from oslotest import output
|
||||
from oslotest import timeout
|
||||
|
||||
from six.moves import mock
|
||||
import testtools
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
@ -15,9 +15,9 @@
|
||||
# under the License.
|
||||
|
||||
import functools
|
||||
from unittest import mock
|
||||
|
||||
import fixtures
|
||||
import mock
|
||||
|
||||
|
||||
def _lazy_autospec_method(mocked_method, original_method, eat_self):
|
||||
@ -72,8 +72,10 @@ class _AutospecMockMixin(object):
|
||||
original_attr = getattr(original_spec, name)
|
||||
if callable(original_attr):
|
||||
# lazily autospec callable attribute.
|
||||
eat_self = mock.mock._must_skip(original_spec, name,
|
||||
isinstance(original_spec, type))
|
||||
eat_self = mock._must_skip(
|
||||
original_spec, name,
|
||||
isinstance(original_spec, type)
|
||||
)
|
||||
|
||||
_lazy_autospec_method(attr, original_attr, eat_self)
|
||||
|
||||
@ -110,15 +112,17 @@ class MockAutospecFixture(fixtures.Fixture):
|
||||
super(MockAutospecFixture, self).setUp()
|
||||
|
||||
# patch both external and internal usage of Mock / MagicMock.
|
||||
self.useFixture(fixtures.MonkeyPatch('mock.Mock', _AutospecMock))
|
||||
self.useFixture(fixtures.MonkeyPatch('mock.mock.Mock', _AutospecMock))
|
||||
self.useFixture(fixtures.MonkeyPatch('mock.MagicMock',
|
||||
_AutospecMagicMock))
|
||||
self.useFixture(fixtures.MonkeyPatch('mock.mock.MagicMock',
|
||||
_AutospecMagicMock))
|
||||
self.useFixture(
|
||||
fixtures.MonkeyPatch(
|
||||
'unittest.mock.Mock',
|
||||
_AutospecMock))
|
||||
self.useFixture(
|
||||
fixtures.MonkeyPatch(
|
||||
'unittest.mock.MagicMock',
|
||||
_AutospecMagicMock))
|
||||
|
||||
|
||||
class _patch(mock.mock._patch):
|
||||
class _patch(mock._patch):
|
||||
"""Patch class with working autospec functionality.
|
||||
|
||||
Currently, mock.patch functionality doesn't handle the autospec parameter
|
||||
@ -159,8 +163,11 @@ class _patch(mock.mock._patch):
|
||||
if autospec:
|
||||
target = self.getter()
|
||||
original_attr = getattr(target, self.attribute)
|
||||
eat_self = mock.mock._must_skip(target, self.attribute,
|
||||
isinstance(target, type))
|
||||
eat_self = mock._must_skip(
|
||||
target,
|
||||
self.attribute,
|
||||
isinstance(target, type)
|
||||
)
|
||||
|
||||
new = super(_patch, self).__enter__()
|
||||
|
||||
@ -186,11 +193,11 @@ def _safe_attribute_error_wrapper(func):
|
||||
|
||||
def patch_mock_module():
|
||||
"""Replaces the mock.patch class."""
|
||||
mock.mock._patch = _patch
|
||||
mock._patch = _patch
|
||||
|
||||
# NOTE(claudiub): mock cannot autospec partial functions properly,
|
||||
# especially those created by LazyLoader objects (scheduler client),
|
||||
# as it will try to copy the partial function's __name__ (which they do
|
||||
# not have).
|
||||
mock.mock._copy_func_details = _safe_attribute_error_wrapper(
|
||||
mock.mock._copy_func_details)
|
||||
mock._copy_func_details = _safe_attribute_error_wrapper(
|
||||
mock._copy_func_details)
|
||||
|
@ -17,10 +17,10 @@
|
||||
import logging
|
||||
import os
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
import fixtures
|
||||
import six
|
||||
from six.moves import mock
|
||||
import testtools
|
||||
|
||||
from oslotest import base
|
||||
|
@ -15,8 +15,8 @@
|
||||
# under the License.
|
||||
|
||||
import logging
|
||||
from unittest import mock
|
||||
|
||||
from six.moves import mock
|
||||
import testtools
|
||||
|
||||
from oslotest import log
|
||||
|
@ -13,8 +13,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import mock
|
||||
import testtools
|
||||
from unittest import mock
|
||||
|
||||
from oslotest import mock_fixture
|
||||
|
||||
|
@ -13,12 +13,12 @@
|
||||
# under the License.
|
||||
|
||||
import sys
|
||||
from unittest import mock
|
||||
|
||||
import testtools
|
||||
|
||||
from oslotest import output
|
||||
|
||||
from six.moves import mock
|
||||
import testtools
|
||||
|
||||
|
||||
class CaptureOutputTest(testtools.TestCase):
|
||||
|
||||
|
@ -12,7 +12,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from six.moves import mock
|
||||
from unittest import mock
|
||||
|
||||
import testtools
|
||||
|
||||
from oslotest import timeout
|
||||
|
@ -6,4 +6,3 @@ fixtures>=3.0.0 # Apache-2.0/BSD
|
||||
python-subunit>=1.0.0 # Apache-2.0/BSD
|
||||
six>=1.10.0 # MIT
|
||||
testtools>=2.2.0 # MIT
|
||||
mock>=2.0.0 # BSD
|
||||
|
Loading…
x
Reference in New Issue
Block a user