Dalba has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/397820 )
Change subject: Move all unittest.mock imports tests/__init__.py
......................................................................
Move all unittest.mock imports tests/__init__.py
Change-Id: Ib2feb48f74947fd96bd6a584f4282d58d661a364
---
M tests/README.rst
M tests/__init__.py
M tests/category_bot_tests.py
M tests/diff_tests.py
M tests/eventstreams_tests.py
M tests/login_tests.py
M tests/page_tests.py
M tests/pagegenerators_tests.py
M tests/redirect_bot_tests.py
M tests/sparql_tests.py
M tests/textlib_tests.py
M tests/tools_tests.py
M tests/wikibase_tests.py
13 files changed, 22 insertions(+), 65 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/20/397820/1
diff --git a/tests/README.rst b/tests/README.rst
index b34ab6b..f0464a9 100644
--- a/tests/README.rst
+++ b/tests/README.rst
@@ -271,14 +271,13 @@
This is especially useful in tests, where requests to third-parties should be
avoided.
-In Python 3, this is part of the built-in unittest module.
+In Python 3, this is part of the built-in unittest module. But `mock` should
+be installed using pip for Python 2. Import whichever is available from the
+`tests` package.
::
- if sys.version_info[0] > 2:
- from unittest.mock import patch
- else:
- from mock import patch
+ from tests import patch
def fake_ping(url):
diff --git a/tests/__init__.py b/tests/__init__.py
index b290f68..fec9bd3 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -12,7 +12,7 @@
import warnings
__all__ = ('requests', 'unittest', 'TestRequest',
- 'patch_request', 'unpatch_request')
+ 'patch_request', 'unpatch_request', 'mock', 'Mock', 'patch')
# Verify that the unit tests have a base working environment:
# - requests is mandatory
@@ -30,6 +30,12 @@
import unittest2 as unittest
else:
import unittest
+try:
+ import unittest.mock as mock
+ from unittest.mock import Mock, patch
+except ImportError:
+ import mock
+ from mock import Mock, patch
import pywikibot.data.api
diff --git a/tests/category_bot_tests.py b/tests/category_bot_tests.py
index 28df25b..3f5ed29 100644
--- a/tests/category_bot_tests.py
+++ b/tests/category_bot_tests.py
@@ -7,15 +7,11 @@
#
from __future__ import absolute_import, unicode_literals
-try:
- from unittest.mock import patch, Mock
-except ImportError:
- from mock import patch, Mock
-
from pywikibot import BaseSite
from scripts.category import CategoryMoveRobot
+from tests import patch, Mock
from tests.aspects import unittest, DefaultSiteTestCase
diff --git a/tests/diff_tests.py b/tests/diff_tests.py
index ccf5afd..ed2b193 100644
--- a/tests/diff_tests.py
+++ b/tests/diff_tests.py
@@ -7,18 +7,11 @@
# Distributed under the terms of the MIT license.
from __future__ import absolute_import, unicode_literals
-import sys
-
from pywikibot.diff import cherry_pick, html_comparator, PatchManager
from pywikibot.tools import PY2
-from tests import join_html_data_path
+from tests import join_html_data_path, patch
from tests.aspects import TestCase, require_modules, unittest
-
-if sys.version_info[0] > 2:
- from unittest.mock import patch
-else:
- from mock import patch
@require_modules('bs4')
diff --git a/tests/eventstreams_tests.py b/tests/eventstreams_tests.py
index 4f4cdc3..77b6b57 100644
--- a/tests/eventstreams_tests.py
+++ b/tests/eventstreams_tests.py
@@ -9,7 +9,7 @@
from types import FunctionType
-import mock
+from tests import mock
from pywikibot.comms.eventstreams import EventStreams
from pywikibot import config
diff --git a/tests/login_tests.py b/tests/login_tests.py
index 22c7c13..d1fcc81 100644
--- a/tests/login_tests.py
+++ b/tests/login_tests.py
@@ -12,10 +12,6 @@
from __future__ import absolute_import, unicode_literals
from collections import defaultdict
-try:
- import unittest.mock as mock
-except ImportError:
- import mock
from io import StringIO
from pywikibot.exceptions import NoUsername
@@ -25,6 +21,7 @@
unittest,
DefaultDrySiteTestCase,
)
+from tests import mock
class FakeFamily(object):
diff --git a/tests/page_tests.py b/tests/page_tests.py
index 9b7377b..10aa170 100644
--- a/tests/page_tests.py
+++ b/tests/page_tests.py
@@ -10,10 +10,6 @@
import pickle
import re
-try:
- import unittest.mock as mock
-except ImportError:
- import mock
import pywikibot
import pywikibot.page
@@ -32,6 +28,7 @@
unittest, TestCase, DefaultSiteTestCase, SiteAttributeTestCase,
DefaultDrySiteTestCase, DeprecationTestCase,
)
+from tests import mock
EMPTY_TITLE_RE = r'Title must be specified and not empty if source is a Site\.'
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index e4ca277..365a7a0 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -14,11 +14,6 @@
from distutils.version import LooseVersion
-try:
- from unittest.mock import patch
-except ImportError:
- from mock import patch
-
import pywikibot
from pywikibot import pagegenerators, date
@@ -32,7 +27,7 @@
from pywikibot.tools import has_module
-from tests import join_data_path
+from tests import join_data_path, patch
from tests.aspects import (
unittest,
TestCase,
diff --git a/tests/redirect_bot_tests.py b/tests/redirect_bot_tests.py
index f44fd71..3f5afc6 100644
--- a/tests/redirect_bot_tests.py
+++ b/tests/redirect_bot_tests.py
@@ -7,17 +7,12 @@
#
from __future__ import absolute_import, unicode_literals
-try:
- from unittest.mock import Mock, patch
-except ImportError:
- from mock import Mock, patch
-
import pywikibot
-
from pywikibot import site, Page, i18n
from scripts.redirect import RedirectRobot
+from tests import Mock, patch
from tests.aspects import DefaultSiteTestCase
diff --git a/tests/sparql_tests.py b/tests/sparql_tests.py
index c392d57..933de95 100644
--- a/tests/sparql_tests.py
+++ b/tests/sparql_tests.py
@@ -7,17 +7,12 @@
#
from __future__ import absolute_import, unicode_literals
-import sys
-
import pywikibot.data.sparql as sparql
from pywikibot.tools import UnicodeType
from tests.aspects import unittest, TestCase, WikidataTestCase
+from tests import patch
-if sys.version_info[0] > 2:
- from unittest.mock import patch
-else:
- from mock import patch
# See: https://www.w3.org/TR/2013/REC-sparql11-results-json-20130321/
diff --git a/tests/textlib_tests.py b/tests/textlib_tests.py
index 6b132ca..fb77566 100644
--- a/tests/textlib_tests.py
+++ b/tests/textlib_tests.py
@@ -11,10 +11,6 @@
import functools
import os
import re
-try:
- from unittest import mock
-except ImportError:
- import mock
import pywikibot
import pywikibot.textlib as textlib
@@ -28,6 +24,7 @@
unittest, require_modules, TestCase, DefaultDrySiteTestCase,
PatchingTestCase, SiteAttributeTestCase,
)
+from tests import mock
files = {}
dirname = os.path.join(os.path.dirname(__file__), "pages")
diff --git a/tests/tools_tests.py b/tests/tools_tests.py
index 9039a54..16d8430 100644
--- a/tests/tools_tests.py
+++ b/tests/tools_tests.py
@@ -15,20 +15,13 @@
import tempfile
import warnings
-try:
- import mock
-except ImportError as e:
- mock = e
-
from pywikibot import tools
from pywikibot.tools import classproperty
-from tests import join_xml_data_path
-
+from tests import join_xml_data_path, mock
from tests.aspects import (
unittest, require_modules, DeprecationTestCase, TestCase, MetaTestCaseClass
)
-
from tests.utils import add_metaclass
@@ -710,7 +703,6 @@
return inspect.getargspec(method)
-@require_modules('mock')
class TestFileModeChecker(TestCase):
"""Test parsing password files."""
diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py
index cb93598..757dfa1 100644
--- a/tests/wikibase_tests.py
+++ b/tests/wikibase_tests.py
@@ -12,11 +12,6 @@
from decimal import Decimal
-try:
- from unittest import mock
-except ImportError:
- import mock
-
import pywikibot
from pywikibot import pagegenerators
@@ -24,7 +19,7 @@
from pywikibot.site import Namespace, NamespacesDict
from pywikibot.tools import MediaWikiVersion
-from tests import join_pages_path
+from tests import join_pages_path, mock
from tests.aspects import (
unittest, TestCase,
WikidataTestCase,
--
To view, visit https://gerrit.wikimedia.org/r/397820
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib2feb48f74947fd96bd6a584f4282d58d661a364
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Dalba <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits