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

Reply via email to