jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/657287 )
Change subject: Adopted context Manager call for assertRaises in certain script(s)
......................................................................
Adopted context Manager call for assertRaises in certain script(s)
Bug: T267801
Change-Id: I091828126064f3e4a47f0ad6671d202a9a969da3
---
M tests/api_tests.py
M tests/archivebot_tests.py
M tests/bot_tests.py
M tests/category_tests.py
4 files changed, 66 insertions(+), 50 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/api_tests.py b/tests/api_tests.py
index 2a5ccdc..69c850b 100644
--- a/tests/api_tests.py
+++ b/tests/api_tests.py
@@ -92,7 +92,8 @@
super().tearDown()
def _test_assert_called_with(self, req):
- self.assertRaises(api.APIMWException, req.submit)
+ with self.assertRaises(api.APIMWException):
+ req.submit()
pywikibot.warning.assert_called_with(
'API error internal_api_error_fake: Fake error message')
pywikibot.error.assert_called_with(
@@ -331,8 +332,9 @@
with patch.object(pywikibot, 'warning') as w:
pi.fetch('foobar')
- self.assertRaises(KeyError, pi.__getitem__, 'foobar')
- self.assertRaises(KeyError, pi.__getitem__, 'foobar+foobar')
+ with self.assertRaises(KeyError):
+ pi.__getitem__('foobar')
+ pi.__getitem__('foobar+foobar')
# The warning message may be different with older MW versions.
self.assertIn('API warning (paraminfo): ', w.call_args[0][0])
@@ -357,11 +359,13 @@
self.assertEqual(mod, pi[mod]['path'])
with patch.object(pywikibot, 'warning') as w:
- self.assertRaises(KeyError, pi.__getitem__, 'query+foobar')
+ with self.assertRaises(KeyError):
+ pi.__getitem('query+foobar')
# The warning message may be different with older MW versions.
self.assertIn('API warning (paraminfo): ', w.call_args[0][0])
- self.assertRaises(KeyError, pi.submodules, 'edit')
+ with self.assertRaises(KeyError):
+ pi.submodules('edit')
def test_module_paths(self):
"""Test module paths use the complete paths."""
@@ -471,9 +475,10 @@
def test_non_lazy_load(self):
"""Test OptionSet with initialised site."""
options = api.OptionSet(self.get_site(), 'recentchanges',
'show')
- self.assertRaises(KeyError, options.__setitem__, 'invalid_name', True)
- self.assertRaises(ValueError, options.__setitem__,
- 'anon', 'invalid_value')
+ with self.assertRaises(KeyError):
+ options.__setitems__('invalid_name', True)
+ with self.assertRaises(ValueError):
+ options.__setitem__('anon', 'invalid_value')
options['anon'] = True
self.assertCountEqual(['anon'], options._enabled)
self.assertEqual(set(), options._disabled)
@@ -500,13 +505,13 @@
options['anon'] = True
self.assertIn('invalid_name', options._enabled)
self.assertLength(options, 2)
- self.assertRaises(KeyError, options._set_site, self.get_site(),
- 'recentchanges', 'show')
+ with self.assertRaises(KeyError):
+ options._set_site(self.get_site(), 'recentchanges', 'show')
self.assertLength(options, 2)
options._set_site(self.get_site(), 'recentchanges', 'show',
True)
self.assertLength(options, 1)
- self.assertRaises(TypeError, options._set_site, self.get_site(),
- 'recentchanges', 'show')
+ with self.assertRaises(TypeError):
+ options._set_site(self.get_site(), 'recentchanges', 'show')
class TestDryOptionSet(DefaultDrySiteTestCase):
@@ -625,9 +630,10 @@
def test_namespace(self):
"""Test PageGenerator set_namespace."""
- self.assertRaises(AssertionError, self.gen.set_namespace, 0)
- self.assertRaises(AssertionError, self.gen.set_namespace, 1)
- self.assertRaises(AssertionError, self.gen.set_namespace, None)
+ with self.assertRaises(AssertionError):
+ self.gen.set_namespace(0)
+ self.gen.set_namespace(1)
+ self.gen.set_namespace(None)
class TestPropertyGenerator(TestCase):
@@ -785,9 +791,10 @@
self.gen = api.PageGenerator(site=self.site,
generator='links',
parameters={'titles': 'test'})
- self.assertRaises(AssertionError, self.gen.set_namespace, 0)
- self.assertRaises(AssertionError, self.gen.set_namespace, 1)
- self.assertRaises(AssertionError, self.gen.set_namespace, None)
+ with self.assertRaises(AssertionError):
+ self.gen.set_namespace(0)
+ self.gen.set_namespace(1)
+ self.gen.set_namespace(None)
def test_namespace_param_is_not_settable(self):
"""Test ListGenerator support_namespace."""
@@ -798,12 +805,14 @@
def test_namespace_none(self):
"""Test ListGenerator set_namespace with None."""
self.gen = api.ListGenerator(listaction='alllinks', site=self.site)
- self.assertRaises(TypeError, self.gen.set_namespace, None)
+ with self.assertRaises(TypeError):
+ self.gen.set_namespace(None)
def test_namespace_non_multi(self):
"""Test ListGenerator set_namespace when non
multi."""
self.gen = api.ListGenerator(listaction='alllinks', site=self.site)
- self.assertRaises(TypeError, self.gen.set_namespace, [0, 1])
+ with self.assertRaises(TypeError):
+ self.gen.set_namespace([0, 1])
self.assertIsNone(self.gen.set_namespace(0))
def test_namespace_multi(self):
@@ -816,7 +825,8 @@
"""Test ListGenerator set_namespace when resolve
fails."""
self.gen = api.ListGenerator(listaction='allpages', site=self.site)
self.assertTrue(self.gen.support_namespace())
- self.assertRaises(KeyError, self.gen.set_namespace, 10000)
+ with self.assertRaises(KeyError):
+ self.gen.set_namespace(10000)
class TestDryListGenerator(TestCase):
@@ -841,7 +851,8 @@
def test_namespace_none(self):
"""Test ListGenerator set_namespace with None."""
- self.assertRaises(TypeError, self.gen.set_namespace, None)
+ with self.assertRaises(TypeError):
+ self.gen.set_namespace(None)
def test_namespace_zero(self):
"""Test ListGenerator set_namespace with 0."""
@@ -964,9 +975,11 @@
"""Test the query with a username which does not
exist."""
self.site._username = 'Not registered username'
req = api.Request(site=self.site, parameters={'action':
'query'})
- self.assertRaises(pywikibot.NoUsername, req.submit)
+ with self.assertRaises(pywikibot.NoUsername):
+ req.submit()
# FIXME: T100965
- self.assertRaises(api.APIError, req.submit)
+ with self.assertRaises(api.APIError):
+ req.submit()
warning.assert_called_with(
'API error readapidenied: '
'You need read permission to use this module.')
@@ -987,9 +1000,11 @@
"""Test the query without a username."""
self.site._username = None
req = api.Request(site=self.site, parameters={'action':
'query'})
- self.assertRaises(pywikibot.NoUsername, req.submit)
+ with self.assertRaises(pywikibot.NoUsername):
+ req.submit()
# FIXME: T100965
- self.assertRaises(api.APIError, req.submit)
+ with self.assertRaises(api.APIError):
+ req.submit()
warning.assert_called_with(
'API error readapidenied: '
'You need read permission to use this module.')
diff --git a/tests/archivebot_tests.py b/tests/archivebot_tests.py
index e003172..0511929 100644
--- a/tests/archivebot_tests.py
+++ b/tests/archivebot_tests.py
@@ -94,10 +94,10 @@
self.assertEqual(archivebot.str2time('7d'),
archivebot.str2time('1w'))
self.assertEqual(archivebot.str2time('3y'), timedelta(1096))
self.assertEqual(archivebot.str2time('3y', date), timedelta(1095))
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2time,
- '4000@')
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2time,
- '$1')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2time('4000@')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2time('$1')
def test_checkstr(self):
"""Test for extracting key and duration from shorthand
notation."""
@@ -122,16 +122,16 @@
def test_str2size_failures(self):
"""Test for rejecting of invalid shorthand notation of
sizes."""
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2size,
- '4 KK')
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2size,
- 'K4')
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2size,
- '4X')
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2size,
- '1 234 56')
- self.assertRaises(archivebot.MalformedConfigError, archivebot.str2size,
- '1234 567')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2size('4 KK')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2size('K4')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2size('4X')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2size('1 234 56')
+ with self.assertRaises(archivebot.MalformedConfigError):
+ archivebot.str2size('1234 567')
class TestArchiveBot(TestCase):
diff --git a/tests/bot_tests.py b/tests/bot_tests.py
index 58f48db..d9cda8c 100644
--- a/tests/bot_tests.py
+++ b/tests/bot_tests.py
@@ -170,8 +170,8 @@
self.assertIs(exc, exception)
else:
self.assertIsNone(exc)
- self.assertRaisesRegex(StopIteration, '^$', next,
- self._page_iter)
+ with self.assertRaisesRegex(StopIteration, '^$'):
+ next(self._page_iter)
return exit
@@ -274,7 +274,8 @@
pywikibot.Page(self.de, 'Page 3')],
post_treat)
self.bot.exit = self._exit(2, exception=ValueError)
- self.assertRaisesRegex(ValueError, 'Whatever', self.bot.run)
+ with self.assertRaisesRegex(ValueError, 'Whatever'):
+ self.bot.run()
def test_Bot_KeyboardInterrupt(self):
"""Test normal Bot class with a KeyboardInterrupt in
treat."""
diff --git a/tests/category_tests.py b/tests/category_tests.py
index f250e71..152de60 100644
--- a/tests/category_tests.py
+++ b/tests/category_tests.py
@@ -30,8 +30,8 @@
def test_init(self):
"""Test the category's __init__ for one condition that
can't be dry."""
site = self.get_site()
- self.assertRaisesRegex(ValueError, self.NOCATEGORYNAMESPACE_RE,
- pywikibot.Category, site, 'Wikipedia:Test')
+ with self.assertRaisesRegex(ValueError, self.NOCATEGORYNAMESPACE_RE):
+ pywikibot.Category(site, 'Wikipedia:Test')
def test_is_empty(self):
"""Test if category is empty or not."""
@@ -155,9 +155,9 @@
self.assertEqual(tgt, cat2)
# Raise exception if target is fetched for non Category redirects.
- self.assertRaisesRegex(pywikibot.IsNotRedirectPage,
- self.NOREDIRECTPAGE_RE,
- cat2.getCategoryRedirectTarget)
+ with self.assertRaisesRegex(pywikibot.IsNotRedirectPage,
+ self.NOREDIRECTPAGE_RE):
+ cat2.getCategoryRedirectTarget()
class TestCategoryDryObject(TestCase):
@@ -190,8 +190,8 @@
self.assertTrue(cat_dup_ns.title(with_ns=False), 'Page:Foo')
self.assertTrue(cat_dup_ns.namespace(), 14)
- self.assertRaisesRegex(ValueError, self.NOCATEGORYNAMESPACE_RE,
- pywikibot.Category, site, 'Talk:Foo')
+ with self.assertRaisesRegex(ValueError, self.NOCATEGORYNAMESPACE_RE):
+ pywikibot.Category(site, 'Talk:Foo')
def test_section(self):
"""Test the section method."""
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/657287
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I091828126064f3e4a47f0ad6671d202a9a969da3
Gerrit-Change-Number: 657287
Gerrit-PatchSet: 4
Gerrit-Owner: Homeboy 445 <akshitsan13(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged