jenkins-bot submitted this change.

View Change

Approvals: Matěj Suchánek: Looks good to me, approved jenkins-bot: Verified
[tests] rename tests/basepage_tests to tests/basepage.py

tests/basepage_tests is not a test script but provides BasePageTestBase
classes which is used by other test scripts.

- rename tests/basepage_tests to tests/basepage.py
- update imports accordingly
- update super() calls
- remove superfluous setUp/setUpClass methods which just calls the
super().setUp/setUpClass
- remove basepage from library_test_modules

Change-Id: I71e7cd6d151b4248d1be90c86c520ed476163a82
---
M tests/__init__.py
R tests/basepage.py
M tests/flow_tests.py
M tests/proofreadpage_tests.py
M tests/site_tests.py
M tests/wikibase_tests.py
6 files changed, 56 insertions(+), 68 deletions(-)

diff --git a/tests/__init__.py b/tests/__init__.py
index 628cfe0..4130000 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -73,7 +73,6 @@

library_test_modules = {
'api',
- 'basepage',
'bot',
'category',
'cosmetic_changes',
diff --git a/tests/basepage_tests.py b/tests/basepage.py
similarity index 100%
rename from tests/basepage_tests.py
rename to tests/basepage.py
diff --git a/tests/flow_tests.py b/tests/flow_tests.py
index fc48680..df04850 100644
--- a/tests/flow_tests.py
+++ b/tests/flow_tests.py
@@ -13,7 +13,7 @@
from tests import unittest

from tests.aspects import TestCase
-from tests.basepage_tests import (
+from tests.basepage import (
BasePageMethodsTestBase,
BasePageLoadRevisionsCachingTestBase,
)
diff --git a/tests/proofreadpage_tests.py b/tests/proofreadpage_tests.py
index a677a23..a95d830 100644
--- a/tests/proofreadpage_tests.py
+++ b/tests/proofreadpage_tests.py
@@ -5,11 +5,11 @@
#
# Distributed under the terms of the MIT license.
#
-from __future__ import absolute_import, division, unicode_literals
-
import difflib
import json

+from contextlib import suppress
+
import pywikibot

from pywikibot.data import api
@@ -18,7 +18,7 @@

from tests import unittest_print
from tests.aspects import unittest, require_modules, TestCase
-from tests.basepage_tests import (
+from tests.basepage import (
BasePageMethodsTestBase,
BasePageLoadRevisionsCachingTestBase,
)
@@ -50,7 +50,7 @@
"""Set up test case."""
self._page = ProofreadPage(
self.site, 'Page:Popular Science Monthly Volume 1.djvu/12')
- super(TestBasePageMethodsProofreadPage, self).setUp()
+ super().setUp()

def test_basepage_methods(self):
"""Test ProofreadPage methods inherited from superclass BasePage."""
@@ -70,7 +70,7 @@
"""Set up test case."""
self._page = ProofreadPage(
self.site, 'Page:Popular Science Monthly Volume 1.djvu/12')
- super(TestLoadRevisionsCachingProofreadPage, self).setUp()
+ super().setUp()

def test_page_text(self):
"""Test site.loadrevisions() with Page.text."""
@@ -125,11 +125,6 @@
},
}

- @classmethod
- def setUpClass(cls):
- """Prepare get_page dataset for tests."""
- super(TestProofreadPageParseTitle, cls).setUpClass()
-
def test_parse_title(self, key):
"""Test ProofreadPage_parse_title() function."""
data = self.sites[key]
@@ -353,7 +348,7 @@
.format(module=__name__, doc=cls.__doc__, name=cls.__name__),
end='\n')
cls.skipTest(cls, 'bs4 not installed')
- super(BS4TestCase, cls).setUpClass()
+ super().setUpClass()


class TestPageOCR(BS4TestCase):
@@ -385,7 +380,7 @@
site = self.get_site()
title = self.data['title']
self.page = ProofreadPage(site, title)
- super(TestPageOCR, self).setUp()
+ super().setUp()

