jenkins-bot has submitted this change and it was merged.
Change subject: [FIX] logentry tests: Only work on actual block
......................................................................
[FIX] logentry tests: Only work on actual block
The unblock log entries aren't really special so these checks in the tests
don't apply for those. It'll also iterate over multiple (up to 5) entries to
find one block log entry.
Bug: T101976
Change-Id: I04c751e32130461aa950f92758a178947225a835
---
M pywikibot/logentries.py
M tests/logentry_tests.py
2 files changed, 20 insertions(+), 9 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/logentries.py b/pywikibot/logentries.py
index a639628..bc99909 100644
--- a/pywikibot/logentries.py
+++ b/pywikibot/logentries.py
@@ -116,7 +116,12 @@
class BlockEntry(LogEntry):
- """Block log entry."""
+ """
+ Block or unblock log entry.
+
+ It might contain a block or unblock depending on the action. The duration,
+ expiry and flags are not available on unblock log entries.
+ """
_expectedType = 'block'
diff --git a/tests/logentry_tests.py b/tests/logentry_tests.py
index 2326ebd..17bc02e 100644
--- a/tests/logentry_tests.py
+++ b/tests/logentry_tests.py
@@ -115,14 +115,20 @@
def test_BlockEntry(self, key):
"""Test BlockEntry methods."""
- logentry = self._get_logentry('block')
- if logentry.action() == 'block':
- self.assertIsInstance(logentry.flags(), list)
- # Check that there are no empty strings
- self.assertTrue(all(logentry.flags()))
- if logentry.expiry() is not None:
- self.assertIsInstance(logentry.expiry(), pywikibot.Timestamp)
- self.assertIsInstance(logentry.duration(), datetime.timedelta)
+ # only 'block' entries can be tested
+ for logentry in self.site.logevents(logtype='block', total=5):
+ if logentry.action() == 'block':
+ self.assertIsInstance(logentry.flags(), list)
+ # Check that there are no empty strings
+ self.assertTrue(all(logentry.flags()))
+ if logentry.expiry() is not None:
+ self.assertIsInstance(logentry.expiry(),
pywikibot.Timestamp)
+ self.assertIsInstance(logentry.duration(),
datetime.timedelta)
+ self.assertEqual(logentry.timestamp() +
logentry.duration(),
+ logentry.expiry())
+ else:
+ self.assertIsNone(logentry.duration())
+ break
def test_RightsEntry(self, key):
"""Test RightsEntry methods."""
--
To view, visit https://gerrit.wikimedia.org/r/217433
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I04c751e32130461aa950f92758a178947225a835
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <[email protected]>
Gerrit-Reviewer: John Vandenberg <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits