[MediaWiki-commits] [Gerrit] pywikibot/core[master]: Replace assertRaises with assertRaisesRegex in namespace_tes...

2017-12-10 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/396589 )

Change subject: Replace assertRaises with assertRaisesRegex in 
namespace_tests.py
..


Replace assertRaises with assertRaisesRegex in namespace_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: Ie6d334b2225cde1b2c4380b5e62b9860ba42a2fc
---
M tests/namespace_tests.py
1 file changed, 38 insertions(+), 20 deletions(-)

Approvals:
  John Vandenberg: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/namespace_tests.py b/tests/namespace_tests.py
index 9897f03..1b35582 100644
--- a/tests/namespace_tests.py
+++ b/tests/namespace_tests.py
@@ -229,6 +229,10 @@
 
 """Test static/classmethods in Namespace replaced by NamespacesDict."""
 
+CONTAINSINAPPROPRIATE_RE = 'identifiers contains inappropriate types: 
(.*?)'
+INTARGNOTSTRINGORNUMBER_RE = 'int\(\) argument must be a string or a 
number, not \'(.*?)\''
+NAMESPACEIDNOTRECOGNISED_RE = 'Namespace identifier\(s\) not recognised: 
(.*?)'
+
 net = False
 
 def test_resolve_equal(self):
@@ -269,26 +273,33 @@
 
 def test_resolve_exceptions(self):
 """Test Namespace.resolve failure."""
-self.assertRaises(TypeError, Namespace.resolve, [True])
-self.assertRaises(TypeError, Namespace.resolve, [False])
-self.assertRaises(TypeError, Namespace.resolve, [None])
-self.assertRaises(TypeError, Namespace.resolve, True)
-self.assertRaises(TypeError, Namespace.resolve, False)
-self.assertRaises(TypeError, Namespace.resolve, None)
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, [True])
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, [False])
+self.assertRaisesRegex(TypeError, self.INTARGNOTSTRINGORNUMBER_RE,
+   Namespace.resolve, [None])
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, True)
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, False)
+self.assertRaisesRegex(TypeError, self.INTARGNOTSTRINGORNUMBER_RE,
+   Namespace.resolve, None)
 
-self.assertRaises(KeyError, Namespace.resolve, -10)
-self.assertRaises(KeyError, Namespace.resolve, '-10')
-self.assertRaises(KeyError, Namespace.resolve, 'foo')
-self.assertRaises(KeyError, Namespace.resolve, ['foo'])
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, -10)
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, '-10')
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, 'foo')
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, ['foo'])
 
-self.assertRaisesRegex(KeyError,
-   r'Namespace identifier\(s\) not recognised: 
-10',
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
Namespace.resolve, [-10, 0])
-self.assertRaisesRegex(KeyError,
-   r'Namespace identifier\(s\) not recognised: 
foo',
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
Namespace.resolve, [0, 'foo'])
-self.assertRaisesRegex(KeyError,
-   r'Namespace identifier\(s\) not recognised: 
-10,-11',
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
Namespace.resolve, [-10, 0, -11])
 
 def test_lookup_name(self):
@@ -366,6 +377,9 @@
 
 """Test NamespacesDict.__getitem__."""
 
+VALIDNUMBER_RE = '-?(0|[1-9]\d*)'
+EMPTYTEXT_RE = '\s*'
+
 net = False
 
 def test_ids(self):
@@ -385,8 +399,10 @@
 namespaces = builtin_NamespacesDict()
 lower = min(namespaces.keys()) - 1
 higher = max(namespaces.keys()) + 1
-self.assertRaises(KeyError, namespaces.__getitem__, lower)
-self.assertRaises(KeyError, namespaces.__getitem__, higher)
+with self.assertRaisesRegex(KeyError, self.VALIDNUMBER_RE):
+namespaces[lower]
+with self.assertRaisesRegex(KeyError, self.VALIDNUMBER_RE):
+namespaces[higher]
 
 def test_canonical_name(self):
 """Test lookup by canonical namespace 

[MediaWiki-commits] [Gerrit] pywikibot/core[master]: Replace assertRaises with assertRaisesRegex in namespace_tes...

2017-12-09 Thread Divadsn (Code Review)
Divadsn has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/396589 )

Change subject: Replace assertRaises with assertRaisesRegex in 
namespace_tests.py
..

Replace assertRaises with assertRaisesRegex in namespace_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: Ie6d334b2225cde1b2c4380b5e62b9860ba42a2fc
---
M tests/namespace_tests.py
1 file changed, 38 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/89/396589/1

diff --git a/tests/namespace_tests.py b/tests/namespace_tests.py
index 9897f03..0a293ad 100644
--- a/tests/namespace_tests.py
+++ b/tests/namespace_tests.py
@@ -229,6 +229,10 @@
 
 """Test static/classmethods in Namespace replaced by NamespacesDict."""
 
+CONTAINSINAPPROPRIATE_RE = 'identifiers contains inappropriate types: 
(.*?)'
+INTARGNOTSTRINGORNUMBER_RE = 'int\(\) argument must be a string or a 
number, not \'(.*?)\''
+NAMESPACEIDNOTRECOGNISED_RE = 'Namespace identifier\(s\) not recognised: 
(.*?)'
+
 net = False
 
 def test_resolve_equal(self):
@@ -269,26 +273,33 @@
 
 def test_resolve_exceptions(self):
 """Test Namespace.resolve failure."""
-self.assertRaises(TypeError, Namespace.resolve, [True])
-self.assertRaises(TypeError, Namespace.resolve, [False])
-self.assertRaises(TypeError, Namespace.resolve, [None])
-self.assertRaises(TypeError, Namespace.resolve, True)
-self.assertRaises(TypeError, Namespace.resolve, False)
-self.assertRaises(TypeError, Namespace.resolve, None)
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, [True])
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, [False])
+self.assertRaisesRegex(TypeError, self.INTARGNOTSTRINGORNUMBER_RE,
+   Namespace.resolve, [None])
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, True)
+self.assertRaisesRegex(TypeError, self.CONTAINSINAPPROPRIATE_RE,
+   Namespace.resolve, False)
+self.assertRaisesRegex(TypeError, self.INTARGNOTSTRINGORNUMBER_RE,
+   Namespace.resolve, None)
 
-self.assertRaises(KeyError, Namespace.resolve, -10)
-self.assertRaises(KeyError, Namespace.resolve, '-10')
-self.assertRaises(KeyError, Namespace.resolve, 'foo')
-self.assertRaises(KeyError, Namespace.resolve, ['foo'])
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, -10)
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, '-10')
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, 'foo')
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
+   Namespace.resolve, ['foo'])
 
-self.assertRaisesRegex(KeyError,
-   r'Namespace identifier\(s\) not recognised: 
-10',
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
Namespace.resolve, [-10, 0])
-self.assertRaisesRegex(KeyError,
-   r'Namespace identifier\(s\) not recognised: 
foo',
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
Namespace.resolve, [0, 'foo'])
-self.assertRaisesRegex(KeyError,
-   r'Namespace identifier\(s\) not recognised: 
-10,-11',
+self.assertRaisesRegex(KeyError, self.NAMESPACEIDNOTRECOGNISED_RE,
Namespace.resolve, [-10, 0, -11])
 
 def test_lookup_name(self):
@@ -366,6 +377,9 @@
 
 """Test NamespacesDict.__getitem__."""
 
+VALIDNUMBER_RE = '-?(0|[1-9]\d*)'
+EMPTYTEXT_RE = '\s*'
+
 net = False
 
 def test_ids(self):
@@ -385,8 +399,10 @@
 namespaces = builtin_NamespacesDict()
 lower = min(namespaces.keys()) - 1
 higher = max(namespaces.keys()) + 1
-self.assertRaises(KeyError, namespaces.__getitem__, lower)
-self.assertRaises(KeyError, namespaces.__getitem__, higher)
+self.assertRaisesRegex(KeyError, self.VALIDNUMBER_RE,
+   namespaces.__getitem__, lower)
+self.assertRaisesRegex(KeyError, self.VALIDNUMBER_RE,
+   namespaces.__getitem__, higher)
 
 def test_canonical_name(self):