def test_ocr_exceptions(self):
"""Test page.ocr() exceptions."""
@@ -562,7 +557,7 @@
"""Set up test case."""
self._page = IndexPage(
self.site, 'Index:Popular Science Monthly Volume 1.djvu')
- super(TestBasePageMethodsIndexPage, self).setUp()
+ super().setUp()

def test_basepage_methods(self):
"""Test IndexPage methods inherited from superclass BasePage."""
@@ -582,7 +577,7 @@
"""Set up test case."""
self._page = IndexPage(
self.site, 'Index:Popular Science Monthly Volume 1.djvu')
- super(TestLoadRevisionsCachingIndexPage, self).setUp()
+ super().setUp()

def test_page_text(self):
"""Test site.loadrevisions() with Page.text."""
@@ -645,7 +640,7 @@
@classmethod
def setUpClass(cls):
"""Prepare get_page dataset for tests."""
- super(TestIndexPageMappings, cls).setUpClass()
+ super().setUpClass()
for key, site_def in cls.sites.items():
site = cls.get_site(name=key)
base_title = site_def['page']
@@ -780,7 +775,7 @@
@classmethod
def setUpClass(cls):
"""Prepare tests by creating page instances."""
- super(TestIndexPageMappingsRedlinks, cls).setUpClass()
+ super().setUpClass()
cls.index = IndexPage(cls.site, cls.index_name)
cls.pages = [ProofreadPage(cls.site, page) for page in cls.page_names]
cls.missing = ProofreadPage(cls.site, cls.missing_name)
@@ -820,7 +815,7 @@
@classmethod
def setUpClass(cls):
"""Prepare tests by creating an IndexPage instance."""
- super(TestIndexPageHasValidContent, cls).setUpClass()
+ super().setUpClass()
cls.index = IndexPage(cls.site, cls.index_name)

def test_has_valid_content_empty(self):
@@ -881,7 +876,5 @@


if __name__ == '__main__': # pragma: no cover
- try:
+ with suppress(SystemExit):
unittest.main()
- except SystemExit:
- pass
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 68b8373..ec9ab45 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -25,16 +25,18 @@

from tests import patch, unittest_print, MagicMock
from tests.aspects import (
- unittest, TestCase, DeprecationTestCase,
- TestCaseBase,
- DefaultSiteTestCase,
+ AlteredDefaultSiteTestCase,
DefaultDrySiteTestCase,
+ DefaultSiteTestCase,
+ DefaultWikidataClientTestCase,
+ DeprecationTestCase,
+ TestCase,
+ TestCaseBase,
+ unittest,
WikimediaDefaultSiteTestCase,
WikidataTestCase,
- DefaultWikidataClientTestCase,
- AlteredDefaultSiteTestCase,
)
-from tests.basepage_tests import BasePageLoadRevisionsCachingTestBase
+from tests.basepage import BasePageLoadRevisionsCachingTestBase
from tests.utils import entered_loop


@@ -44,7 +46,7 @@

def setUp(self):
"""Skip test if user does not have token and clear site wallet."""
- super(TokenTestBase, self).setUp()
+ super().setUp()
mysite = self.get_site()
ttype = self.token_type
try:
@@ -63,7 +65,7 @@
def tearDown(self):
"""Restore site tokens."""
self.site.tokens = self._orig_wallet
- super(TokenTestBase, self).tearDown()
+ super().tearDown()


