jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1196999?usp=email )
Change subject: Tests: Fix MockSite in dry_api_tests
......................................................................
Tests: Fix MockSite in dry_api_tests
- remove unused methods and properties
- use langs property with MockFamily and remove unused name
- pass username to BaseSite initializer
- add "id" to "_userinfo" to be used with logged_in() method
- add tests for username() and user() to test login state
Change-Id: I6cfd104a08b3ccb6a2a2fd24787c70e9e4cf25de
---
M tests/dry_api_tests.py
1 file changed, 11 insertions(+), 35 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/dry_api_tests.py b/tests/dry_api_tests.py
index fbef7d0..3f5520b 100755
--- a/tests/dry_api_tests.py
+++ b/tests/dry_api_tests.py
@@ -29,7 +29,6 @@
TestCase,
unittest,
)
-from tests.utils import DummySiteinfo
class DryCachedRequestTests(SiteAttributeTestCase):
@@ -149,49 +148,21 @@
class MockFamily(Family):
@property
- def name(self) -> str:
- return 'mock'
+ def langs(self) -> str:
+ return {'mock': ''}
class MockSite(pywikibot.site.APISite):
_loginstatus = LoginStatus.NOT_ATTEMPTED
-
_namespaces = {2: ['User']}
def __init__(self) -> None:
- self._user = 'anon'
- pywikibot.site.BaseSite.__init__(self, 'mock', MockFamily())
- self._siteinfo = DummySiteinfo({'case': 'first-letter'})
-
- def version(self) -> str:
- return '1.31' # lowest supported release
-
- def protocol(self) -> str:
- return 'http'
-
- @property
- def codes(self):
- return {'mock'}
-
- def user(self):
- return self._user
-
- def encoding(self) -> str:
- return 'utf-8'
-
- def encodings(self):
- return []
-
- @property
- def siteinfo(self):
- return self._siteinfo
+ pywikibot.site.BaseSite.__init__(
+ self, 'mock', MockFamily(), 'MyUser')
def __repr__(self) -> str:
return 'MockSite()'
- def __getattr__(self, attr):
- raise Exception(f'Attribute {attr!r} not defined')
-
self.mocksite = MockSite()
super().setUp()
@@ -201,15 +172,18 @@
parameters={'action': 'query', 'meta': 'siteinfo'})
anonpath = req._cachefile_path()
- self.mocksite._userinfo = {'name': 'MyUser'}
+ self.assertIsNone(self.mocksite.user())
+
+ self.mocksite._userinfo = {'name': 'MyUser', 'id': 4711}
self.mocksite._loginstatus = LoginStatus.AS_USER
req = CachedRequest(expiry=1, site=self.mocksite,
parameters={'action': 'query', 'meta': 'siteinfo'})
userpath = req._cachefile_path()
self.assertNotEqual(anonpath, userpath)
+ self.assertEqual(self.mocksite.user(), 'MyUser')
- self.mocksite._userinfo = {'name': 'MyOtherUser'}
+ self.mocksite._userinfo = {'name': 'MyOtherUser', 'id': 4712}
self.mocksite._loginstatus = LoginStatus.AS_USER
req = CachedRequest(expiry=1, site=self.mocksite,
parameters={'action': 'query', 'meta': 'siteinfo'})
@@ -217,6 +191,8 @@
self.assertNotEqual(anonpath, otherpath)
self.assertNotEqual(userpath, otherpath)
+ self.assertIsNone(self.mocksite.user())
+ self.assertEqual(self.mocksite.username(), 'MyUser')
def test_unicode(self) -> None:
"""Test caching with Unicode content."""
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1196999?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: I6cfd104a08b3ccb6a2a2fd24787c70e9e4cf25de
Gerrit-Change-Number: 1196999
Gerrit-PatchSet: 2
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]