jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/661901 )

Change subject: [tests] move DataSite tests into its own test file
......................................................................

[tests] move DataSite tests into its own test file

Change-Id: I0ae2eaa838cd813d1e1d3918ce6acbbe9721e665
---
M tests/__init__.py
A tests/datasite_tests.py
M tests/site_tests.py
3 files changed, 108 insertions(+), 92 deletions(-)

Approvals:
  Xqt: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/__init__.py b/tests/__init__.py
index 8475379..911f15e 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -69,6 +69,7 @@
     'category',
     'cosmetic_changes',
     'date',
+    'datasite',
     'deprecation',
     'diff',
     'djvu',
diff --git a/tests/datasite_tests.py b/tests/datasite_tests.py
new file mode 100644
index 0000000..c8ae749
--- /dev/null
+++ b/tests/datasite_tests.py
@@ -0,0 +1,106 @@
+"""Tests for the site module."""
+#
+# (C) Pywikibot team, 2014-2021
+#
+# Distributed under the terms of the MIT license.
+#
+import unittest
+
+from contextlib import suppress
+
+import pywikibot
+
+from tests.aspects import DefaultWikidataClientTestCase, WikidataTestCase
+
+
+class TestDataSitePreloading(WikidataTestCase):
+
+    """Test DataSite.preload_entities for repo pages."""
+
+    def test_item(self):
+        """Test that ItemPage preloading works for Item objects."""
+        datasite = self.get_repo()
+        items = [pywikibot.ItemPage(datasite, 'q' + str(num))
+                 for num in range(1, 6)]
+
+        seen = []
+        for item in datasite.preload_entities(items):
+            self.assertIsInstance(item, pywikibot.ItemPage)
+            self.assertTrue(hasattr(item, '_content'))
+            self.assertNotIn(item, seen)
+            seen.append(item)
+        self.assertLength(seen, 5)
+
+    def test_item_as_page(self):
+        """Test that ItemPage preloading works for Page objects."""
+        site = self.get_site()
+        datasite = self.get_repo()
+        pages = [pywikibot.Page(site, 'q' + str(num))
+                 for num in range(1, 6)]
+
+        seen = []
+        for item in datasite.preload_entities(pages):
+            self.assertIsInstance(item, pywikibot.ItemPage)
+            self.assertTrue(hasattr(item, '_content'))
+            self.assertNotIn(item, seen)
+            seen.append(item)
+        self.assertLength(seen, 5)
+
+    def test_property(self):
+        """Test that preloading works for properties."""
+        datasite = self.get_repo()
+        page = pywikibot.Page(datasite, 'P6')
+        property_page = next(datasite.preload_entities([page]))
+        self.assertIsInstance(property_page, pywikibot.PropertyPage)
+        self.assertTrue(hasattr(property_page, '_content'))
+
+
+class TestDataSiteClientPreloading(DefaultWikidataClientTestCase):
+
+    """Test DataSite.preload_entities for client pages."""
+
+    def test_non_item(self):
+        """Test that ItemPage preloading works with Page generator."""
+        mainpage = self.get_mainpage()
+        datasite = self.get_repo()
+
+        item = next(datasite.preload_entities([mainpage]))
+        self.assertIsInstance(item, pywikibot.ItemPage)
+        self.assertTrue(hasattr(item, '_content'))
+        self.assertEqual(item.id, 'Q5296')
+
+
+class TestDataSiteSearchEntities(WikidataTestCase):
+
+    """Test DataSite.search_entities."""
+
+    def test_general(self):
+        """Test basic search_entities functionality."""
+        datasite = self.get_repo()
+        pages = list(datasite.search_entities('abc', 'en', total=50))
+        self.assertIsNotEmpty(pages)
+        self.assertLessEqual(len(pages), 50)
+        pages = list(datasite.search_entities('alphabet', 'en',
+                                              type='property', total=50))
+        self.assertIsNotEmpty(pages)
+        self.assertLessEqual(len(pages), 50)
+
+    def test_continue(self):
+        """Test that continue parameter in search_entities works."""
+        datasite = self.get_repo()
+        kwargs = {'total': 50}
+        pages = datasite.search_entities('Rembrandt', 'en', **kwargs)
+        kwargs['continue'] = 1
+        pages_continue = datasite.search_entities('Rembrandt', 'en', **kwargs)
+        self.assertNotEqual(list(pages), list(pages_continue))
+
+    def test_invalid_language(self):
+        """Test behavior of search_entities with invalid language provided."""
+        datasite = self.get_repo()
+        with self.assertRaises(ValueError):
+            datasite.search_entities('abc', 'invalidlanguage')
+
+
+if __name__ == '__main__':  # pragma: no cover
+    with suppress(SystemExit):
+        unittest.main()
diff --git a/tests/site_tests.py b/tests/site_tests.py
index a08cdad..32f8bf4 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -8,6 +8,7 @@
 import random
 import threading
 import time