class TestSiteObjectDeprecatedFunctions(DefaultSiteTestCase,
@@ -476,7 +478,7 @@

def setUp(self):
"""Initialize self.site and self.mainpage."""
- super(TestSiteGenerators, self).setUp()
+ super().setUp()
self.site = self.get_site()
self.mainpage = self.get_mainpage()

@@ -1129,7 +1131,7 @@

def setUp(self):
"""Initialize self.site and self.mainpage."""
- super(TestSiteGeneratorsUsers, self).setUp()
+ super().setUp()
self.site = self.get_site()
self.mainpage = self.get_mainpage()

@@ -1197,7 +1199,7 @@

def setUp(self):
"""Skip tests if Linter extension is missing."""
- super(TestLinterPages, self).setUp()
+ super().setUp()
if not self.site.has_extension('Linter'):
self.skipTest(
'The site {0} does not use Linter extension'.format(self.site))
@@ -1444,7 +1446,7 @@
@classmethod
def setUpClass(cls):
"""Test up test class."""
- super(TestRecentChanges, cls).setUpClass()
+ super().setUpClass()
mysite = cls.get_site()
try:
# 1st image on main page
@@ -2293,14 +2295,14 @@

def setUp(self):
"""Store version."""
- super(TestSiteTokens, self).setUp()
+ super().setUp()
self.mysite = self.get_site()
self._version = self.mysite.mw_version
self.orig_version = self.mysite.version

def tearDown(self):
"""Restore version."""
- super(TestSiteTokens, self).tearDown()
+ super().tearDown()
self.mysite.version = self.orig_version

def _test_tokens(self, version, test_version, additional_token):
@@ -2591,7 +2593,7 @@
def setUp(self):
"""Setup tests."""
self._page = self.get_mainpage(force=True)
- super(TestSiteLoadRevisionsCaching, self).setUp()
+ super().setUp()

def test_page_text(self):
"""Test site.loadrevisions() with Page.text."""
@@ -2611,7 +2613,7 @@
# were not completely disposed and recreated but retained 'memory'
def setUp(self):
"""Setup tests."""
- super(TestSiteLoadRevisions, self).setUp()
+ super().setUp()
self.mysite = self.get_site()
self.mainpage = pywikibot.Page(pywikibot.Link('Main Page',
self.mysite))
@@ -2742,7 +2744,7 @@

def setUp(self):
"""Setup tests."""
- super(TestBacklinks, self).setUp()
+ super().setUp()
self.page = pywikibot.Page(self.site, 'File:BoA – Woman.png')
self.backlinks = list(self.page.backlinks(follow_redirects=False,
filter_redirects=True,
@@ -2959,7 +2961,7 @@

def setUp(self):
"""Setup tests."""
- super(TestLoadPagesFromPageids, self).setUp()
+ super().setUp()
self.site = self.get_site()
mainpage = self.get_mainpage()
self.links = [
diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py
index 546da66..7c24600 100644
--- a/tests/wikibase_tests.py
+++ b/tests/wikibase_tests.py
@@ -5,11 +5,10 @@
#
# Distributed under the terms of the MIT license.
#
-from __future__ import absolute_import, division, unicode_literals
-
import copy
import json

+from contextlib import suppress
from decimal import Decimal

import pywikibot
@@ -23,12 +22,13 @@

from tests import join_pages_path, mock
from tests.aspects import (
- unittest, TestCase,
- WikidataTestCase,
DeprecationTestCase,
+ TestCase,
+ unittest,
+ WikidataTestCase,
)

-from tests.basepage_tests import (
+from tests.basepage import (
BasePageMethodsTestBase,
BasePageLoadRevisionsCachingTestBase,
)
@@ -49,10 +49,6 @@

"""Test methods inherited or extended from _WbRepresentation."""

- def setUp(self):
- """Setup tests."""
- super(WbRepresentationTestCase, self).setUp()
-
def _test_hashable(self, representation):
"""Test that the representation is hashable."""
list_of_dupes = [representation, representation]
@@ -67,7 +63,7 @@
def setUp(self):
"""Setup test."""
self._page = ItemPage(self.get_repo(), 'Q60')
- super(TestLoadRevisionsCaching, self).setUp()
+ super().setUp()

def test_page_text(self):
"""Test site.loadrevisions() with Page.text."""
@@ -115,7 +111,7 @@
@classmethod
def setUpClass(cls):
"""Setup test class."""
- super(TestGeneral, cls).setUpClass()
+ super().setUpClass()
enwiki = pywikibot.Site('en', 'wikipedia')
cls.mainpage = pywikibot.Page(pywikibot.page.Link('Main Page', enwiki))

@@ -511,7 +507,7 @@

def setUp(self):
"""Override setup to store repo and it's version."""
- super(WikidataTestCase, self).setUp()
+ super().setUp()
self.repo = self.get_repo()
self.version = self.repo.mw_version

@@ -678,7 +674,7 @@
"""Setup tests."""
self.commons = pywikibot.Site('commons', 'commons')
self.page = Page(self.commons, 'Data:Lyngby Hovedgade.map')
- super(TestWbGeoShapeNonDry, self).setUp()
+ super().setUp()

def test_WbGeoShape_WbRepresentation_methods(self):
"""Test inherited or extended methods from _WbRepresentation."""
@@ -754,7 +750,7 @@
"""Setup tests."""
self.commons = pywikibot.Site('commons', 'commons')
self.page = Page(self.commons, 'Data:Bea.gov/GDP by state.tab')
- super(TestWbTabularDataNonDry, self).setUp()
+ super().setUp()

def test_WbTabularData_WbRepresentation_methods(self):
"""Test inherited or extended methods from _WbRepresentation."""
@@ -858,7 +854,7 @@

def setUp(self):
"""Setup test."""
- super(TestLoadUnknownType, self).setUp()
+ super().setUp()
wikidata = self.get_repo()
self.wdp = ItemPage(wikidata, 'Q60')
self.wdp.id = 'Q60'
@@ -928,12 +924,12 @@
@classmethod
def setUpClass(cls):
"""Setup test class."""
- super(TestItemLoad, cls).setUpClass()
+ super().setUpClass()
cls.site = cls.get_site('enwiki')

def setUp(self):
"""Setup test."""
- super(TestItemLoad, self).setUp()
+ super().setUp()
self.nyc = pywikibot.Page(pywikibot.page.Link('New York City',
self.site))

@@ -1690,7 +1686,7 @@
def setUp(self):
"""Setup tests."""
self._page = ItemPage(self.get_repo(), 'Q60')
- super(TestItemBasePageMethods, self).setUp()
+ super().setUp()

def test_basepage_methods(self):
"""Test ItemPage methods inherited from superclass BasePage."""
@@ -1710,7 +1706,7 @@
def setUp(self):
"""Setup tests."""
self._page = pywikibot.Page(self.site, 'Q60')
- super(TestPageMethodsWithItemTitle, self).setUp()
+ super().setUp()

def test_basepage_methods(self):
"""Test Page methods inherited from superclass BasePage with Q60."""
@@ -1740,7 +1736,7 @@

def setUp(self):
"""Setup Tests."""
- super(TestLinks, self).setUp()
+ super().setUp()
self.wdp = ItemPage(self.get_repo(), 'Q60')
self.wdp.id = 'Q60'
with open(join_pages_path('Q60_only_sitelinks.wd')) as f:
@@ -1773,7 +1769,7 @@

def setUp(self):
"""Setup tests."""
- super(TestLanguageDict, self).setUp()
+ super().setUp()
self.site = self.get_site()
self.lang_out = {'en': 'foo'}

@@ -1848,7 +1844,7 @@

def setUp(self):
"""Setup tests."""
- super(TestAliasesDict, self).setUp()
+ super().setUp()
self.site = self.get_site()
self.lang_out = {'en': ['foo', 'bar']}

@@ -1944,7 +1940,7 @@

def setUp(self):
"""Setup tests."""
- super(TestWriteNormalizeData, self).setUp()
+ super().setUp()
self.data_out = {
'labels': {'en': {'language': 'en', 'value': 'Foo'}},
'descriptions': {'en': {'language': 'en', 'value': 'Desc'}},
@@ -2133,7 +2129,7 @@
@classmethod
def setUpClass(cls):
"""Setup test class."""
- super(TestAlternateNamespaces, cls).setUpClass()
+ super().setUpClass()

cls.get_repo()._namespaces = NamespacesDict({
90: Namespace(id=90,
@@ -2264,7 +2260,7 @@

def setUp(self):
"""Setup test."""
- super(TestJSON, self).setUp()
+ super().setUp()
wikidata = self.get_repo()
self.wdp = ItemPage(wikidata, 'Q60')
self.wdp.id = 'Q60'
@@ -2387,7 +2383,5 @@


if __name__ == '__main__': # pragma: no cover
- try:
+ with suppress(SystemExit):
unittest.main()
- except SystemExit:
- pass

To view, visit change 622980. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I71e7cd6d151b4248d1be90c86c520ed476163a82
Gerrit-Change-Number: 622980
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Matěj Suchánek <matejsuchanek97@gmail.com>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged