jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/651272 )
Change subject: [bugfix] fix api_tests.TestAPIMWException ......................................................................
[bugfix] fix api_tests.TestAPIMWException
Fix tests broken after: [IMPR] remove unneeded explicit params in fetch() and request() I335058809bf1c1732b305eac12a70cd1b82996d4
Bug: T270611 Change-Id: I559aa41b986f981e0cfcb514b5a935d4ce4c42fc --- M tests/api_tests.py 1 file changed, 9 insertions(+), 7 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/tests/api_tests.py b/tests/api_tests.py index eca078d..2c0b83a 100644 --- a/tests/api_tests.py +++ b/tests/api_tests.py @@ -42,25 +42,27 @@ 'servedby': 'unittest', }
- def _dummy_request(self, **kwargs): - self.assertIn('body', kwargs) + def _dummy_request(self, *args, **kwargs): + self.assertLength(args, 1) # one positional argument for http.request + site = args[0] + self.assertIsInstance(site, pywikibot.BaseSite) + self.assertIn('data', kwargs) self.assertIn('uri', kwargs) - self.assertIn('site', kwargs) - if kwargs['body'] is None: + if kwargs['data'] is None: # use uri and remove script path parameters = kwargs['uri'] - prefix = kwargs['site'].scriptpath() + '/api.php?' + prefix = site.scriptpath() + '/api.php?' self.assertEqual(prefix, parameters[:len(prefix)]) parameters = parameters[len(prefix):] else: - parameters = kwargs['body'] + parameters = kwargs['data'] parameters = parameters.encode('ascii') # it should be bytes anyway # Extract parameter data from the body, it's ugly but allows us # to verify that we actually test the right request parameters = [p.split(b'=', 1) for p in parameters.split(b'&')] keys = [p[0].decode('ascii') for p in parameters] values = [unquote_to_bytes(p[1]) for p in parameters] - values = [v.decode(kwargs['site'].encoding()) for v in values] + values = [v.decode(site.encoding()) for v in values] values = [v.replace('+', ' ') for v in values] values = [set(v.split('|')) for v in values] parameters = dict(zip(keys, values))