XZise has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/231971

Change subject: [IMPROV] tests: Use Request's parameters parameter
......................................................................

[IMPROV] tests: Use Request's parameters parameter

With b44e59ae the constructor of `Request` should expect the MW API parameter
only via `parameters`. This is implementing it for a few tests.

Change-Id: Ib9e55bdef4aca301ea44d132334bcd2a24047fd3
---
M tests/api_tests.py
M tests/dry_api_tests.py
2 files changed, 41 insertions(+), 29 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/71/231971/1

diff --git a/tests/api_tests.py b/tests/api_tests.py
index 822f70a..3945884 100644
--- a/tests/api_tests.py
+++ b/tests/api_tests.py
@@ -110,7 +110,8 @@
 
     def testObjectCreation(self):
         """Test api.Request() constructor with implicit site creation."""
-        req = api.Request(action="test", foo="", bar="test")
+        req = api.Request(parameters={'action': 'test', 'foo': '',
+                                      'bar': 'test'})
         self.assertTrue(req)
         self.assertEqual(req.site, self.get_site())
 
@@ -122,7 +123,8 @@
     def testObjectCreation(self):
         """Test api.Request() constructor."""
         mysite = self.get_site()
-        req = api.Request(site=mysite, action="test", foo="", bar="test")
+        req = api.Request(site=mysite, parameters={'action': 'test', 'foo': '',
+                                                   'bar': 'test'})
         self.assertTrue(req)
         self.assertEqual(req.site, mysite)
         self.assertIn("foo", req._params)
@@ -802,13 +804,13 @@
                   'titles': mainpage.title(),
                   }
         req1 = api.CachedRequest(datetime.timedelta(minutes=10),
-                                 site=mysite, **params)
+                                 site=mysite, parameters=params)
         data1 = req1.submit()
         req2 = api.CachedRequest(datetime.timedelta(minutes=10),
-                                 site=mysite, **params)
+                                 site=mysite, parameters=params)
         data2 = req2.submit()
         req3 = api.CachedRequest(datetime.timedelta(minutes=10),
-                                 site=mysite, **params)
+                                 site=mysite, parameters=params)
         data3 = req3.submit()
         self.assertEqual(data1, data2)
         self.assertEqual(data2, data3)
@@ -826,7 +828,7 @@
                   'titles': 'TestCachedRequest_test_internals ' + str(now),
                   }
         req = api.CachedRequest(datetime.timedelta(minutes=10),
-                                site=mysite, **params)
+                                site=mysite, parameters=params)
         rv = req._load_cache()
         self.assertFalse(rv)
         self.assertIsNone(req._data)
@@ -888,7 +890,7 @@
     def test_access_denied_notexist_username(self):
         """Test the query with a username which does not exist."""
         self.site._username = ['Not registered username', None]
-        req = api.Request(site=self.site, action='query')
+        req = api.Request(site=self.site, parameters={'action': 'query'})
         self.assertRaises(pywikibot.NoUsername, req.submit)
         # FIXME: T100965
         self.assertRaises(api.APIError, req.submit)
@@ -909,7 +911,7 @@
         if 'steward' in pywikibot.config.usernames:
             del pywikibot.config.usernames['steward']
 
-        req = api.Request(site=self.site, action='query')
+        req = api.Request(site=self.site, parameters={'action': 'query'})
         self.assertRaises(pywikibot.NoUsername, req.submit)
         # FIXME: T100965
         self.assertRaises(api.APIError, req.submit)
diff --git a/tests/dry_api_tests.py b/tests/dry_api_tests.py
index 5266256..53b3cef 100644
--- a/tests/dry_api_tests.py
+++ b/tests/dry_api_tests.py
@@ -48,17 +48,23 @@
 
     def setUp(self):
         super(DryCachedRequestTests, self).setUp()
-        self.parms = {'site': self.basesite,
-                      'action': 'query',
+        self.parms = {'action': 'query',
                       'meta': 'userinfo'}
-        self.req = CachedRequest(expiry=1, **self.parms)
-        self.expreq = CachedRequest(expiry=0, **self.parms)
-        self.diffreq = CachedRequest(expiry=1, site=self.basesite, 
action='query', meta='siteinfo')
-        self.diffsite = CachedRequest(expiry=1, site=self.altsite, 
action='query', meta='userinfo')
+        self.req = CachedRequest(expiry=1, site=self.basesite,
+                                 parameters=self.parms)
+        self.expreq = CachedRequest(expiry=0, site=self.basesite,
+                                    parameters=self.parms)
+        self.diffreq = CachedRequest(
+            expiry=1, site=self.basesite,
+            parameters={'action': 'query', 'meta': 'siteinfo'})
+        self.diffsite = CachedRequest(
+            expiry=1, site=self.altsite,
+            parameters={'action': 'query', 'meta': 'userinfo'})
 
     def test_expiry_formats(self):
         self.assertEqual(self.req.expiry,
-                         CachedRequest(datetime.timedelta(days=1), 
**self.parms).expiry)
+                         CachedRequest(datetime.timedelta(days=1), 
site=self.basesite,
+                                       parameters=self.parms).expiry)
 
     def test_expired(self):
         self.assertFalse(self.req._expired(datetime.datetime.now()))
