jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/622824 )
Change subject: [tests] improvements for pagegenerators_tests.py
......................................................................
[tests] improvements for pagegenerators_tests.py
- shorten super() calls
- introduce a parent class "BasetitleTestCase" and inherit few test
classes from it
- use assertLength method
Change-Id: I1b96624848dcb7547da3e67e43d750a4b1fd58e4
---
M tests/pagegenerators_tests.py
1 file changed, 23 insertions(+), 43 deletions(-)
Approvals:
Mpaa: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index 3f16fe1..4315832 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -71,7 +71,7 @@
def setUp(self):
"""Setup test."""
- super(TestDryPageGenerators, self).setUp()
+ super().setUp()
self.site = self.get_site()
def assertFunction(self, obj):
@@ -188,52 +188,47 @@
self.assertLength(tuple(gen), 9)
-class TestPagesFromPageidGenerator(TestCase):
+class BasetitleTestCase(TestCase):
- """Test PagesFromPageidGenerator method."""
+ """Class providing base_title attribute."""
family = 'wikisource'
code = 'en'
base_title = ('Page:06-24-1920 -The Story of the Jones County '
- 'Calf Case.pdf/%s')
+ 'Calf Case.pdf/{}')
def setUp(self):
"""Setup tests."""
- super(TestPagesFromPageidGenerator, self).setUp()
+ super().setUp()
self.site = self.get_site()
- self.titles = [self.base_title % i for i in range(1, 11)]
+ self.titles = [self.base_title.format(i) for i in range(1, 11)]
+
+
+class TestPagesFromPageidGenerator(BasetitleTestCase):
+
+ """Test PagesFromPageidGenerator method."""
def test_PagesFromPageidGenerator(self):
"""Test PagesFromPageidGenerator."""
gen_pages = pagegenerators.PagesFromTitlesGenerator(self.titles,
self.site)
- pageids = []
- for page in gen_pages:
- pageids.append(page.pageid)
-
+ pageids = [page.pageid for page in gen_pages]
gen = pagegenerators.PagesFromPageidGenerator(pageids, self.site)
self.assertPageTitlesEqual(gen, self.titles)
-class TestCategoryFilterPageGenerator(TestCase):
+class TestCategoryFilterPageGenerator(BasetitleTestCase):
"""Test CategoryFilterPageGenerator method."""
- family = 'wikisource'
- code = 'en'
-
- base_title = ('Page:06-24-1920 -The Story of the Jones County '
- 'Calf Case.pdf/%s')
category_list = ['Category:Validated']
def setUp(self):
"""Setup tests."""
- super(TestCategoryFilterPageGenerator, self).setUp()
- self.site = self.get_site()
- self.titles = [self.base_title % i for i in range(1, 11)]
- self.catfilter_list = [pywikibot.Category(
- self.site, cat) for cat in self.category_list]
+ super().setUp()
+ self.catfilter_list = [pywikibot.Category(self.site, cat)
+ for cat in self.category_list]
def test_CategoryFilterPageGenerator(self):
"""Test CategoryFilterPageGenerator."""
@@ -244,22 +239,13 @@
self.assertLength(tuple(gen), 10)
-class TestQualityFilterPageGenerator(TestCase):
+class TestQualityFilterPageGenerator(BasetitleTestCase):
"""Test QualityFilterPageGenerator methods."""
- family = 'wikisource'
- code = 'en'
-
cached = True
- base_title = 'Page:Popular Science Monthly Volume 1.djvu/%s'
-
- def setUp(self):
- """Setup tests."""
- super(TestQualityFilterPageGenerator, self).setUp()
- self.site = self.get_site()
- self.titles = [self.base_title % i for i in range(1, 11)]
+ base_title = 'Page:Popular Science Monthly Volume 1.djvu/{}'
def test_QualityFilterPageGenerator(self):
"""Test QualityFilterPageGenerator."""
@@ -487,12 +473,6 @@
"""Test the day page generator."""
- @classmethod
- def setUpClass(cls):
- """Setup class for tests."""
- super(TestDayPageGenerator, cls).setUpClass()
- cls.site = cls.get_site()
-
def _run_test(self, start_month=1, end_month=12, year=2000):
"""Test method for DayPageGenerator."""
params = {
@@ -1323,7 +1303,7 @@
def setUp(self):
"""Setup tests."""
- super(TestWantedFactoryGenerator, self).setUp()
+ super().setUp()
self.gf = pagegenerators.GeneratorFactory(site=self.site)
def _generator_with_tests(self):
@@ -1446,7 +1426,7 @@
@classmethod
def setUpClass(cls):
"""Setup test class."""
- super(TestLogeventsFactoryGenerator, cls).setUpClass()
+ super().setUpClass()
site = pywikibot.Site()
newuser_logevents = list(site.logevents(logtype='newusers', total=1))
if len(newuser_logevents) == 0:
@@ -1549,7 +1529,7 @@
@classmethod
def setUpClass(cls):
"""Setup test class."""
- super(EventStreamsPageGeneratorTestCase, cls).setUpClass()
+ super().setUpClass()
cls.client = 'sseclient'
if not has_module(cls.client):
raise unittest.SkipTest('{0} is not available'.format(cls.client))
@@ -1633,7 +1613,7 @@
for search, expected in cases:
gf = pagegenerators.GeneratorFactory(site=self.site)
- gf.handleArg('-weblink:%s' % search)
+ gf.handleArg('-weblink:{}'.format(search))
gf.handleArg('-ns:2')
gf.handleArg('-limit:1')
gen = gf.getCombinedGenerator()
@@ -1658,7 +1638,7 @@
site=self.site,
total=1)
self.assertIsInstance(gen, pywikibot.data.api.PageGenerator)
- self.assertEqual(len(list(gen)), 1)
+ self.assertLength(list(gen), 1)
if __name__ == '__main__': # pragma: no cover
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/622824
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I1b96624848dcb7547da3e67e43d750a4b1fd58e4
Gerrit-Change-Number: 622824
Gerrit-PatchSet: 4
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Mpaa <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits