mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Replaced use of TestCase.fail() with assertRaises().
Also removed try/except/fail antipattern that hides exceptions.
This commit is contained in:
@@ -5,7 +5,6 @@ Unit tests for reverse URL lookups.
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
from admin_scripts.tests import AdminScriptTestCase
|
||||
|
||||
@@ -313,16 +312,9 @@ class URLPatternReverse(SimpleTestCase):
|
||||
|
||||
def test_patterns_reported(self):
|
||||
# Regression for #17076
|
||||
try:
|
||||
with self.assertRaisesMessage(NoReverseMatch, r"1 pattern(s) tried: ['people/(?P<name>\\w+)/$']"):
|
||||
# this url exists, but requires an argument
|
||||
reverse("people", args=[])
|
||||
except NoReverseMatch as e:
|
||||
pattern_description = r"1 pattern(s) tried: ['people/(?P<name>\\w+)/$']"
|
||||
self.assertIn(pattern_description, str(e))
|
||||
else:
|
||||
# we can't use .assertRaises, since we want to inspect the
|
||||
# exception
|
||||
self.fail("Expected a NoReverseMatch, but none occurred.")
|
||||
|
||||
@override_script_prefix('/script:name/')
|
||||
def test_script_name_escaping(self):
|
||||
@@ -339,7 +331,7 @@ class URLPatternReverse(SimpleTestCase):
|
||||
)
|
||||
|
||||
|
||||
class ResolverTests(unittest.TestCase):
|
||||
class ResolverTests(SimpleTestCase):
|
||||
@ignore_warnings(category=RemovedInDjango20Warning)
|
||||
def test_resolver_repr(self):
|
||||
"""
|
||||
@@ -359,10 +351,7 @@ class ResolverTests(unittest.TestCase):
|
||||
urls = 'urlpatterns_reverse.named_urls'
|
||||
proxy_url = reverse_lazy('named-url1', urlconf=urls)
|
||||
resolver = get_resolver(urls)
|
||||
try:
|
||||
resolver.resolve(proxy_url)
|
||||
except TypeError:
|
||||
self.fail('Failed to coerce lazy object to text')
|
||||
resolver.resolve(proxy_url)
|
||||
|
||||
def test_resolver_reverse(self):
|
||||
resolver = get_resolver('urlpatterns_reverse.named_urls')
|
||||
@@ -407,32 +396,31 @@ class ResolverTests(unittest.TestCase):
|
||||
[{'type': RegexURLResolver}, {'type': RegexURLPattern, 'name': None}],
|
||||
[{'type': RegexURLResolver}, {'type': RegexURLResolver}],
|
||||
]
|
||||
try:
|
||||
with self.assertRaisesMessage(Resolver404, "tried") as cm:
|
||||
resolve('/included/non-existent-url', urlconf=urls)
|
||||
self.fail('resolve did not raise a 404')
|
||||
except Resolver404 as e:
|
||||
# make sure we at least matched the root ('/') url resolver:
|
||||
self.assertIn('tried', e.args[0])
|
||||
tried = e.args[0]['tried']
|
||||
self.assertEqual(
|
||||
len(e.args[0]['tried']),
|
||||
len(url_types_names),
|
||||
'Wrong number of tried URLs returned. Expected %s, got %s.' % (
|
||||
len(url_types_names), len(e.args[0]['tried'])
|
||||
)
|
||||
e = cm.exception
|
||||
# make sure we at least matched the root ('/') url resolver:
|
||||
self.assertIn('tried', e.args[0])
|
||||
tried = e.args[0]['tried']
|
||||
self.assertEqual(
|
||||
len(e.args[0]['tried']),
|
||||
len(url_types_names),
|
||||
'Wrong number of tried URLs returned. Expected %s, got %s.' % (
|
||||
len(url_types_names), len(e.args[0]['tried'])
|
||||
)
|
||||
for tried, expected in zip(e.args[0]['tried'], url_types_names):
|
||||
for t, e in zip(tried, expected):
|
||||
self.assertIsInstance(t, e['type']), str('%s is not an instance of %s') % (t, e['type'])
|
||||
if 'name' in e:
|
||||
if not e['name']:
|
||||
self.assertIsNone(t.name, 'Expected no URL name but found %s.' % t.name)
|
||||
else:
|
||||
self.assertEqual(
|
||||
t.name,
|
||||
e['name'],
|
||||
'Wrong URL name. Expected "%s", got "%s".' % (e['name'], t.name)
|
||||
)
|
||||
)
|
||||
for tried, expected in zip(e.args[0]['tried'], url_types_names):
|
||||
for t, e in zip(tried, expected):
|
||||
self.assertIsInstance(t, e['type']), str('%s is not an instance of %s') % (t, e['type'])
|
||||
if 'name' in e:
|
||||
if not e['name']:
|
||||
self.assertIsNone(t.name, 'Expected no URL name but found %s.' % t.name)
|
||||
else:
|
||||
self.assertEqual(
|
||||
t.name,
|
||||
e['name'],
|
||||
'Wrong URL name. Expected "%s", got "%s".' % (e['name'], t.name)
|
||||
)
|
||||
|
||||
def test_namespaced_view_detail(self):
|
||||
resolver = get_resolver('urlpatterns_reverse.nested_urls')
|
||||
@@ -918,17 +906,11 @@ class DefaultErrorHandlerTests(SimpleTestCase):
|
||||
|
||||
def test_default_handler(self):
|
||||
"If the urls.py doesn't specify handlers, the defaults are used"
|
||||
try:
|
||||
response = self.client.get('/test/')
|
||||
self.assertEqual(response.status_code, 404)
|
||||
except AttributeError:
|
||||
self.fail("Shouldn't get an AttributeError due to undefined 404 handler")
|
||||
response = self.client.get('/test/')
|
||||
self.assertEqual(response.status_code, 404)
|
||||
|
||||
try:
|
||||
with self.assertRaises(ValueError):
|
||||
self.client.get('/bad_view/')
|
||||
except AttributeError:
|
||||
self.fail("Shouldn't get an AttributeError due to undefined 500 handler")
|
||||
with self.assertRaisesMessage(ValueError, "I don't think I'm getting good"):
|
||||
self.client.get('/bad_view/')
|
||||
|
||||
|
||||
@override_settings(ROOT_URLCONF=None)
|
||||
|
||||
Reference in New Issue
Block a user