jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1217140?usp=email )
Change subject: tests: Fix label keys for WD item Q60
......................................................................
tests: Fix label keys for WD item Q60
It is controversial whether Q60 may have a 'mul' key or not.
Bug: T412188
Change-Id: Idec9fc9e6b6f6bacfaade960f81f923a80834d58
---
M tests/wikibase_tests.py
1 file changed, 17 insertions(+), 9 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py
index 583123f..4097eb4 100755
--- a/tests/wikibase_tests.py
+++ b/tests/wikibase_tests.py
@@ -228,6 +228,9 @@
}
}
+ keys = 'en', 'mul' # either en or mul may missing
+ labels = 'New York', 'New York City' # label could change
+
@classmethod
def setUpClass(cls) -> None:
"""Set up test class."""
@@ -237,7 +240,7 @@
def setUp(self) -> None:
"""Set up test."""
super().setUp()
- self.nyc = pywikibot.Page(pywikibot.page.Link('New York City',
+ self.nyc = pywikibot.Page(pywikibot.page.Link(self.labels[1],
self.site))
def test_item_normal(self) -> None:
@@ -283,9 +286,11 @@
self.assertNotHasAttr(item, '_content')
item.get()
self.assertHasAttr(item, '_content')
- self.assertIn('mul', item.labels)
+ key = next((k for k in self.keys if k in item.labels), None)
+ self.assertIsNotNone(key,
+ f'Expected one of {self.keys} in item.labels')
# label could change
- self.assertIn(item.labels['mul'], ['New York', 'New York City'])
+ self.assertIn(item.labels[key], self.labels)
self.assertEqual(item.title(), 'Q60')
def test_reuse_item_set_id(self) -> None:
@@ -295,12 +300,13 @@
work but modifying item.id does not currently work, and this
test highlights that it breaks silently.
"""
- # label could change
- label = ['New York', 'New York City']
wikidata = self.get_repo()
item = ItemPage(wikidata, 'Q60')
item.get()
- self.assertIn(item.labels['mul'], label)
+ key = next((k for k in self.keys if k in item.labels), None)
+ self.assertIsNotNone(key,
+ f'Expected one of {self.keys} in item.labels')
+ old_label = item.labels[key]
# When the id attribute is modified, the ItemPage goes into
# an inconsistent state.
@@ -312,7 +318,8 @@
# it doesn't help to clear this piece of saved state.
del item._content
# The labels are not updated; assertion showing undesirable behaviour:
- self.assertIn(item.labels['mul'], label)
+ self.assertEqual(item.labels[key], old_label)
+ self.assertIn(item.labels[key], self.labels)
def test_empty_item(self) -> None:
"""Test empty wikibase item.
@@ -452,10 +459,11 @@
def test_fromPage_lazy(self) -> None:
"""Test item from page with lazy_load."""
- page = pywikibot.Page(pywikibot.page.Link('New York City', self.site))
+ title = self.labels[1]
+ page = pywikibot.Page(pywikibot.page.Link(title, self.site))
item = ItemPage.fromPage(page, lazy_load=True)
self.assertEqual(item._defined_by(),
- {'sites': 'enwiki', 'titles': 'New York City'})
+ {'sites': 'enwiki', 'titles': title})
self.assertEqual(item._link._title, '-1')
self.assertNotHasAttr(item, 'id')
self.assertNotHasAttr(item, '_content')
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1217140?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Idec9fc9e6b6f6bacfaade960f81f923a80834d58
Gerrit-Change-Number: 1217140
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]