summaryrefslogtreecommitdiff
path: root/tests/basic
diff options
context:
space:
mode:
authorMads Jensen <mje@inducks.org>2017-05-28 21:37:21 +0200
committerTim Graham <timograham@gmail.com>2017-07-29 19:07:23 -0400
commita51c4de1945be2225f20fad794cfb52d8f1f9236 (patch)
tree36386b70a27cf027a8a491de319c3e59e0d3d0cd /tests/basic
parent38988f289f7f5708f5ea85de2d5dfe0d86b23106 (diff)
downloaddjango-a51c4de1945be2225f20fad794cfb52d8f1f9236.tar.gz
Used assertRaisesMessage() to test Django's error messages.
Diffstat (limited to 'tests/basic')
-rw-r--r--tests/basic/tests.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/tests/basic/tests.py b/tests/basic/tests.py
index d55277c0f2..c44e17dd24 100644
--- a/tests/basic/tests.py
+++ b/tests/basic/tests.py
@@ -335,8 +335,8 @@ class ModelTest(TestCase):
self.assertEqual(article.headline, notlazy)
def test_emptyqs(self):
- # Can't be instantiated
- with self.assertRaises(TypeError):
+ msg = "EmptyQuerySet can't be instantiated"
+ with self.assertRaisesMessage(TypeError, msg):
EmptyQuerySet()
self.assertIsInstance(Article.objects.none(), EmptyQuerySet)
self.assertNotIsInstance('', EmptyQuerySet)
@@ -397,7 +397,8 @@ class ModelTest(TestCase):
def test_hash(self):
# Value based on PK
self.assertEqual(hash(Article(id=1)), hash(1))
- with self.assertRaises(TypeError):
+ msg = 'Model instances without primary key value are unhashable'
+ with self.assertRaisesMessage(TypeError, msg):
# No PK value -> unhashable (because save() would then change
# hash)
hash(Article())
@@ -618,7 +619,7 @@ class SelectOnSaveTests(TestCase):
with self.assertNumQueries(1):
asos.save(force_update=True)
Article.objects.all().delete()
- with self.assertRaises(DatabaseError):
+ with self.assertRaisesMessage(DatabaseError, 'Forced update did not affect any rows.'):
with self.assertNumQueries(1):
asos.save(force_update=True)
@@ -653,9 +654,13 @@ class SelectOnSaveTests(TestCase):
# This is not wanted behavior, but this is how Django has always
# behaved for databases that do not return correct information
# about matched rows for UPDATE.
- with self.assertRaises(DatabaseError):
+ with self.assertRaisesMessage(DatabaseError, 'Forced update did not affect any rows.'):
asos.save(force_update=True)
- with self.assertRaises(DatabaseError):
+ msg = (
+ "An error occurred in the current transaction. You can't "
+ "execute queries until the end of the 'atomic' block."
+ )
+ with self.assertRaisesMessage(DatabaseError, msg):
asos.save(update_fields=['pub_date'])
finally:
Article._base_manager._queryset_class = orig_class
@@ -688,7 +693,8 @@ class ModelRefreshTests(TestCase):
def test_unknown_kwarg(self):
s = SelfRef.objects.create()
- with self.assertRaises(TypeError):
+ msg = "refresh_from_db() got an unexpected keyword argument 'unknown_kwarg'"
+ with self.assertRaisesMessage(TypeError, msg):
s.refresh_from_db(unknown_kwarg=10)
def test_refresh_fk(self):