@@ -137,13 +143,13 @@
 
     def test_cachefile_path_different_users(self):
         req = CachedRequest(expiry=1, site=self.mocksite,
-                            action='query', meta='siteinfo')
+                            parameters={'action': 'query', 'meta': 'siteinfo'})
         anonpath = req._cachefile_path()
 
         self.mocksite._userinfo = {'name': u'MyUser'}
         self.mocksite._loginstatus = 0
         req = CachedRequest(expiry=1, site=self.mocksite,
-                            action='query', meta='siteinfo')
+                            parameters={'action': 'query', 'meta': 'siteinfo'})
         userpath = req._cachefile_path()
 
         self.assertNotEqual(anonpath, userpath)
@@ -151,7 +157,7 @@
         self.mocksite._userinfo = {'name': u'MySysop'}
         self.mocksite._loginstatus = 1
         req = CachedRequest(expiry=1, site=self.mocksite,
-                            action='query', meta='siteinfo')
+                            parameters={'action': 'query', 'meta': 'siteinfo'})
         sysoppath = req._cachefile_path()
 
         self.assertNotEqual(anonpath, sysoppath)
@@ -162,13 +168,13 @@
         self.mocksite._loginstatus = 0
 
         req = CachedRequest(expiry=1, site=self.mocksite,
-                            action='query', meta='siteinfo')
+                            parameters={'action': 'query', 'meta': 'siteinfo'})
         en_user_path = req._cachefile_path()
 
         self.mocksite._namespaces = {2: [u'مستخدم']}
 
         req = CachedRequest(expiry=1, site=self.mocksite,
-                            action='query', meta='siteinfo')
+                            parameters={'action': 'query', 'meta': 'siteinfo'})
 
         expect = (u'MockSite()User(User:محمد الفلسطيني)' +
                   "[('action', 'query'), ('meta', 'siteinfo')]")
@@ -193,14 +199,16 @@
 
         del site._userinfo
         self.assertRaisesRegex(pywikibot.Error, ' without userinfo',
-                               Request, site=site, action='edit')
+                               Request, site=site,
+                               parameters={'action': 'edit'})
 
         # Explicitly using str as the test expects it to be str (without the
         # u-prefix) in Python 2 and this module is using unicode_literals
         site._userinfo = {'name': str('1.2.3.4'), 'groups': []}
 
         self.assertRaisesRegex(pywikibot.Error, " as IP '1.2.3.4'",
-                               Request, site=site, action='edit')
+                               Request, site=site,
+                               parameters={'action': 'edit'})
 
     def test_unexpected_user(self):
         """Test Request object when username is not correct."""
@@ -208,7 +216,7 @@
         site._userinfo = {'name': 'other_username', 'groups': []}
         site._username[0] = 'myusername'
 
-        Request(site=site, action='edit')
+        Request(site=site, parameters={'action': 'edit'})
 
     def test_normal(self):
         """Test Request object when username is correct."""
@@ -216,7 +224,7 @@
         site._userinfo = {'name': 'myusername', 'groups': []}
         site._username[0] = 'myusername'
 
-        Request(site=site, action='edit')
+        Request(site=site, parameters={'action': 'edit'})
 
 
 class DryMimeTests(TestCase):
@@ -257,9 +265,9 @@
         site = self.get_site()
         site._username[0] = 'myusername'
         site._userinfo = {'name': 'myusername', 'groups': []}
-        req = Request(site=site, action="upload",
-                      file='MP_sounds.png', mime=True,
-                      filename=os.path.join(_images_dir, 'MP_sounds.png'))
+        parameters = {'action': 'upload', 'file': 'MP_sounds.png',
+                      'filename': os.path.join(_images_dir, 'MP_sounds.png')}
+        req = Request(site=site, mime=True, parameters=parameters)
         self.assertEqual(req.mime, True)
 
 
@@ -419,8 +427,10 @@
 
     def test_query_constructor(self):
         """Test QueryGenerator constructor."""
-        qGen1 = QueryGenerator(site=self.get_site(), action="query", 
meta="siteinfo")
-        qGen2 = QueryGenerator(site=self.get_site(), meta="siteinfo")
+        qGen1 = QueryGenerator(site=self.site,
+                               parameters={'action': 'query', 'meta': 
'siteinfo'})
+        qGen2 = QueryGenerator(site=self.site,
+                               parameters={'meta': 'siteinfo'})
         self.assertCountEqual(qGen1.request._params.items(), 
qGen2.request._params.items())
 
 

-- 
To view, visit https://gerrit.wikimedia.org/r/231971
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib9e55bdef4aca301ea44d132334bcd2a24047fd3
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to