jenkins-bot submitted this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[tests] remove cached attribute from unconnectedPages tests

Bug: T370596
Change-Id: Ib758190deae31e070a1a73b305a0e6a5e0508d44
---
M pywikibot/site/_extensions.py
M tests/pagegenerators_tests.py
M tests/site_generators_tests.py
3 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/pywikibot/site/_extensions.py b/pywikibot/site/_extensions.py
index aadf1b4..46490fd 100644
--- a/pywikibot/site/_extensions.py
+++ b/pywikibot/site/_extensions.py
@@ -262,6 +262,8 @@
def unconnected_pages(self, total=None):
"""Yield Page objects from Special:UnconnectedPages.

+ .. warning:: The retrieved pages may be connected in meantime.
+
:param total: number of pages to return
"""
return self.querypage('UnconnectedPages', total)
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index a705b4b..7efd78f 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -1688,16 +1688,15 @@

"""Test UnconnectedPageGenerator."""

- cached = True
-
def test_unconnected_with_repo(self):
"""Test UnconnectedPageGenerator."""
- if not self.site.data_repository():
+ site = self.site.data_repository()
+ if not site:
self.skipTest('Site is not using a Wikibase repository')
+
pages = list(pagegenerators.UnconnectedPageGenerator(self.site, 3))
self.assertLessEqual(len(pages), 3)

- site = self.site.data_repository()
pattern = (fr'Page \[\[({site.sitename}:|{site.code}:)-1\]\]'
r" doesn't exist\.")
for page in pages:
diff --git a/tests/site_generators_tests.py b/tests/site_generators_tests.py
index 7596e6d..86c98e0 100755
--- a/tests/site_generators_tests.py
+++ b/tests/site_generators_tests.py
@@ -650,21 +650,6 @@
self.fail(
f'NotImplementedError not raised for {item}')

- def test_unconnected(self):
- """Test site.unconnected_pages method."""
- if not self.site.data_repository():
- self.skipTest('Site is not using a Wikibase repository')
- pages = list(self.site.unconnected_pages(total=3))
- self.assertLessEqual(len(pages), 3)
-
- site = self.site.data_repository()
- pattern = (r'Page '
- rf'\[\[({site.sitename}:|{site.code}:)-1\]\]'
- r" doesn't exist\.")
- for page in pages:
- with self.assertRaisesRegex(NoPageError, pattern):
- page.data_item()
-
def test_assert_valid_iter_params(self):
"""Test site.assert_valid_iter_params method."""
func = self.site.assert_valid_iter_params
@@ -690,6 +675,27 @@
func('m', 2, 1, True, True)


+class TestUnconnectedPages(DefaultSiteTestCase):
+
+ """Test unconnected_pages method without cache enabled."""
+
+ def test_unconnected(self):
+ """Test site.unconnected_pages method."""
+ site = self.site.data_repository()
+ if not site:
+ self.skipTest('Site is not using a Wikibase repository')
+
+ pages = list(self.site.unconnected_pages(total=3))
+ self.assertLessEqual(len(pages), 3)
+
+ pattern = (fr'Page \[\[({site.sitename}:|{site.code}:)-1\]\]'
+ r" doesn't exist\.")
+ for page in pages:
+ with self.subTest(page=page), self.assertRaisesRegex(
+ NoPageError, pattern):
+ page.data_item()
+
+
class TestSiteGeneratorsUsers(DefaultSiteTestCase):
"""Test cases for Site methods with users."""


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

Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ib758190deae31e070a1a73b305a0e6a5e0508d44
Gerrit-Change-Number: 1055583
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot