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]

Reply via email to