jenkins-bot has submitted this change and it was merged.
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, 28 insertions(+), 22 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/api_tests.py b/tests/api_tests.py
index 1b0ee7d..3e3e61a 100644
--- a/tests/api_tests.py
+++ b/tests/api_tests.py
@@ -115,7 +115,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())
@@ -127,7 +128,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)
@@ -836,13 +838,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)
@@ -861,7 +863,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)
@@ -927,7 +929,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)
@@ -948,7 +950,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 1831672..903c107 100644
--- a/tests/dry_api_tests.py
+++ b/tests/dry_api_tests.py
@@ -180,13 +180,13 @@
def test_cachefile_path_different_users(self):
"""Test and compare the file paths when different usernames are
used."""
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)
@@ -194,7 +194,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)
@@ -206,13 +206,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')]")
@@ -237,14 +237,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."""
@@ -252,7 +254,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."""
@@ -260,7 +262,7 @@
site._userinfo = {'name': 'myusername', 'groups': []}
site._username[0] = 'myusername'
- Request(site=site, action='edit')
+ Request(site=site, parameters={'action': 'edit'})
class DryMimeTests(TestCase):
@@ -301,9 +303,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=join_images_path('MP_sounds.png'))
+ parameters = {'action': 'upload', 'file':
'MP_sounds.png',
+ 'filename': join_images_path('MP_sounds.png')}
+ req = Request(site=site, mime=True, parameters=parameters)
self.assertEqual(req.mime, True)
@@ -467,8 +469,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: merged
Gerrit-Change-Id: Ib9e55bdef4aca301ea44d132334bcd2a24047fd3
Gerrit-PatchSet: 3
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>