+import unittest

 from collections.abc import Iterable, Mapping
 from contextlib import suppress
@@ -25,12 +26,9 @@
     AlteredDefaultSiteTestCase,
     DefaultDrySiteTestCase,
     DefaultSiteTestCase,
-    DefaultWikidataClientTestCase,
     DeprecationTestCase,
     TestCase,
-    unittest,
     WikimediaDefaultSiteTestCase,
-    WikidataTestCase,
 )
 from tests.basepage import BasePageLoadRevisionsCachingTestBase

@@ -3090,95 +3088,6 @@
                 break


-class TestDataSitePreloading(WikidataTestCase):
-
-    """Test DataSite.preload_entities for repo pages."""
-
-    def test_item(self):
-        """Test that ItemPage preloading works for Item objects."""
-        datasite = self.get_repo()
-        items = [pywikibot.ItemPage(datasite, 'q' + str(num))
-                 for num in range(1, 6)]
-
-        seen = []
-        for item in datasite.preload_entities(items):
-            self.assertIsInstance(item, pywikibot.ItemPage)
-            self.assertTrue(hasattr(item, '_content'))
-            self.assertNotIn(item, seen)
-            seen.append(item)
-        self.assertLength(seen, 5)
-
-    def test_item_as_page(self):
-        """Test that ItemPage preloading works for Page objects."""
-        site = self.get_site()
-        datasite = self.get_repo()
-        pages = [pywikibot.Page(site, 'q' + str(num))
-                 for num in range(1, 6)]
-
-        seen = []
-        for item in datasite.preload_entities(pages):
-            self.assertIsInstance(item, pywikibot.ItemPage)
-            self.assertTrue(hasattr(item, '_content'))
-            self.assertNotIn(item, seen)
-            seen.append(item)
-        self.assertLength(seen, 5)
-
-    def test_property(self):
-        """Test that preloading works for properties."""
-        datasite = self.get_repo()
-        page = pywikibot.Page(datasite, 'P6')
-        property_page = next(datasite.preload_entities([page]))
-        self.assertIsInstance(property_page, pywikibot.PropertyPage)
-        self.assertTrue(hasattr(property_page, '_content'))
-
-
-class TestDataSiteClientPreloading(DefaultWikidataClientTestCase):
-
-    """Test DataSite.preload_entities for client pages."""
-
-    def test_non_item(self):
-        """Test that ItemPage preloading works with Page generator."""
-        mainpage = self.get_mainpage()
-        datasite = self.get_repo()
-
-        item = next(datasite.preload_entities([mainpage]))
-        self.assertIsInstance(item, pywikibot.ItemPage)
-        self.assertTrue(hasattr(item, '_content'))
-        self.assertEqual(item.id, 'Q5296')
-
-
-class TestDataSiteSearchEntities(WikidataTestCase):
-
-    """Test DataSite.search_entities."""
-
-    def test_general(self):
-        """Test basic search_entities functionality."""
-        datasite = self.get_repo()
-        pages = list(datasite.search_entities('abc', 'en', total=50))
-        self.assertIsNotEmpty(pages)
-        self.assertLessEqual(len(pages), 50)
-        pages = list(datasite.search_entities('alphabet', 'en',
-                                              type='property', total=50))
-        self.assertIsNotEmpty(pages)
-        self.assertLessEqual(len(pages), 50)
-
-    def test_continue(self):
-        """Test that continue parameter in search_entities works."""
-        datasite = self.get_repo()
-        kwargs = {'total': 50}
-        pages = datasite.search_entities('Rembrandt', 'en', **kwargs)
-        kwargs['continue'] = 1
-        pages_continue = datasite.search_entities('Rembrandt', 'en', **kwargs)
-        self.assertNotEqual(list(pages), list(pages_continue))
-
-    def test_invalid_language(self):
-        """Test behavior of search_entities with invalid language provided."""
-        datasite = self.get_repo()
-        with self.assertRaises(ValueError):
-            datasite.search_entities('abc',
-                                     'invalidlanguage')
-
-
 class TestSametitleSite(TestCase):

     """Test APISite.sametitle on sites with known behaviour."""

--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/661901
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: I0ae2eaa838cd813d1e1d3918ce6acbbe9721e665
Gerrit-Change-Number: 661901
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[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