MtDu has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/330099 )
Change subject: Replace assertRaises with asserRaisesRegex in family_tests.py ...................................................................... Replace assertRaises with asserRaisesRegex in family_tests.py assertRaises is not as good of a test as asserRaisesRegex. The latter has an extra parameter to match the exception message, allowing more more precision when checking an error. Bug: T154281 Change-Id: Idb030c163f48f349f0adabd5c27dd90dac0d5b4b --- M tests/family_tests.py 1 file changed, 48 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/99/330099/1 diff --git a/tests/family_tests.py b/tests/family_tests.py index 41ab51d..c8c9b2f 100644 --- a/tests/family_tests.py +++ b/tests/family_tests.py @@ -28,6 +28,10 @@ """Test cases for Family methods.""" + UNKNOWNFAMILY_RE = 'Family unknown does not exist' + FAMILY_TYPEERROR_RE = 'Family.obsolete not updatable; ' \ + 'use Family.interwiki_removals and Family.interwiki_replacements' + FROZENSET_TYPEERROR_RE = '\'frozenset\' object does not support item assignment' net = False def test_family_load_valid(self): @@ -58,7 +62,11 @@ def test_family_load_invalid(self): """Test that an invalid family raised UnknownFamily exception.""" - self.assertRaises(UnknownFamily, Family.load, 'unknown') + self.assertRaisesRegex( + UnknownFamily, + self.UNKNOWNFAMILY_RE, + Family.load, + 'unknown') def test_eq_different_families_by_name(self): """Test that two Family with same name are equal.""" @@ -96,7 +104,11 @@ """Test that Family and string with different name are not equal.""" family = Family.load('wikipedia') other = 'unknown' - self.assertRaises(UnknownFamily, family.__eq__, other) + self.assertRaisesRegex( + UnknownFamily, + self.UNKNOWNFAMILY_RE, + family.__eq__, + other) def test_get_obsolete_wp(self): """Test three types of obsolete codes.""" @@ -132,14 +144,27 @@ def test_obsolete_readonly(self): """Test obsolete result not updatable.""" family = Family.load('test') - self.assertRaises(TypeError, family.obsolete.update, {}) - self.assertRaises(TypeError, family.obsolete.__setitem__, 'a', 'b') + self.assertRaisesRegex( + TypeError, + self.FAMILY_TYPEERROR_RE, + family.obsolete.update, + {}) + self.assertRaisesRegex( + TypeError, + self.FAMILY_TYPEERROR_RE, + family.obsolete.__setitem__, + 'a', + 'b') def test_WikimediaFamily_obsolete_readonly(self): """Test WikimediaFamily obsolete is readonly.""" family = Family.load('test') - self.assertRaises(TypeError, family.__setattr__, 'obsolete', - {'a': 'b', 'c': None}) + self.assertRaisesRegex( + TypeError, + self.FROZENSET_TYPEERROR_RE, + family.__setattr__, + 'obsolete', + {'a': 'b', 'c': None}) class TestFamilyUrlRegex(PatchingTestCase): @@ -185,8 +210,11 @@ self.assertEqual(f.from_url('//vo.wikipedia.org/wiki/$1'), 'vo') # Text after $1 is not allowed - self.assertRaises(ValueError, f.from_url, - '//vo.wikipedia.org/wiki/$1/foo') + self.assertRaisesRegex( + ValueError, + 'Text after the \$1 placeholder is not supported \(T111513\)', + f.from_url, + '//vo.wikipedia.org/wiki/$1/foo') # the IWM may contain the wrong protocol, but it's only used to # determine a site so using HTTP or HTTPS is not an issue @@ -225,6 +253,7 @@ """Test cases for old site.Family method.""" + UNKNOWNFAMILY_RE = 'Family unknown does not exist' net = False def test_old_site_family_function(self): @@ -251,9 +280,17 @@ # As assertRaises calls the method, unittest is the module # invoking the method instead of this test module. self._do_test_warning_filename = False - self.assertRaises(UnknownFamily, pywikibot.site.Family, 'unknown', - fatal=False) - self.assertRaises(UnknownFamily, pywikibot.site.Family, 'unknown') + self.assertRaisesRegex( + UnknownFamily, + self.UNKNOWNFAMILY_RE, + pywikibot.site.Family, + 'unknown', + fatal=False) + self.assertRaisesRegex( + UnknownFamily, + self.UNKNOWNFAMILY_RE, + pywikibot.site.Family, + 'unknown') self.assertDeprecationParts('pywikibot.site.Family', 'pywikibot.family.Family.load') self.assertDeprecationParts('fatal argument of pywikibot.family.Family.load') -- To view, visit https://gerrit.wikimedia.org/r/330099 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idb030c163f48f349f0adabd5c27dd90dac0d5b4b Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: MtDu <justin.d...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits